Thread 中讨论的其他器件:SysConfig、 AM2434
工具/软件:
大家好!
有人能请解释一下、为什么我通过 SysConfig 声明并由内核 R00和 R01的链接器识别的不可缓存共享存储器在为内核 R00构建消息时与内核 R01的角度不同?
具体来说、我注意到在调试屏幕中的内核之间切换时存储器值存在差异。 我随附了两个屏幕截图、演示了此问题、以供参考。
我非常感谢您对为什么会发生这种情况以及如何解决这种问题的建议有任何见解。
谢谢、Baruch
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.
工具/软件:
大家好!
有人能请解释一下、为什么我通过 SysConfig 声明并由内核 R00和 R01的链接器识别的不可缓存共享存储器在为内核 R00构建消息时与内核 R01的角度不同?
具体来说、我注意到在调试屏幕中的内核之间切换时存储器值存在差异。 我随附了两个屏幕截图、演示了此问题、以供参考。
我非常感谢您对为什么会发生这种情况以及如何解决这种问题的建议有任何见解。
谢谢、Baruch
大家好!
我已经确定了导致该问题的根本原因、即两个内核之间的同一存储器段显示方式不同。 问题在于 AM2434上的核心 R01在启用缓存的情况下运行、即使我在 SysConfig 中将该区域声明为不可缓存。
为解决此问题、我在写入到共享存储器区域之前禁用了 R01上的缓存。 之后、两个内核始终如一地查看共享存储器。
我仍在寻找一种更好的解决方案、确保所有内核都以真正不可缓存的方式访问共享存储器区域。
谢谢、
Baruch
大家好!
我为我正在使用的所有内核添加了另一个具有共享不可缓存段的区域、这解决了我遇到的问题。
但是、我仍然担心、因为现在同一存储器区域有两个重叠声明:
一个 RAM 覆盖地址处的整个内部 RAM0x70000000
、大小为2MB。
另一个在同一内部 RAM 的开头定义了一个256KB 区域。
我试图通过启动地址处的内部 RAM 段来避免这种重叠0x70800000
、但在这种情况下、内核在初始启动期间卡住、无法到达该main()
功能。
此致、
Baruch