打印

我的2407的代码超过了32kw,我怎么才能使用64k的代码空间呢?

[复制链接]
2911|4
手机看帖
扫描二维码
随时随地手机跟帖
楼主
wowow| | 2007-7-5 21:18 | 显示全部楼层 回帖奖励 |倒序浏览

两个办法

偶没有用过24xx,根据5000的经验,可以有两个办法:
1.如果你的程序里查找表,字库之类的占了不少,去掉这部分后刚好能放进内部flash,这样就很好办了,应该不用我讲了吧?

2.另外一个处理大程序的通用办法,所谓二次加载。将程序变成一张大数据表,存到外部flash中(5000有hex500.exe转换公具,2000可能也有吧),再编一个很小的程序,让它上电时通过spi加载进去,开始运行后,将2407改成MP模式,再把外面的程序搬进来,搬完后跳转过去运行。因此你要做的是:
a.将你的程序转成数据表,通常包含几个段,每段格式为:起始地址,长度,内容。。。
b.再将上面的数据表转成c语言数组格式
const char Prog[]={
....
};
c.写一个小项目将上面的数组写入外部flash
d.写一个小程序实现搬移程序
e.将搬移程序烧到外部flash并让它能加载

这只是个思路了,也许有更好的办法。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则