FLASH布局如何修改

发布于 2022-05-27 23:04:58

微信截图_20220527221202.png
W801的FLASH布局如上图,留给应用程序的FLASH只有1M左右,DEMO多打开几个就超过了,编译会报错误,咨询几个问题:
1、这个布局图里各个部分都是固定吗?在不影响正常使用的时候哪些部分肯定不能动,哪些部分有可能可以修改?
2、User Area区域如果没有使用能设小吗?能不能为0?如果可以如何设置?
3、如果不远程更新程序,使用不到Image OTA Area,这个区域可以设小或设为0吗?如何设置?

查看更多

关注者
0
被浏览
1.4k
ZYQ
ZYQ 2022-05-28
我已不再支持W80X任何相关问题的回复,请大家不要私信,有问题找 isme 谢谢

编译报错的话要具体情况具体分析,这个不一定是程序空间不够,当然也不能直接否认,需要看具体报错内容。
1、Flash 布局各个部分的不是严格固定的,是可以修改的,像RF SYSTEM PARAM 这些最好不要改动的
2、User Area 区域如果你的整个系统中确实没有要写入的东西是,可以变小的,将空间全部用于存放程序代码都是可以的 只需要找到 gcc_csky.ld 链接文件,修改I-SRAM 的长度就可以,注意需要你计算ORIGIN + LENGTH 的结果不要超过SYSTEM PARAM 的其实地址就可以。
image.png
3、如果远程功能确实是用不上的话也是可以将其直接划分为程序空间的<程序中OTA升级的代码就不要使用了,如果有需要的话需要修改对应的宏定义>,做法基本和上一步一致,所不同的是,要修改 ORIGIN 和 LENGTH ,需要注意的是 程序的 ORIGIN 要保持0x400地址对齐,至于原因的话手册上讲的很清楚,当然通过内核手册也可以知道原因;这里就不再赘述了;Run Image Header 地址可以紧挨着SecBootImage Area 的结束地址,然后LENGTH 需要加上对应的长度即可,修改好后找到aft_build_project.sh脚本文件,将其中的run_img_header 和run_img_pos 改成你定义的地址就可以了,重新编译代码就可以了
image.png

1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览