瑞萨 RH850 F1KM-S1 例程运行操作指南 (基于 CS+ 和 GHS)
一、前言
瑞萨 RH850 是世界主流车规级 MCU 之一,受众多汽车电子开发从业者的喜爱。本文以第一代车身通用 MCU—— F 系列中的 F1KM-S1 为例,演示其官方例程在瑞萨 CS+ IDE 以及第三方 Greenhills (简称 GHS) IDE 中的运行操作。通过基于这两种 IDE 的实操演示,帮助开发者快速入门并熟悉 RH850 的开发环境。
二、背景介绍
开发板介绍
Y-ASK-RH850F1KM-S1-V3 是针对 RH850 F 系列的 F1KM-S1 设计的评估板,集成了丰富的外设接口,方便开发者针对主要的外设进行评估。该套装主要内含 E1 仿真器和 F1KM-S1 的评估板,另有相关连接用的线束。
F1KM-S1 相较于 F1KM-S2、F1KM-S4 等产品,主要差别在于内置 flash 的容量,S1 是 1M,而 S4 是 4M,与之对应是 S 几就是几 M。在 YSK 评估板的设置上,F1KM 系列具有相似性,本次运行的 F1KM-S1,其对 F1KM 其他系列也具备参考价值。
板子功能概况
板子功能区域
本次实践需要准备工具
- PC 或者笔记本电脑等作为上位机
- IDE:GHS 和 CS+ (最新版即可)
- 评估板:本次使用的是瑞萨 RH850 F1KM-S1 Starter Kit V3
- 例程:需要在瑞萨官网下载,后面会介绍
- 仿真器:本次使用的是 E1,有条件的可以使用 E2 等更新的仿真器
- 串口软件工具:本文用的是免费开源工具 TeraTerm
- 其他参考资料:评估板使用手册--RH850/F1KM-S1 Starter Kit V3 User's Manual
例程下载与工程结构
在 sample code 处下载本次使用的代码,如下图 (图4) 所示:
选择接受并下载,如果没有注册的话需要先注册并登录。
下载后解压压缩包,有四个文件夹,其中 source 是本次的程序代码,device 文件夹是 GHS IDE (以下简称 GHS) 使用所需一些设备描述文件。Toolchain 文件夹里面是各主流 IDE 的工程打开入口,主要是 CS+、WIDEA、GHS 、IAR 四个 IDE 的工程入口。
例程架构介绍
示例软件采用三层架构 (只允许上层调用下层):
层级 | 说明 |
App Layer | 应用逻辑 (例程模式切换、LED 行为、显示等) |
Modules Layer | 功能模块 (led、canfd 等) ,可调用多个 Peripheral |
Peripherals Layer | MCU 外设驱动 (r_port.c、r_adc.c、r_pwm.c 等) ,直接操作寄存器 |
程序运行模式切换介绍
该例程的状态机如下:
运行流程概述
启动自检 (Start Up Test)
上电/复位后执行:
- 系统时钟初始化
- 蓝圈 LED (Blue LED Circle):依次点亮 → 依次熄灭
- RGB LED:颜色渐变扫描 → 熄灭 → 白色亮 500 ms,同时蓝圈全亮
- LED17/LED18 (P8_5、P0_14):全程点亮
- 检查 CAN、LIN、RGB PWM 反馈信号
- 自检结果通过 UART/USB 及调试器打印输出
- 若接 OLED,显示测试画面
- 完成后自动进入 Mode 1
Mode 1 (默认进入)
- LED17/LED18:亮度随电位器 POT1 位置变化 (ADC → PWM 占空比)
- 蓝圈 LED:随旋转编码器 (ENC1) 旋转方向/步进来变化
- RGB LED:每按一次编码器按钮,切换显示颜色
- PWM 诊断:ADC 检测 RGB LED 通道电流,超上下限则关对应 PWM
- 操作:
- 短按 S1 → 切换到 Mode 2
- 长按 S1 (≥3s) → 进入 DeepSTOP (Standby)
- 无操作 30s → 自动进入 DeepSTOP
- 由 OS Timer 以 1ms 周期调用
Mode 2
- LED17/LED18:交替闪烁
- 蓝圈 LED:以一定频率跑马灯,频率由 POT1 的 ADC 值决定 (TAUJ 定时)
- 旋转编码器:可增减跑马灯点亮 LED 数量
- RGB LED PWM 诊断:同 Mode 1
- 操作:
- 短按 S1 → 切回 Mode 1
- 长按 S1 (≥3s) → DeepSTOP
- 无操作 30s → 自动进入 DeepSTOP
- 由 OS Timer 以 1ms 周期调用
Standby (DeepSTOP 低功耗模式)
- 关闭不必要功能,MCU 进入 DeepSTOP
- LED18 以 2s 间隔闪烁 (TAUJ 产生),表示 Standby 状态
- 唤醒源 (Wake‑up):
- 短按 S1 (P8_2 INTP6)
- 旋转编码器按钮 (P0_13)
- DIP 开关 S3 (LPS 输入变化)
- 电位器 POT1 转动超过 25% (LPS + TAUJ 500 ms 采样)
- 唤醒后 恢复进入 Standby 前的模式 (Mode 1 或 Mode 2)
三、基于 CS+ IDE 的例程运行实操
下面进行实操,在 CS+IDE 中运行 RH850 的 sample code,首先打开 CS+ 文件夹:
在已安装了 CS+ 的情况下,点击 MTPJ 文件并打开,会进入该例程的 CS+ 工程项目中。如下图 (图11) 所示为 CS+ 中工程的样貌:
下面进行在线仿真介绍。本次通过 IDE 在线运行例程,需要用到仿真器,这里使用的是 E1 仿真器,按照如下图 (图12) 所示方式连接即可,排线一头连接板子上的排线插座,另外一头则连接 PC。
在选择仿真器时需要注意 Debug Tool 选项。目前该选项已默认选择 E1,但是由于 E1 已经停产,可能有很多人用的是 E2,所以需要在 Debug Tool 这个栏目里面重新选择对应的仿真器。最后一个 RH850 Simualtor 选项则是不用任何仿真器连接,纯软件仿真。
接下来进行编译代码。点击如下图箭头所示按钮可以对例程进行编译:
编译成功后会出现如下图 (图15) 所示的提示框,一般情况下,官方例程是不会报错的。
CS+ 仿真
点击下图 (图16) 所示的 debug 按钮即可进入调试界面,点击完后会出现正在连接到 E1 的提示 (图17):
常见问题——报错:E1200928
在连接板子时,有时会出现如下图 (图18) 所示的错误提示,该提示表示板子处于未通电 (turned on) 状态。
该报错源于板子供电问题:因为板子没有供电,所以无法连接。检查【DEBUG TOOL】→【CONNECT SETTING】→【Power target from the emulator.(MAX 200mA)】,发现目前的选项是 NO (默认是NO)。这意味着,目前没有选择通过仿真器给评估板供电,而之前的硬件连接只连接了 E1,没有连接其他电源。
解决方法1:在板子电源处接上 12V 电源
解决方法2:
在【Power target from the emulator.(MAX 200mA)】选项选择 YES,让仿真器给其供电,可以选择 3.3V 或者 5V,这里选择的是 5V。
切换后重启一下 IDE,再 download 即可。
点击如下图 (图23) 箭头所示三角按钮即可自动运行程序:
在之前的硬件连接基础上,再连接上串口线:
进入调试并连接成功后,打开串口工具会看到如下图 (图25) 显示。串口工具会实时记录板子上的操作,并打印出相关的动作描述。 (注意:不连接串口也不会影响例程的正常运行。)
根据按键和电位计可以控制板子上相关的 LED 以及亮度:
其他常见操作
1. 打断点
在程序没有运行的时候,单击橙色条状显示区域的任意位置,即可打上断点。再点击一下断点,即可取消该断点。
2. 查看变量
在 View 栏里选择 watch 选项,即可进入 watch 界面,可以在此添加需要观察的变量。
点击下图 (29) 圆圈所示的眼睛后,输入自己需要观察的变量名:
3. 变量实时刷新
默认配置下,实时变量不会自动刷新,需要打断点才能更新。如需更改,请依次进入【DEBUG TOOL】→【Debug Tool Settings】→【Access during the execution】,将默认的 No 改为 Yes 即可。
4. 输出 HEX 或者其他格式文件设置
在【Build tool】→【Common Options】→【Hex file format】中,有三种格式选择,分别是 BIN、HEX 和 MOT 文件,默认是 MOT 格式的文件,用户可以根据自己的喜好进行切换。
其默认的输出文件夹在 DefautBuild 文件夹内,相关输出的有 Map 文件等,在编译后会更新。
四、基于 GHS IDE 运行例程
按照如下文件夹的路径,进入 toolchain 文件夹,打开如下 GPJ 文件,如果电脑已经安装了 GREENHILLS,并且具备 license 的话,点开即可进入该例程对应的 GHS 工程。
打开后会发现工程主要分为 Source 和 Device,Source 是程序代码,Device 是设备文件,在 greenhill 的实际开发项目中需要加入相关的设备文件才可以运行,例程中已经添加好了。
打开后会发现工程主要分为 Source 和 Device,Source 是程序代码,Device 是设备文件,在 greenhill 的实际开发项目中需要加入相关的设备文件才可以运行,例程中已经添加好了。
仿真运行
和 CS+ 的操作一样,先点击图片上方的小锤子进行 build 操作,编译该代码:
一般而言,例程在编译是不会出现意外的,编译成功时的显示如下所示:
例程在线仿真运行
仿真调试前需要先连接板子,评估板的连线方式和之前 CS+ 一样,不再赘述。
连接成功后,点击小虫子图标即可进入调试界面进行在线仿真。
如下是进入调试页面的显示界面:
首先需要点击下载的箭头,下载例程。
如果你是第一次使用的话,可能会弹出如下连接失败的提示,这个时候需要点击如下按钮去进行设置:
配置介绍
以上设备文件需要选择对应板子的设备文件,因为 EVK 的主控芯片是 R7F701684,所以里面选择的是名称为 dr7f701684.dvf 的 DVF 格式的文件。特别提醒:同名的 .H 文件也在目录下,请留意不要选错。
DEBUGER 要选择对应的调试器,因为评估板套装里面附带的是已经停产的 E1,所以这里选择的是 E1 Emulator LPD,电压选择 5V 供电。实际开发中,可能大家用的更多是 E2 或者其他仿真器,请根据实际情况选择对应的调试器。此项必须选对,否则会报错。
这里主晶振本 EVK 是 16M,实际开发需要根据实际的来。
在 Adavanced 配置界面中,取消勾选 Protect I/O memory,不然可能无法控制外设。Registry ID CODE 填 32 个 f 即可。
完成上述的配置后,点击下载程序即可进入。此时会跳出确认板载电源等提示,点击下一步即可。最后会进入 Prepare Target 界面,选择第一个选项即可。
选择后就可以成功运行需要运行的程序,进入仿真。
同时,并且 cmd 框会出现如下图所示的提示,表示你已连接成功了 DEMO。
断点设置
如果要设置断点,点击下图箭头处的小绿点即可,有绿点的地方都是可以打断点的地方。
也可以进一步设置断点的 count,意义是第 N 次遇见这个断点会再停下。
查看变量
双击变量即可进入 DATA EXPLORER 窗口,打断点后跑到该变量,Value 处即显示了该值。
除了双击界面,一般是点击添加变量的按钮。
GHS IDE Output
在编译后,工程内的 output 文件夹会输出相关文件,比如 HEX 文件,out 文件,还有 map 信息等文件。
五、总结
以上是基于 Y-ASK-RH850F1KM-S1-V3 评估板,在 CS+ 和 GHS 两种 IDE 中运行瑞萨官方例程的基础操作与常见问题处理方法。掌握这些流程后,开发者可以更高效地利用瑞萨的开发板与工具链,加速汽车电子产品的落地。
欲了解关于更多瑞萨相关方案或技术信息,请与骏龙科技当地的办事处联系或点击下方「联系我们」,提交您的需求,骏龙科技公司愿意为您提供更详细的技术解答。
更多信息: