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.
工具与软件:
您好、我正在检查 AM2634并在 CCS 20.0.1.4中配置了示例项目。
当我进入系统配置程序时、默认配置是闪存中有一个具有属性"Read、Write、Execute、Initialize"的存储器区域。
我想知道、为什么我可以将.text 和.rodata 段移至闪存、"Memory Allocation"视图显示这些段仅在闪存中分配、而不是在 OCRAM 中分配。 我选择了"运行代码存储器"和"只读数据"作为闪存(见下图)。
根据我从 AM2634的数据表和 TRM 中了解到的、该器件不支持从闪存执行代码、因此应在执行之前复制到 RAM 中、并在 OCRAM 中分配存储器。
它难道也不应该出现在"Memory Allocation"视图的 OCRAM 部分中、或者是否可以在不进行复制的情况下直接从闪存执行该部分?
您能在这里帮我吗?
它不应该也出现在内存分配视图的 OCRAM 部分中、或者是否可以在不复制之前直接从闪存执行此部分?
我不确定我是否 完全理解这个问题、但我想您想知道为什么可以为.text 和.rodata 选择闪存区域。 如果是、那么答案是存储器配置器不会检查这是否对您的器件是明智的决定。 您可以选择它、但它无法正常工作。
如果您进行此选择对 TI 来说至关重要、是否会对您构成挑战。
您好、Thomas:
我 可以确认您的理解是正确的 - AM2634不支持 从闪存直接执行代码。 CCS 内存配置 视图看起来存在错误、应在下一版本中修复。
下面是应该发生的情况:
在引导期间:
考虑 CCS 行为:
更深入地探究存储器属性:
能否在这里详细说明用例、以及运行程序时得到的输出? 我想确认这是否只是视觉和 SysConfig 问题、或者是否也存在功能问题。
谢谢。此致、
Akshit