完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
你好,我在project.address(0x09000)中包括了一个文件feprom.c,它定义了数据将被保存在哪里。我希望在主函数中能够更改它,所以有时我可以保存它以应付(0x09000)和有时保存它(0x08000)。
|
|
相关推荐
2个回答
|
|
|
地址属性在编译时固定(就像数组的名称一样)。编译器和链接器使用此来保留闪存的那个区域,用于存储在那里的数据。在运行时移动main()函数并不比物理地移动特定函数的指令更困难。…还有一个问题:移动一个功能将是非常困难的!(但这并不意味着它不能完成。)如果希望在运行时使用多个区域并在两个区域之间进行选择,那么最简单的方法是将其定义为多维数组,并使用变量作为指向所需特定元素的索引或指针。您可以更改链接器脚本来定义.FasaseEPRM输出部分,以便从地址0x08000开始。它仍然将emulaonPages数组放在由属性指定的0x09000地址处,但是在0x8000和emulaonPages数组的开始之间存在间隙,如果需要的话,可以使用该间隙。运行时的帽子。
|
|
|
|
|
|
明白了,谢谢你这么详细的解释。我已经在做类似的事情,但是只是为了增加内存。我想我可以做同样的事情来改变这一切。u builtin_tblpage(&emulaonPages)+0x0400;这会改变它,所以如果我把它改成_u builtin_tblpage(&emulaonPages)+0x0400+bbb;定义为0x1000或0x2000,在这种情况下会擦除不同的区域。只需要添加相同的读取、写入、擦除功能即可,而不用调用EraseEprom(0,0x2000):-)
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:25 , Processed in 0.693098 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
651