【经验】摩托车仪表上使用RL78系列MCU如何实现bootloader?
笔者遇到一个客户的摩托车仪表上面使用RL78系列的MCU,寻求bootloader实现功能的办法,做出demo板,以供他们的客户评估。因此本文以此背景为前提,分享相关思路及方法供大家参考。
一、工具
1、 RENESAS Flash Programmer V3.09(RFP)
该软件用来下载boot程序到MCU内部。
2、 XCOM V2.0.exe
该软件是串口调试助手,主要利用其自带协议功能发送app数据,进行升级。
3、 CS+ for CC
该软件是用于程序编写,编译等。
4、 srec_cat.exe
该软件针对CS+ for CC生成的APP.bin等文件进行分割合并填充等操作。
5、 MCU
MCU采用RL78/F13系列,PN为 R5F10BBF。
二、RL78 bootloader升级原理
图1 boot swap功能示意图
可以看到该flash区分为两个boot集群,程序启动时,从Boot集群0开始执行。RL78内部有boot swap功能,通过自编程向boot集群1写入一个新的boot引导程序。当程序已被正确写入boot集群1时,利用RL78 boot swap功能来交换boot集群1 和boot集群0,使得Boot cluster 0可以变成Boot cluster 1而Boot cluster 1变成Boot cluster 0,以使boot集群1用作boot区。进而实现bootloader功能。
具体而言,将bootloader程序存放于boot cluster 1里面,应用程序从Boot cluster 0执行,当程序判断相关条件,需要OTA时候,可以调用boot swap功能翻转boot cluster,然后reset,则原来的bootloader段变成了Boot cluster 0,可以执行OTA升级后的相关操作。即将新程序的Boot cluster 0内容写入Boot cluster 1,应用程序段写入地址0x4000开始的flash,OTA完成后,再调用boot swap,这时bootloader段自动翻转到原来的Boot cluster 1区域,新程序的boot区域回到Boot cluster 0,其中断向量表不受影响。
三、flash分区
本文以RL78/F13系列的R5F10BBF为例,通过查看数据手册,可以发现其有96K的code flash,其中boot集群分别在0x0-0x1FFF,0x2000-0x3FFF,其余0x4000-0x17FFF烧写其他代码。
四、具体操作
1、 boot程序编写
1) section设置
如上所述,只需要设置相对应的section地址分区即可,这里需要注意,生成代码应该在0-0x1FFF内,不能越界。
图2 bootloader程序section分区
2、 Application程序
应用程序段的代码正常编写即可,无需考虑中断向量表偏移等问题,因为程序正常运行,后续处理,是将原boot cluster 0的代码通过第三方工具迁移到Boot cluster 1区中,然后再运行boot swap函数,将Boot cluster 1区中相关代码放置在Boot cluster 0区域内。
1)section设置
图3 Application程序section分段
需要注意以下问题。
(1)0x2000-0x3FFF不能存放数据,该区域为boot cluster 1。
(2)划分一个App区域的boot区,把这个区域放在0x0000 to 0x1FFF. 如图3,.BOOT_f段。程序中可以使用预编译指令#pragma section来将相关代码放入这个区域,如下代码:
#pragma section text .BOOT
/* 写入自己的boot代码段 */
#pragma section
这段代码会放入.BOOT_f区域。请注意,需要从生成的map文件去判断这个区域不超过0x1FFF,即不与0x2000-0x3FFF Boot cluster 1段重合。
3、srec_cat.exe
使用第三方工具将Application生成的程序代码截取地址段在0x0-0x2000的程序,然后截取地址段在0x4000-0x18000,再偏移0x2000,与前述截取地址段在0x0-0x2000的程序合并输出。代码如下:
.\DefaultBuild\APP2.hex -intel
-fill 0xFF 0x0 0x2000
-crop 0x0 0x2000
.\DefaultBuild\APP2.hex -intel
-fill 0xFF 0x4000 0x18000
-crop 0x4000 0x18000 -offset -0x2000
-Output .\APP2_and_BOOT.bin -binary
4、XCOM V2.0.exe
通过XCOM V2.0.exe串口通信将application代码发送给单片机,再写入到指定地址,最后使用boot swap功能翻转复位即可。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由软饭硬吃提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关研发服务和供应服务
相关推荐
【经验】一文认识瑞萨RH850 MCU的RAM空间
Renesas(瑞萨电子)汽车大集成MCU RH850系列,集车身,底盘,发动机功能资源为一体,采用40nm工艺,符合ISO26262 ASIL-B~ASIL D的功能安全标准,支持HSM加密模块。本文主要介绍RH850系列MCU的 ram空间。
【经验】CS+开发瑞萨MCU RH850的ADC+DMA调试指引
Renesas的RH850 F1K是汽车车身控制的首选MCU,由于高性能和安全性得到汽车客户认可,但由于开发资料有限,导致许多客户开发比较头痛。近期有客户在使用DMA的开发中遇到了问题,下面结合F1K的开发板实现ADC+DMA的驱动设计。
【经验】关于瑞萨MCU RH850的option bytes配置说明
瑞萨MCU RH850比较特殊的地方,其中一点就是Option Bytes配置。Option Bytes实际上是一个扩展区域,用于保存用户上电初始化配置的参数。我们以RH850 F1L系列为例。
【应用】国产32位MCU BAT32G137助力摩托车仪表开发,具有丰富的功能外设
摩托车仪表开发MCU要求有:8路AD输入,GPIO输入输出,电机控制及LCD控制,结合客户要求推荐中微半导体的BAT32G137GH64FB(64pin)和BAT32G137GH48FA(48pin),客户考虑输入和输出的扩展性选用了两款32位MCU。
世强目前有代理riscv的mcu吗?
世强代理的RISC-V内核MCU厂家越来越多,还在不断增长。 国外厂家有瑞萨 【产品】瑞萨推出全新RISC-V MCU R9A02G020,优化先进电机控制系统设计和降低用户开发成本 国内厂家介绍如下: 广芯微内置32位RISC-V内核的PD SoC芯片UM3506,最高主频33MHz 全球首家全栈自研RISC-V内核的通讯接口芯片/全栈MCU供应商沁恒(WCH) RISC-V内核低功耗32位MCU,中移芯昇授权世强先进全线代理 芯昇科技携多款芯片产品亮相ICDIA,助力RISC-V生态发展 先楫半导体提供多系列通用MCU,以开源的RISC-V架构为核心,综合性能达世界领先水平 航顺芯片首次进入胡润全球独角兽榜,已量产中国第一颗M3+RISC-V多核MCU 中微半导体积极推动RISC-V架构安全化、智能化,共筑国产安全芯片生态 博流业界第一款基于RISC-V CPU的WI-FI+BLE双模SoC芯片,打造智慧家居AIoT芯片平台 璇玑CLE系列是核芯互联基于32位RISC-V内核推出的通用嵌入式MCU处理器 方寸微电子加入RISC-V产业联盟,推动安全芯片国产化,打破国外芯片技术垄断
摩托车数字仪表的应用场景下,中微半导体MCU BAT32A239可发挥出极高的性价比
中微半导(MicroChip)的BAT32A239是一款车规级微控制器(MCU),专为车载应用设计,具备丰富的集成外围功能以及出色的低功耗性能,在摩托车数字仪表的应用场景下,这款MCU可以发挥出极高的性价比。
【应用】8位MCU RJM8L151助力燃油摩托车仪表盘开发,带有SM4/AES-128/DES/TDES加解密功能
近期有客户开发燃油摩托车仪表盘,明确表示就是价格要足够便宜及带有AD功能,结合客户对成本的规划,瑞纳捷的8位8051内核的MCU成为了首选,本文将具体分析。
RL78/G24瑞萨MCU
型号- R7F101GBE,R7F101GBG,R7F101G7G2DNP,R7F101GBG4CNP,R7F101GJE,R7F101G7G4CNP,R7F101GJG,R7F101GBG2DNP,R7F101GFE,R7F101GEE3CNP,R7F101GFG,R7F101GJE3CFA,R7F101GBG2DFP,R7F101GAE3CSP,R7F101GFE3CFP,R7F101G7E4CNP,R7F101G7E2DNP,R7F101GEE4CNP,R7F101G7G3CNP,R7F101GAG3CSP,R7F101GFG3CFP,R7F101GBE2DNP,R7F101GBE4CNP,R7F101GGE,R7F101GEE2DNP,R7F101GGE4CFB,R7F101GGG,R7F101GBE2DFP,R7F101GJE2DFA,R7F101G7E3CNP,R7F101GJE4CFA,R7F101G6E,R7F101G8E3CLA,R7F101G8G2DLA,R7F101G6G,R7F101GGG3CNP,R7F101GAG2DSP,R7F101GFG2DFP,R7F101GAG4CSP,R7F101GGE2DNP,R7F101GLG3CFA,R7F101GLG,R7F101GGG3CFB,R7F101GLG3CFB,R7F101GLE2DFB,R7F101GEG4CNP,R7F101GLE2DFA,R7F101GBE3CNP,R7F101GEG2DNP,R7F101GGE2DFB,R7F101GBE3CFP,RL78/G24,R7F101GLE,R7F101GJG4CFA,R7F101G6E2DSP,R7F101G8G3CLA,R7F101G6E4CSP,R7F101G8E2DLA,R7F101G6G3CSP,R7F101G7E,R7F101G7G,R7F101GGG2DNP,R7F101GEG,R7F101GAE,R7F101GAG,R7F101GEG3CNP,R7F101GGE3CNP,R7F101GJG2DFA,R7F101GFE2DFP,R7F101GLE3CFB,R7F101GLG2DFB,R7F101GGG4CFB,R7F101GLE3CFA,R7F101GLG2DFA,R7F101GBG3CNP,R7F101GLL3XXXCFB#AA1,R7F101GGE3CFB,R7F101GGG2DFB,R7F101GEE,R7F101GAE4CSP,R7F101GJG3CFA,R7F101GBG3CFP,R7F101G6G4CSP,R7F101G8E,R7F101GAE2DSP,R7F101G8G,R7F101G6G2DSP,R7F101G6E3CSP
【经验】e2studio调试瑞萨MCU stack栈设置及查看
近期有客户使用e2studio调试瑞萨(Renesas)MCU时,需要查看栈的使用情况,通过软件找了一圈没有发现,感觉是没提供这个功能。其实e2studio是有的,本文介绍stack栈的调试窗调出。
RA系列MCU注入电流,防止损坏MCU应用笔记
描述- 本资料介绍了如何防止RA系列微控制器(MCU)因异常注入电流而损坏。内容包括推荐的注入电流条件、不同型号的参数限制以及额外的说明和建议,旨在指导用户在设计和应用过程中采取适当的措施以保护MCU免受损害。
型号- RA FAMILY,RA4T1,RA6T2,RA6T1,RA6T3,RA4M1,RA2L1,RA4M3,RA6M1,RA4M2,RA6M3,RA6M2,RA6M5,RA2E1,RA6M4,RA4E1,RA2E2,RA6E1,RA2A1,RA4E2,RA6E2
【经验】基于MCU CS+ RH850/F1K Boot开发指引
车载ECU开发都需要通过Boot实现在线升级,Boot是嵌在APP前面执行的程序,在需要更新APP代码时会对flash APP部分重新编程。近期有客户调试RH850/F1K MCU出现Boot跳到APP程序不能执行,下面以开发板为例实现Boot到APP。
【经验】关于瑞萨MCU RH850 C1M-A2的内存地址分配介绍
本文是关于瑞萨MCU RH850 C1M-A2的内存地址分配介绍,我们在设计瑞萨MCU RH850 C1M-A2的时候,对内存空间分布一定要有所了解。芯片内部flash和ram空间大小如下。
【经验】RA6快速设计指南之电源、仿真器支持及MCU工作模式
RENESAS将通过系列文章为大家介绍MCU RA6快速设计指南,方便各位工程师朋友更好地上手该系列芯片。本文重点介绍RA6快速设计指南之电源、仿真器支持及MCU工作模式。
【经验】瑞萨RL78系列MCU芯片R5F10BBF无法DEBUG问题分析
客户在使用R5F10BBF芯片时,反馈说如果使用代码生成器生成代码编译后,会无法进入DEBUG模式。经分析,是因为使用代码生成器时,没有配置DEBUG功能,致DEBUG功能被关闭,本文介绍2种解决方法。
【经验】MCU RH850/F1K舵机PWM调试分享
PWM常常作为电机控制、舵机控制等使用,也是开发中最常用的控制方式。PWM实现需要使用定时器,RH850有非常多的定时器,并且可以配置很多通道,下面以瑞萨MCU RH850/F1K的TAUJ0定时器作为PWM定时器,实现PWM输出。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论