This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2340R2:IAR - RAM 中显然未使用的部分-如何获得回报?

Guru**** 2387830 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1397083/cc2340r2-iar---apparently-unused-portion-of-ram---how-to-gain-it-back

器件型号:CC2340R2

工具与软件:

IAR .icf 文件通过 RAM 中的矢量表定义存储器位置。  它位于 RAM 的开头、长度为1024字节。

 然而、这个存储器部分 被设置为全00s、并且从不更新到矢量表的内容。  有可能将其删除以恢复1024字节的 RAM。

能否就如何做到这一点提供一些建议?

谢谢!

随附该文件以供参考:

e2e.ti.com/.../ApplicationBLE.icf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Lenio:

    我目前正在尝试寻找一位专家来帮助解决您的问题。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    客户似乎了解了更多有关此问题的信息。 您能评论一下并提供一些意见吗?

    从0x2000 0000到0x2000 0400、RAM 中有一个未使用 的部分供用户使用、该部分原本希望分配给向量表。

     RAM 矢量表实际上在中的驱动程序文件 interrupt.c 中分配  

    C:\ti\simplelink_lowpower_f3_sdk_8_10_01_02\source\ti\devices\cc23x0r2\driverlib\interrupt.c  

     他们认为  vtable 位于 RAM 的开头、因为.icf 文件中有"place in RAM"命令。

    放置在 RAM{块 VTABLE、

            块 RWDATA、
            last section .heap_start};

    但`映射文件显示以下内容:

    "P3": 放置在[从0x2000'0000到0x2000'6fff]{
         块 VTABLE、块 RWDATA、最后一段.heap_start };

    此外、还有一个问题:

     VTABLE            0x2000'6500   256   0x8c  
      .ramVecs     uninit 0x2000'6500   256 0x8c    interrupt.c.obj [25]

     

    检查存储器后、填充第0x2000'6500节。  

    现在、应用程序正在分配足够的存储器、以进入0x2000 0000至0x2000 0400区域、现在就填充了一个信任为空的区域。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Lenio:

    很高兴他们引用了*。map 输出文件。  并且他们为矢量表找到了正确的位置。  您的客户是否 仍在尝试找到 其应用程序中 RAM 前1024个字节中到底保留的空间?  我认为这将 更加难以跟踪。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    他们现在还可以,只是想确保"修复"是有意义的。 谢谢!