【经验】以汽车级32bit MCU RH850为例说明如何配置自编程库FCL实现bootloader

2020-05-20 世强
汽车级32bit MCU,RH850,Renesas 汽车级32bit MCU,RH850,Renesas 汽车级32bit MCU,RH850,Renesas 汽车级32bit MCU,RH850,Renesas

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

技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 5

本文由落叶萧萧提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

评论

   |   

提交评论

全部评论(5

  • 用户33922725 Lv2 工程师 2022-03-10
    请问一下,FCL库在RAM中运行的部分可以单独拿出来吗?就是让程序每次编译时只编译FCL库在Flash中运行的部分,在RAM中运行程序每次升级之前作为数据包接收过来放到RAM中和之前编译到Flash中的程序配合运行,可以这样吗?或者是否可以将整个FCL库拿出来,每次进行升级时,MCU再接收FCL库数据整体放到RAM中运行,期待回复,感谢!
    • Park回复: 你好,经了解FCL可以单独拿出来,可以参考以下文章介绍:【经验】以MCU RH850/F1x为例介绍如何将CODE定义到RAM中https://www.sekorm.com/news/30577020.html,可以单独把驱动编译出来保留使用。

      查看全部1条回复

  • 用户33922725 Lv2 工程师 2022-03-10
    一个项目中使用的瑞萨RH850芯片,在开发BootLoader时,因为考虑升级程序的可靠性,现在想将Flash Driver(FCL库)不固定到Flash中,想将Flash Driver(FCL库)数据包在每次升级程序之前单独传过来放到RAM中,请问一下,FCL库在RAM中运行的部分可以单独拿出来吗?就是让程序每次编译时只编译FCL库在Flash中运行的部分,在RAM中运行程序每次升级之前作为数据包接收过来放到RAM中和之前编译到Flash中的程序配合运行,可以这样吗?或者是否可以将整个FCL库拿出来,每次进行升级时,MCU再接收FCL库数据整体放到RAM中运行?
    • 用户21008489_世强回复: 先选择FCL工作模式,配置FCL库的基础参数,根据芯片型号设置RAM的起始地址,然后在section中的FCL_RESERVED.bss段为在RAM中存放FCL库运行的代码,即复制上面代码段的内容到此RAM中。如果定义了R_FCL_HANDLER_CALL_USER,则用户代码R_FCL_CODE_USER.text也在此RAM中运行。瑞萨FCL自编程库提供了很多接口函数,需要结合实际应用掉用不同接口函数。

      查看全部1条回复

  • 这一生关于你的风景 Lv3 高级工程师 2020-08-11
    请问如果RH850要BootLoader通过CAN实现软件升级,如果又要保存数据到DataFlash,FCL库和FDL库可以一起用吗 提问来源:https://www.sekorm.com/news/32243486.html
    • VincenLiu_世强回复: 可以的,你可以参考FCL,将FDL相关代码放到对应代码段,操作时会拷贝到RAM运行。

      查看全部4条回复

  • 用户33922725 Lv2. 工程师 2022-03-10
    请问一下,FCL库在RAM中运行的部分可以单独拿出来吗?就是让程序每次编译时只编译FCL库在Flash中运行的部分,在RAM中运行程序每次升级之前作为数据包接收过来放到RAM中和之前编译到Flash中的程序配合运行,可以这样吗?或者是否可以将整个FCL库拿出来,每次进行升级时,MCU再接收FCL库数据整体放到RAM中运行,期待回复,感谢!
  • 这一生关于你的风景 Lv3. 高级工程师 2020-08-11
    请问如果RH850要BootLoader通过CAN实现软件升级,如果又要保存数据到DataFlash,FCL库和FDL库可以一起用吗
没有更多评论了

相关推荐

【经验】RH850系列32位MCU的CSIH和CSIG接口功能区别详解

瑞萨RH850系列作为在汽车业界首屈一指的32位MCU,在汽车行业应用广泛,从涉及到安全的发动机的电喷,EPS等到仪表,车载娱乐系统都有RH850系列MCU的身影。该系列采用最新的40nm工艺,功能安全方面符合ASIL-B,ASIL-C,ASIL-D等级。笔者最近碰到使用CSI接口的客户咨询RH850\F1L的CSIG和CSIH接口的区别,二者均是CSI接口。

设计经验    发布时间 : 2018-06-15

【经验】以RH850/F1KM为例解析使用E2进行仿真调试编程的电路连接应用

Renesas E2是瑞萨新一代推出的用于支持MCU的片上调试仿真器和闪存编程器,是上一代瑞萨E1高度器的升级版调试器。本文以瑞萨电子32bit汽车级MCU RH850/F1KM为例,描述使用E2进行仿真调试编程的电路连接应用。

设计经验    发布时间 : 2021-10-13

【经验】浅析Renesas32位MCU RH850F1L FLASH擦除掉电保护问题

Renesas推出的RH850系列32位MCU在广泛且可扩展的产品范围内提供平衡的高性能和极低的功耗,该系列提供了新的和高级汽车应用所需的丰富功能安全和嵌入式安全特性。本文浅析Renesas32位MCU RH850F1L FLASH擦除掉电保护问题。

设计经验    发布时间 : 2022-11-17

Renesas Unveils Processor Roadmap for Next-Gen Automotive SoCs and MCUs

Renesas Electronics Corporation, a premier supplier of advanced semiconductor solutions, today laid out plans for its next-generation system on chips (SoCs) and microcontrollers (MCUs) targeting all major applications across the automotive digital domain.

厂牌及品类    发布时间 : 2023-11-10

【经验】关于瑞萨MCU RH850的option bytes配置说明

瑞萨MCU RH850比较特殊的地方,其中一点就是Option Bytes配置。Option Bytes实际上是一个扩展区域,用于保存用户上电初始化配置的参数。我们以RH850 F1L系列为例。

设计经验    发布时间 : 2022-12-17

【经验】32位车规级MCU RH850 F1L出现异常的调试及启动配置说明

Renesas RH850 F1L作为32位车规级MCU受到许多车厂及Tier1喜欢,近期有Tier1客户在使用该MCU过程中出现无法正常启动的情况,并且是切换到铜线时才出现,感觉非常奇怪,本文就该MCU启动问题排查过程做如下介绍。

设计经验    发布时间 : 2023-03-16

【经验】瑞萨RH850基于CS+Smart Configurator开发调试GPIO

本文介绍瑞萨RH850开发环境搭建,Smart Configurator生成外设配置代码。安装软件采用CS+ V8.04.00,安装步骤比较简单,有说安装软件必须安装C盘的,通过实践验证安装在D盘同样可以使用。

设计经验    发布时间 : 2021-02-18

【经验】汽车级MCU RH850使用FCL初始化不成功,别忘了预留这块空间!

以瑞萨电子汽车级MCU RH850为例,由于要实现对自身flash的改写,瑞萨电子针对bootloader提供了FCL库文件给用户,用于进行flash的擦除,编程和校验等操作,来实现bootloader功能。是否直接调用FCL就可以实现bootloader功能了?笔者遇到一个问题,搭建好了bootloader工程,添加好了库文件,点击运行,系统竟然跑飞了,怎么一回事呢?

设计经验    发布时间 : 2020-05-10

【经验】Renesas32位汽车微控制器RH850工具链流程浅谈

Renesas推出的RH850系列32位汽车微控制器(MCU)在各种可扩展的产品中提供高性能和极低的功耗。该系列提供新的和先进的汽车应用所需的丰富功能安全和嵌入式安全功能。

设计经验    发布时间 : 2023-03-16

【经验】车载MCU RH850升级过程断电后再次升级失败问题的解决方法

Renesas(瑞萨)RH850系列是基于V850产品推出的更高性能的车载MCU,涵盖了汽车应用的各个场景,并针对不同的应用场景需求推出了相应的产品系列。由于车载电子产品对安全性能的要求较高,要模拟各种运行场景进行测试,因而收到不少客户关于在线升级的反馈,即在升级过程中如果将系统断电,再次启动后将更新失败。本文将对该问题的产生原因进行解析,并提出解决方法。

设计经验    发布时间 : 2019-09-08

【经验】RH850 D1x深度睡眠模式下使用INTP作为唤醒源失效的三个原因分析

Renesas瑞萨的汽车级32bit MCU RH850也是如此,如定时器唤醒、CAN唤醒、外部中断唤醒等等,其中较为常用的是外部中断唤醒,CAN唤醒本质上也是外部中断唤醒。本文主要介绍了RH850 D1x在深度睡眠模式下,使用INTP作为唤醒源时唤醒失效的各种潜在原因。

设计经验    发布时间 : 2020-06-11

【经验】浅析Renesas RH850系列32位MCU命名规则

平时我们进行MCU选型或者公司高中低产品线都有的时候,使用的MCU型号过多,难以分清,这时候在找手册,相当没有效率,此时简单记一下比较重要的命名参数显得十分必要。本文中笔者将以Renesas推出的RH850 F系列的MCU进行简单的说明。

设计经验    发布时间 : 2023-03-15

【经验】解析瑞萨32位汽车微控制器RH850F1KM-S4 ADC采集电位器的过程

针对瑞萨(Renesas)车载RH850系列MCU进行功能模块拆分,为初学者提供最简化历程方法。本文通过插接官方历程加以笔者描述理解,将ADC采集电位器的过程进行讲解。

设计经验    发布时间 : 2022-07-20

【经验】MCU在DeepSTOP下,如果没有外部中断的唤醒,还可以通过什么来唤醒呢?

低功耗设计,是每个电子工程师在产品程序构建前所面临的一个重要问题。低功耗的指标决定了系统是否节能,电池寿命是否延长等因素。而一般MCU所具有的低功耗模式也有很多中,包括HALT,STOP等等。以瑞萨汽车级32bit MCU RH850为例,其增加了deepstop模式,可以非常大限度的降低MCU功耗至uA级。MCU在DeepSTOP下,如果没有外部中断的唤醒,还可以通过什么来唤醒呢?

设计经验    发布时间 : 2019-12-17

用户指南  -  RENESAS  - Rev.1.00  - Jul.20.22 PDF 英文 下载

展开更多

电子商城

查看更多

只看有货

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥257.6400

现货: 11,759

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货: 91,056

品牌:RENESAS

品类:Diodes

价格:¥0.0511

现货: 58,500

品牌:RENESAS

品类:MOSFET

价格:¥1.2134

现货: 52,653

品牌:RENESAS

品类:MOSFET

价格:¥1.9902

现货: 44,500

品牌:RENESAS

品类:MOSFET

价格:¥6.0884

现货: 39,396

品牌:RENESAS

品类:microcontroller

价格:¥2.8532

现货: 37,726

品牌:RENESAS

品类:MOSFET

价格:¥0.9533

现货: 31,100

品牌:RENESAS

品类:晶体管驱动器

价格:¥12.1593

现货: 28,276

品牌:RENESAS

品类:MCU

价格:¥15.6605

现货: 28,031

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:MCU

价格:¥31.4860

现货:170

品牌:RENESAS

品类:MCU

价格:¥15.6605

现货:140,156

品牌:RENESAS

品类:SPI NOR flash

价格:¥1.5300

现货:105,000

品牌:RENESAS

品类:PMIC

价格:¥18.9000

现货:102,000

品牌:RENESAS

品类:开关稳压器

价格:¥4.9700

现货:100,000

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:RENESAS

品类:SPI NOR flash

价格:¥1.8000

现货:70,000

品牌:RENESAS

品类:驱动器

价格:¥10.1700

现货:36,883

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥51.3000

现货:30,368

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

高精密零件加工/五金零配件加工/CNC加工服务

加工精度:精密平面磨床正负0.002;铣床正负0.02,ZNC放电正负0.01。CNC加工材料:铝、钢、聚合物等材料。专注于半导体行业、医疗器械、汽车行业、新能源行业、信息技术行业零部件加工。

最小起订量: 1个 提交需求>

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面