我的数学模型在 dsam 中有许多全局变量,ADS 会自动扩展并将这些变量放到 psram 中,但是 psram
的这些变量总是异常,例如下面的代码部分,在这个模型中我必须得到 " 1,但我总是得到 " 0",当我调试这个部分时",我发现
Test_Memory 变成 1 到 0,这是不正确的。
但是当我将这个变量从 psram 移动到其他 dsram 时,我会得到正确的 " 1 结果",有什么建议吗?
谢谢
uint8 Test_Memory=1; //Psramif(Test_Memory) return 1;else return
0; // Always return 0, incorrect and Test_Memory
abnormal///////////////////////////////////////uint8
Test_Memory=1; //Move to Dsramif(Test_Memory) return 1; // return
correct valueelse return 0;
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/Aurix-Tricore-TC277-global-variable-abnormal-with-dsram-and-psram/td-p/645705
共2条
1/1 1 跳转至页
使用dsram和psram时AurixTricoreTC277全局变量异常的原因?
关键词: dsram psram Aurix Tricore
2楼
在使用Aurix Tricore TC277时,全局变量异常的原因可能是由于DSRAM和PSRAM之间的访问速度或访问时间不同,以及DSRAM和PSRAM之间的数据传输问题。
建议您尝试以下方法来解决这个问题:
1. 确保DSRAM和PSRAM的访问速度相近:检查Aurix Tricore TC277的文档,查看DSRAM和PSRAM的访问速度是否相似,如果速度不同,尝试将全局变量放在访问速度较快的内存中。
2. 检查内存访问延迟:PSRAM的访问时间可能会比DSRAM更长,因此可能需要增加访问PSRAM的延迟时间。尝试在访问PSRAM之前添加一些延迟,以确保数据能够正确地传输。
3. 检查数据传输问题:DSRAM和PSRAM之间的数据传输可能存在问题。尝试使用其他数据传输方法,例如使用DMA来传输数据,以避免数据传输错误。
4. 检查编译器优化选项:某些编译器优化选项可能会影响对全局变量的访问。尝试禁用编译器优化选项,看看是否有改善。
5. 尝试使用其他存储器类型:如果DSRAM和PSRAM都无法正常工作,可能需要考虑使用其他类型的存储器,例如存储器闪存或外部存储器。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |