当前位置:首页|资讯

RH850-F1KM-S1 Bootloader

作者:霆宝科技发布时间:2024-09-27

Bootloader介绍

在汽车电子项目的开发过程中,Bootloader是至关重要的一个环节。它负责在系统启动时初始化硬件,加载并跳转到应用程序。本文将介绍如何在Renesas RH850F1KMS1微控制器上实现Bootloader功能。

一般来说,编写Bootloader代码需要注意以下几点:

  • 应用启动地址编写

  • 中断向量表的移植

  • 合并HEX文件

RH850-F1KMS1 Bootloader开发

本章节将介绍如何在 RH850-F1KMS1 芯片上,开发Bootloader跳转至APP的功能。

本次实验采用了由霆宝科技开发的 RH850F1KM 评估板(型号: TPD-R7F7016843AFP_v1.0.0)。

功能设计

功能分为Bootloader部分和APP部分,其中Booterload部分功能如下:

  1. 循环判断P10_0引脚的电平,默认为高电平;

  2. P10_0引脚为低电平时,串口打印“Jump APP”,然后程序跳转至APP。

APP部分功能如下:

  1. 串口打印“APP”字符串。

硬件连接

本次实验,将使用UART0完成,按照原理图连接好跳线、仿真器、调试工具。

  • 通讯速率为:115200

  • 无校验位

  • 8bit数据

  • 1停止位

软件设计

本次实验的开发环境为CS+ for CC V8.11,建议拷贝一份我们提供的 Bootloader工程,进行验证。

Boot

定义Boot跳转地址,即APP开始地址(例程APP地址0x20000)

跳转语句,跳转前需要引用DI()函数,关闭Boot中断

功能代码编写:

APP

定义APP启动地址和中断向量表段

在cstart.asm文件中,EBASE的偏移设置:

在boot.asm文件中,定义APP中断向量表引用:

boot.asm允许外部引用Dummy和Dummy_Ei:

创建vecttbl.asm文件,初始化APP区域的中断向量表及向量表首地址:

中断向量表跳转中断函数(以UART0为例),中断函数需与中断号对应:

APP工程中添加Boot hex文件进行仿真

RH850 E1(LPD)(Debug Tool)–> Download File Settings --> Download files:

Add --> File type --> Hex file , File选择Boot的hex文件:

然后是将Boot Hex和APP Hex文件合并,由于步骤较多,暂不在此展开,可以参考《Bootloader Hex文件合成说明.pdf》

调试

可以看到,上电后Bootloader成功运行,并且程序成功跳转到了APP,至此实验完成。

注意事项

  • 本次测试Boot部分也重新定义了中断向量表

  • boot.asm部分修改没有进行重复说明,请参考CS+空白例程模板创建说明

  • 如采用SmartConfigurator生成代码,需要将r_cg_intvector.c禁用,不参与编译

  • 参考例程以及PDF文件请联系霆宝销售&FAE进行获取

联系我们

如有需求请联系霆宝科技销售团队,邮件至sales@teampo.com,或致电0755-83187999。


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1