完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我预订了一个闪存(程序)内存页来允许我的应用程序存储配置(它也可以与引导加载程序共享)——这工作得很好,但是内存保留在链接器脚本中,我可以在应用程序(源代码)中保留,也可以在应用程序中能够在应用程序中获得它的位置和大小。设备是PIC32MZ2048EFG064。在链接器脚本MEMORY区域内,我已更改并添加;我试过使用;在应用程序源中,但这并没有从十六进制文件输出中删除它(功能!链接脚本中的RW)有什么想法吗?提前感谢
|
|
相关推荐
9个回答
|
|
尝试在声明中的属性中添加“persistent”:注意,可以通过逗号分隔单个_.((xxx))操作符中的多个属性。
|
|
|
|
谢谢JdGuiar,但我不认为这已经解决了它至少包含了持久的属性,变量仍然显示在内存映射输出中。
|
|
|
|
你可以用几种不同的方式来做到这一点。我认为,最简单的方法是简单地不定义AppFlashReserve.[],而是通过结构指针访问这个保留区域。如果您仍然喜欢旧的方法,那么可以调用作为MPLABX一部分的hexmate来截断PFM的最后一页。
|
|
|
|
aschen0866-这不能回答我的问题。我要么保留区域(如不可读或可写),要么确定链接器区域存在,并且在应用程序中具有正确的大小和位置。
|
|
|
|
嗨,我已经在应用程序代码中定义了类似的内存区域,而不必修改链接器脚本:示例,如果地址是预定义的,那么C编译器非常渴望将整个区域初始化为零,如果程序中没有指定初始化值。告诉编译器让正在使用的闪存不编程的简单方法。属性(持久性)被记录为与程序闪存不相关。在图形应用程序中,大型数组是用十六进制数据初始化的。在这种情况下,256行或1024行:如果可以控制引导加载程序,则可以修改引导加载程序以忽略16字节0xFF的序列,并与闪存四字对齐。或者修改引导加载程序以忽略为共享闪存区域保留的内存区域。迈西尔
|
|
|
|
嗨,Mysil,我的引导加载程序已经被修改为忽略这个区域,链接器脚本可以工作,但是最好使用预处理器来测试这个区域,如果使用了错误的链接器则发出警告。
|
|
|
|
迈克尔,在最初的问题中,对于你发展的环境和目标只有不清楚的描述。在一次集思广益的会议上,我认为立即否定所有提出的建议是不合适的。其他成员不知道已经存在什么可能性。考虑一下。如果这主要是关于要由引导加载程序编程的应用程序映像,我认为最好使用未修改的链接器脚本。因此,按照这个线程中几个贡献的建议,在C代码中定义共享数据区域。在所讨论的内存区域中,对于所讨论的区域,在十六进制文件中放置什么内容链接器并不重要。我不知道编译器访问和解析Linker脚本的方法。我曾使用过几次能够加载程序十六进制的引导加载器系统。使用普通链接器脚本链接的文件,没有任何修改,用于引导加载器环境。至少对于不使用中断的应用程序代码。迈西尔
|
|
|
|
您可以在链接器脚本中创建符号并在代码中访问它们,这样的操作可能会起作用:
|
|
|
|
这是标准C(对于文件范围变量或其他具有静态持续时间的变量):如果没有初始化器列表,或者如果初始化器的数量小于数组的大小,则未指定的元素被初始化为零。我发现了“noload”,我没有用XC32进行测试,但是对于XC16项目,我已经成功地使用noload属性获取了整个数组中的所有参数,程序在运行时将存储校准参数、时间戳等。它是在XC32文档中(最近版本的第3.4.3.4节),所以我认为它值得一试。我发现程序文档更简单,并且代码更容易维护和移植,如果这样的东西在源代码中而不是依赖于特殊的链接器文件。但我想那只是我,我很滑稽。问候,戴夫
|
|
|
|
只有小组成员才能发言,加入小组>>
5317 浏览 9 评论
2072 浏览 8 评论
1977 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3248 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2285 浏览 5 评论
830浏览 1评论
723浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
669浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
722浏览 0评论
618浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-31 10:30 , Processed in 1.090077 second(s), Total 62, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号