瑞萨,尝试flash刷写代码放到ram中,OK

因为项目需要,要把boot代码里的flash驱动程序放到ram里,而且不能再flash里保存,之前没用过瑞萨的芯片,找了一大堆的参考文件看,后来发现还没有看它的说明文档好使。

把cc-rl用户手册看了一下。想到一个简单的方法,先把flash的驱动配置到ram中,在按照map文件中的地址,将bin文件中的二进制文件取出来,然后再软件里定义一个数组,地址指定在ram中的固定位置。这样是不是可以实现,接收驱动bin档后放到数组中,在程序里执行烧写命令。

先把想法记录下来,等有时间试一下。

隔了几天,总算把另一个项目整完了。今天实验一下,我之前的想法是否可以。

首先把flash驱动放到ram里。配置如图

打开map文件,可以看到flash放的位置

数据有726个字节,也挺大的了。不知道为什么弄这么大干啥,浪费资源。等有空试试自己写一个,是不是会小点。

跑题了,回来继续,打开编译后的hex文件,找到flash放置地址如图

把这段数据从hex文件里拷出来,单独放到一个hex文件中,可以通过can总线下发给设备。

为了验证数据是否正确,我把这段数据放到一个数组里,然后在代码里,把ram里放置flash驱动的段落清零,再把数组赋值到段落上。

在板子上跑了一遍,程序可以正常运行,可以把app段的flash擦掉。

这样的话,证明我的思路是正确的。等can总线调完了,再验证一下,能不能升级程序。先这样。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值