bigbaicai

芯方式是以开云棋牌官网在线客服人、电子工程师等电子行业相关领域从业人员为核心的知识经验学习、分享、交流社群。 凭借开放、合作、共赢的运营理念,聚集了来自国内外知名院校和顶尖科技公司的开云棋牌官网在线客服人、电子工程师。 我们致力于营造专业、认真、有温度的分享交流环境,将高质量的内容和方案成规模地生产和分享,帮助个人和团队在芯方式找到有价值的Key。 http://www.icfans.com/

如何把数据/代码放在Flash的固定位置?

0
阅读(1625)

[DESCRIPTION]
根据自身需求,客户有时候需要把某一段数据/代码放在Flash的某个固定地址
[SOLUTION]
如果需要把数据/代码放到Flash的固定地址,请参照如下操作步骤:
1. 首先要判断Flash上面,是否有足够的空闲空间存放这段数据.
请打开build\project\ckImgsize.log,找到如下资讯:
[Check VIVA bin size]
The Boundary of VIVA bin = xxxxx bytes
Actual VIVA End Address = yyyyy bytes
其中,Actual VIVA End Address的值表示的是,目前Code区域实际的大小; The Boundary of VIVA bin是表示
预留给Code的区域大小。实际值与预留值之间的差值,就是目前Flash的空闲大小.如果空闲空间足够,那就可以考虑把
数据放到Flash空闲区域的某个固定地址.来自开云棋牌官网在线客服社区
2. 把数据/代码编译链接生成customer binary 。为了操作简单,建议把customer bin放在工程中一起编译链接.
3. 在SV5(如:50/60/76)平台中,BIN都有一个GFH结构,所以为了能让Flash tool能否识别customer binary ,需
要给这个BIN添加一个GFH结构。
[关于这一点可以参考FAQ07397--------如何添加GFH头部和利用flash tool下载 ]
4. 为了让Flash tool顺利的把BIN放到固定地址,还需要对scatfile进行修改.
例如:如果要把数据放到0x400000开始的地址;[在这里要注意一点,在50/60平台Flash的起始地址是从0x1000
0000开始]
MY_ROM 0x10400000 0x00200000 //这里表示从0x400000开始,范围为0x200000
{
MY_GFH +0x0
{
* (MY_GFH, +First)
}
MY_ROM_1 +0x0
{
mytest.obj (+RO)
}
}
5. 修改scatfile之后,为了防止编译之后被覆盖,需要在scatfile文件的注释部分添加: [MAUI_12345678]

Baidu
map