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.
工具/软件:TI C/C++编译器
您好!
我有一个基于 F28377的项目、其中包含 CCS V8、TI 编译器 C2000 v18.1.2。
由于内存 RAM 空间至关重要、我会观察哪个 RAM 变量发生在映射中。
我正在使用 CIO、并且已经为堆大小配置了0x2000。 (我不知道我是否可以减小 它、也不知道我是否可以减小它…)
在链接器文件中、我有以下用于测试的内容:
RAM_VAR1:origin = 0x01902E、length = 0x002500
…μ A
.esysmem:>RAM_VAR1,page = 1//堆
.cio:>RAM_VAR1,page = 1//仅用于调试
然后在.Map 文件中、我们可以看到以下内容:
1 0001902e _sys_memory
1 0001b040 __CIOBUF_
为什么 CIOBuf 从1b040开始? 我们可以期望从0x1902E + 0x2000 = 0x1B02E 开始。
如果需要重新点火、我希望它位于0x1B030、但不是1b040!
所以我输了18个字!
我 在其他变量的映射文件中多次看到此行为(但在声明为"align(4)"的段上)。 但是、即使在这种情况下、我也希望每个0x10 => 0x00、0x10、0x20等都具有 ALIGNement。
是我不明白的吗?
注:如果我从19000开始部分,CIO 从1B000开始....
谢谢
1 00018d28 __TI_ENABLE_EXIT_PROFILE_OUTPUT |
1 00018d2a __TI_clean_ptr |
1 00018d2c __TI_dptors _ptr |
1 00018d2e _sys_memory |
1 0001ad40 __CIOBUF_ |
[引用 user="a GIR"]因此我丢失了18个字!
感谢您报告此问题。 我可以重现类似的结果。 我不知道为什么会发生这种情况。 因此、我在 SDOWP 系统中提交了 CodeGen-4875、以对其进行调查。 欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。
谢谢、此致、
乔治
您好!
CodeGen-4875在 SDOWP 系统中仍然不可用?
抱歉。 CodeGen-4875未标记为公共视图。 我刚刚更改了它。 该更改需要几个小时才能在系统中传播。 请重试。
谢谢、此致、
乔治