主题中讨论的其他器件:HALCOGEN、 LAUNCHXL2-570LC43
我的主要症状是在 CCS 控制台中、任何 printf 语句都会导致以下响应:
"无效的 CIO 命令(0)。 存储器映射阻止读取0x0800970C"
该存储器位置与 CIOBUF 段相对应、我认为该段是 printf 使用的临时数据、调试器会读取这些数据以显示 printf 语句。 (请参阅下面的)
在我的调试工作中、我注意到、只要这个 CIOBUF 部分的电压高于0x0800_8000、这个问题就会出现取决于 HalCoGen 配置的用户堆栈大小和二进制大小。 我的理论是、这可能是调试器上的配置设置(也许是 GEL 文件?) 而不是处理器/HAL 代码。
其他
- 禁用 MPU 任何不同的 nMPU 区域都不会影响该问题
- 根据应用程序二进制文件、这个问题间歇性出现(也许较小的堆栈分配会使 CIOBUF 符号更有可能下降到0x0800_8000以下)
- 没有与观察到的0x0800_8000边界相对应的 HalCoGen MPU 或 RAM 设置。
- 我在 CCS 之外构建我的二进制文件、但使用 CCS 来刷写二进制文件并使用调试器-在 CCS 使用的编译步骤和调试器配置之间、可能会丢失一个设置?
如果这是一个调试器、在参数或文件上设置任何要研究的指令将会很有帮助。 谢谢!

我的 hL_sys_link.cmd 文件:



