logo资料库

瑞萨单片机在线升级程序说明.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
瑞萨单片机在线升级操作说明 说明:共有两个程序代码,上电复位运行 Bootload 程序,然后检查 EEPROM 里面是否置位,如果置位,则需要进行 APP 代码更新, 否则运行已有的 APP 代码。 一、使用瑞萨单片机 R5F2L357C 为例 该单片机 ROM 资源如下, 1、块 A-D 为数据闪存,未用。 2、默认 ROM 空间起始地址为 0x4000h 3、中断向量分为固定向量和可变向量,默认地址分别为: 固定向量 Fvector:0xFFD8-0xFFFF 可变向量 vector:0xFED8(至偏移 256 字节处) 工程文件中可查:
在 fvector.c 文件中 #pragma sectaddress fvector,ROMDATA 0xFFD8 我们要修改的两个程序代码空间分配为 1、APP 用户程序代码编译出来有 35.4K 的空间 ,存放在块 2、块 3 和块 4,共 40K 的空间, 地址为 04000h-0DFFFh 2、Bootload 程序代码编译出来有 5.2K 的空间,存放在块 0 和块 1,共 8K 的空间,地址为 0E000h-0FFFFh。 二、Bootload 程序代码制作 1、修改 ROM 空间的起始地址,默认为 0x4000,改为 0xE000,如下所示。
编译完成后,可直接烧录该文件。 三、APP 用户代码制作(I_Collector_Update) 1、修改 APP 用户代码的固定向量和可变向量地址:
将 vector 地址由 0xFED8 改为 0x0DED8 在 fvector.c 文件中 #pragma sectaddress #pragma sectaddress 重新编译下,可以看出,地址不超出 0x0e000,在块 2 范围内 fvector,ROMDATA 0xffd8 改为 fvector,ROMDATA 0xdfd8 将编译的 mot 文件用 FDT4.09 工具打开另存为.bin 文件, 用 UltraEdit 打开.bin 文件,将 0x4000-0xe000 地址以外的数据删除,保存。此文件为在线烧 录更新的文件。 这个文件可以用电脑串口发给单片机,单片机接收后 IAP,自动运行。 四、系统运行 1、上电后,系统从 bootload 程序地址为 0FFFCh 上电复位,检测 EEPROM 存储器是否置位,如置 位,则需要更新 APP 应用程序,否则从 APP 应用程序的复位地址 0DFFC 处执行。 2、上位机和单片机通信使用了 X-mode 协议。每个数据帧为 128 个字节。
分享到:
收藏