ra4m3通过usb实现固件升级
1、固件更新应用案例
(1)修复程序错误
(2)功能升级
2、首先必须规划好bootloader和application的空间分配。如下图所示,案例使用r7fa4m3af3cfb,有1m的rom。bootloader从0x000000开始存储,结束地址为0x1ffff,所占空间大小为0x20000;application从0x20000开始存储,结束地址为0x000fffff,所占空间大小为0xe0000。
3、创建一个bootloader工程,添加usb_hmsc、flash、rtc和crc等外设。其中usb添加主机大容量存储类(hmsc)驱动程序,它实现了usb hmsc接口,可从usb大容量存储设备中读取、写入和擦除数据。
4、使用rtc设置系统时间。
5、初始化flash驱动,然后在data flash中读取设备设置的log。
6、初始化usb驱动,等待usb设备插入,如果检测到有usb设备插入,将会根据文件0:put image here/update.txt中的内容,找到相应的***.srec文件,并打开文件读写数据(将文件内容解析后烧写到application对应的地址空间),读写完成后将文件名改为0:put image here/loaded.txt,表示已完成数据读写。
7、根据信息类型擦除data flash中的数据,擦除成功后写入新的设备设置参数。
8、在属性→设置中输出srec格式文件作为bootloader烧录文件。
9、将bootloader烧录到ek-ra4m3开发板上。首先,利用j-flash lite将ra4m3整片擦除,然后将ra4m3_hmsc_nortos.srec烧写到芯片中,由于此时app部分内容为空,红色led闪烁(按下reset大概10秒后,红色led闪烁)。
10、打开e2 studio新建application工程,用来验证可以通过bootloader成功升级application,若成功升级,三颗led灯会不停地闪烁。
11、打开memory_regions.ld文件,flash_length = 0x100000;更新为flash_length = 0xe0000;
由于bootloader占用了0x20000大小,因此对于ek-ra4m3来说,仅剩下0x100000-0x20000=0xe0000大小可供application使用。
12、application工程生成srec格式文件,下图红框位置勾选 section: -j .text & -j .data,使得application project仅生成code flash对应的内容。
13、准备一个u盘(fat32格式),在里面建一个文件夹,命名为“put image here”,将ra4m3_blinky.srec文件添加进去
14、update.txt文件里面添加ra4m3_blinky.srec
15、将u盘插入,开发板上电,当前运行的代码是bootloader,由于此时尚未执行application升级,因此led2常亮,按下复位键,使得bootloader重新运行,执行application代码升级,可以看到led灯按照ra4m3_blinky程序闪烁。将u盘插回电脑查看“put image here”文件夹,可以看到update.txt变为loaded.txt,程序升级成功。
end
无人机为什么需求增长了
MCS51单片机的数据复制程序(ASM)
苹果认为法院的禁令只适用于运行较旧版iOS操作系统的iPhone
华为P10闪存门最新消息:供应链不足是国产手机的最大命门!
DDR内存条对比分析
RA4M3通过USB实现固件升级
无缝高清矩阵切换器和传统的矩阵切换器有什么区别?
关于英特尔物联网的发展之路的介绍和说明以及对未来的展望
DRAM需求仍大于供给,南亚科营运状况良好
5G技术如何助力坂田打造国内领先的智慧产城社区?
蓄电池生产工艺(板栅生产工具介绍)
广东移动和中兴通讯实现了港珠澳大桥的5G网络全面覆盖
电子元器件分销商贸泽电子推出《爆款拆评》系列视频
如何正确接线示波器差分探头呢?
DS1842A应用电路,提供APD偏置输出和快速电流监测
谷歌Waymo:自动驾驶汽车测试加快,计划年底展开商业性无人驾驶服务
高精度农业土壤肥料养分检测仪的功能介绍
物联网金融已经落地了吗
深圳未知君生物宣布完成数千万美元B+轮融资
Wi-Fi MIMO 802.11n的优势和面临的挑战