【经验】以汽车级32bit MCU RH850为例说明如何配置自编程库FCL实现bootloader
Bootloader又称引导加载程序,它是系统加电后运行的第一段软件代码,可以实现用户程序的引导启动和固件自更新两个功能。其中固件自更新需要向芯片提供额外的数据传输介质使得芯片能将接收到的机器代码写入自身的Flash中。一般写flash都是通过仿真器或专用的编程器,而当产品完成交付使用过程中,通过仿真器或编程器进行程序重新刷写是不现实的事情,所以,通过通信接口进行用户程序的维护和功能升级则被广泛的应用于现在的电子产品单元中,汽车电子也不例外。
由于汽车电子所采用的是CAN通讯,所以后期应用程序的维护和升级通过CAN接口来实现,那么MCU如何通过CAN来实现更新呢?以瑞萨电子汽车级32bit MCU RH850为例,提供一个FCL库用于bootlaoder中对flash擦除,编程和校验等操作,采用CAN 总线作为Bootloader的通信介质,基于CAN 总线的Bootloader需要在CAN 协议的基础上完成数据传输和命令执行的协议,就可以实现产品的功能升级。
FCL如何嵌入并应用到程序中呢?以下我们就来了解下基于瑞萨电子的集成环境CS+如何加载配置FCL库以实现bootloader。
首先选择FCL的工作模式,如下:
R_FCL_COMMAND_EXECUTION_MODE
R_FCL_HANDLER_CALL_INTERNAL (internal mode) :internal模式不需要轮询库的状态,在自编程命令执行期间没有状态值的返回,直到命令执行结束。消耗RAM空间小。
R_FCL_HANDLER_CALL_USER (user mode): user模式,用户代码运行在RAM区,在自编程命令执行期间,可以运行用户代码,用户可以轮询库的运行状态。需要消耗一定的RAM空间。
用户可以根据实际应用,定义库支持的功能,以减少库的代码量。
其次,配置FCL库基础的参数,以保证与用户硬件一致,如下:
图一,FCL参数配置
FCL_CPU_FREQUENCY_MHZ:CPU工作频率配置,请不要在库的运行期间改变CPU的工作频率,如果需要改变,改完后必须重新初始化FCL库。
FCL_AUTHENTICATION_ID:如果设备设置了ID验证码,需要提供相应的ID码,在FCL初始阶段需要验证ID,如果ID验证不通过,不能成功执行FCL命令。
FCL_RAM_ADDRESS:根据相应的设备配置RAM起始。
然后,在编译环境的section中进行FCL的段配置,如下:
图二,FCL段设置
如上图,
1. FCL库的代码段请按照如图样例设置。在这些代码段中请不要插入其他段。
2. FCL_RESERVED.bss段: 在RAM中存放FCL库运行的代码,即复制上面代码段的内容到此RAM中。如果定义了R_FCL_HANDLER_CALL_USER,则用户代码R_FCL_CODE_USER.text也此RAM中运行。
在实际应用中定义FCL_RESERVED预留的大小,大小必须包含该库代码量和用户代码量(如果定义了R_FCL_HANDLER_CALL_USER )。
/* This array reserves the copy area in the device RAM */
#define FCL_RAM_EXECUTION_AREA_SIZE 0x8000
R_FCL_NOINIT uint8_t FCL_Copy_area[FCL_RAM_EXECUTION_AREA_SIZE];
3. R_FCL_DATA.bss:FCL内部运行数据段。
如此以上,编译后即可使用FCL库进行bootloader的底层操作。
最后,友情提示:
在CS+环境下,FCL编译后会出现3个对齐失配警告,请忽略。
W0561322:Section alignment mismatch : "R_FCL_CODE_USR.text"
W0561322:Section alignment mismatch : "R_FCL_CODE_RAM.text"
W0561322:Section alignment mismatch : "R_FCL_CODE_ROMRAM.text
- |
- +1 赞 0
- 收藏
- 评论 5
本文由落叶萧萧提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】关于瑞萨CS+编译器debug查看变量值的技巧
我们在使用瑞萨的CS+编译器开发RH850的MCU时,在调试的过程中,往往需要查看变量值的变化。这时候,我们需要将该变量添加到debug的watch1窗口当中,但是如果通过打断点的方式,将程序停在哪里,再去观察变量值,会发现变量值是不太准的。
【经验】瑞萨RH850基于CS+Smart Configurator开发调试GPIO
本文介绍瑞萨RH850开发环境搭建,Smart Configurator生成外设配置代码。安装软件采用CS+ V8.04.00,安装步骤比较简单,有说安装软件必须安装C盘的,通过实践验证安装在D盘同样可以使用。
【经验】如何解决32位汽车微控制器RH850自带的ADC采集精度不准的问题?
某日接到某客户反馈问题,其在产品上面使用RENESAS RH850系列32位汽车微控制器自带的ADC时,发现数值不是很准确,比手册数值大,波动大致0.02V,但是ADC自诊断测试数值很准。
【经验】RH850 MCU内置的智能加密单元ICU,保护车辆ECU系统免遭篡改或盗窃损害
瑞萨电子RH850 MCU内置的智能加密单元ICU很好的解决了这些问题,将秘钥存储在单独的存储区域中,CPU无法直接访问,需要通过专用机制来增强实际的防篡改功能,支持高端的加密操作如RSA,ECC等;可以提供防止软件操纵,连接硬件和软件,安全启动,网络节点中ECU的验证等安全服务。
【经验】RH850内置Dataflash中使用RFP进行擦除的操作说明
Dataflash的使用有一定的规则,首先了解下Dataflash的内部原理特性。一般来说,DataFlash的编程原理都是只能将 1 写为 0,而不能将 0 写为 1。所以在DataFlash编程之前,必须将对应的块擦除,而擦除的过程就是把所有位都写为 1 的过程,块内的所有字节变为 0xFF。本文将介绍使用Renesas的RH850系列的MCU时,使用RFP擦除整个chip的操作。
【经验】Renesas32位汽车微控制器RH850使用uart中断接收的方法
瑞萨RH850系列32位汽车微控制器(MCU)在各种可扩展的产品中提供高性能和极低的功耗。该系列提供新的和先进的汽车应用所需的丰富功能安全和嵌入式安全功能。RH850系列采用瑞萨电子40纳米工艺。
【经验】瑞萨RH850 CANFD全局接收FIFO buffer中断处理报文的方法介绍
在使用瑞萨(Renesas)RH850的CANFD进行通信时,有多种通信接收和发送的方法可以使用,本文主要介绍使用CANFD 全局接收FIFO buffer中断处理CANFD报文的方法。
【经验】如何在程序中修改RH850芯片的复位向量
本文介绍瑞萨RH850芯片如何修改复位向量。MCU的复位向量指的是MCU上电后,所跑的第一条指令所在的地址。车载器件需要以bootloader方式来升级程序,而bootlaoder将MCU的程序代码段分为两个代码段,甚至更多代码段。
【经验】瑞萨32位汽车微控制器RH850 ADC通道&ScanGroup模块设置介绍
RENESAS推出的RH850系列32位汽车微控制器(MCU)在各种可扩展的产品中提供高性能和极低的功耗。该系列提供新的和先进的汽车应用所需的丰富功能安全和嵌入式安全功能。本文中将为大家介绍改微控制器的ADC通道&ScanGroup模块设置。
【经验】RH850 MCU CSI使用从模式,应该这样来操作,否则无法接收
笔者在使用瑞萨RH850的MCU时,要使用SPI的从模式接收和发送,所以在设置时,将发送和接收同时使能,但无论如何,通过仿真watch寄存器配置均正常,竟然收不到数据;而如果只打开接收使能,却可以正常收到数据;这是怎么回事呢?本文具体介绍。
【经验】瑞萨MCU RH850系列使用DaVinci配置工具的基本操作步骤
瑞萨RH850系列可以使用GHS开发环境,那么对于DaVinci配置工具的使用方法对于许多人比较陌生,以下简要介绍一下DaVinci配置工具的使用方法。DaVinci相关软件包工具可以在瑞萨官网下载。
【经验】瑞萨RH850系列32位汽车微控制器缩短MCU上电初始化时间的方法
瑞萨RH850系列32位汽车微控制器(MCU)在各种可扩展的产品中提供高性能和极低的功耗。该系列提供新的和先进的汽车应用所需的丰富功能安全和嵌入式安全功能。
【经验】汽车级MCU RH850编程时如何设置ID码?
嵌入式程序设计时,为了保证不被破解或任意的修改,通常都采用ID加密的方式来进行单片机程序的保护。使用ID加密可以提高解密的难度,也是加密方式中最简单的一种方法。本文以瑞萨电子汽车级MCU RH850为例,介绍使用配套的开发工具E1和Renesas Flash Programming(以下简称RFP)来进行ID设置时,具体如何设置。
Achieving A Root of Trust With Secure Boot in Automotive RH850 and R-Car Devices
Renesas R-Car devices leverage hardware as the secure root of trust for building dependable, secure systems.
【经验】瑞萨32位MCU RH850 CS+环境设置的几个重要问题
本文以入门阶段遇到的问题为重点,讲解了瑞萨32位MCU RH850在CS+环境下新建一个完整的工程到顺利调试需要注意的几个设置。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
加工精度:精密平面磨床正负0.002;铣床正负0.02,ZNC放电正负0.01。CNC加工材料:铝、钢、聚合物等材料。专注于半导体行业、医疗器械、汽车行业、新能源行业、信息技术行业零部件加工。
最小起订量: 1个 提交需求>
查看全部1条回复
查看全部1条回复
查看全部4条回复