完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在我的应用程序中,我使用共享内存中的初始化数据用于用户界面。内存位于 SRAM2 中的 0x30020000。两个核心都需要访问相同的数据。
此代码放置在 Common 目录中,以便在编译时分别为 CM4 和 CM7 提取它。 当我在编译后查看内存详细信息时,我得到了 CM4 的以下内容: 对于 CM7,我得到: 所以在这两种情况下,根据内存详细信息,变量 uiDisplayArea 的地址是 0x30020960。请记住,无论我使用优化 -O0 还是 -O3 都没有关系,以上两个快照始终相同。 在我的代码中,我使用以下语句准备转储此变量的内存地址:
最后我需要的是两个内核之间的变量地址是相同的,无论我使用的是什么优化级别。鉴于上述行为,我不知道如何实现这一点。 |
|
相关推荐
1个回答
|
|
好吧,与此同时,我已经能够运行我的代码了。我认为我遇到的问题与以下事实有关,即除非将变量嵌入到结构中,否则无法控制变量的顺序。在我将共享内存的所有变量放在一个结构中之后,代码开始正常运行。
在调试期间将优化模式从 -O0 更改为 -Og 后,我开始注意到不同的 VMA 地址。我仍然不清楚为什么报告的 VMA 与运行时报告的实际地址不同。无论如何,它现在正在工作。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2607 浏览 1 评论
3201 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1774 浏览 1 评论
3599 浏览 6 评论
5978 浏览 21 评论
930浏览 4评论
1306浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
574浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1293浏览 3评论
1349浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-17 09:18 , Processed in 0.888110 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号