首先需要知道:在KEIL中修改地址比较方便,在KEIL的Target中直接分配; 在MRS中无法这样修改,MRS中定义数组之后是由程序主动分配地址的,而无法达到程序员去手动分配的效果,这时候我们需要手动修改LD文件。
修改的办法是开辟一段空间,然后将数组放进去。例如:现在定义一个数组的大小为8K,那么我可以将原来的FLASH分区为FLASH1(440K)和FLASH2(8K),把数组放在FLASH2中。注意:如果FLASH2定义为8K,数组定义为9K,那么将该定义放入FLASH2中程序会报错。
具体修改(3个地方)见下图:
修改之后编译,此时FLASH空间已成功分配。
如果报错,1、请检查一下分配地址时是否有断开,如448K的FLASH,只分配了200K;
2、是否有重叠,如分配RAM时,首地址从0开始,抢占了FLASH的区域。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。