完善资料让更多小伙伴认识你,还能领取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):-)
|
|
|
|
只有小组成员才能发言,加入小组>>
5244 浏览 9 评论
2035 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3209 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2260 浏览 5 评论
779浏览 1评论
672浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
598浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
682浏览 0评论
579浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 01:48 , Processed in 1.188198 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号