文章来源 Cytech Engineer

瑞萨 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 其他系列也具备参考价值。

图1 Y-ASK-RH850F1KM-S1-V3 板子实物图 (来源:瑞萨 RH850 F1KM-S1 Starter Kit V3 User Manual: Hardware)
图1 Y-ASK-RH850F1KM-S1-V3 板子实物图 (来源:瑞萨 RH850 F1KM-S1 Starter Kit V3 User Manual: Hardware)

板子功能概况

图2 板子功能概况
图2 板子功能概况

板子功能区域

图3 板子功能区域
图3 板子功能区域

本次实践需要准备工具

  1. PC 或者笔记本电脑等作为上位机
  2. IDE:GHS 和 CS+ (最新版即可)
  3. 评估板:本次使用的是瑞萨 RH850 F1KM-S1 Starter Kit V3
  4. 例程:需要在瑞萨官网下载,后面会介绍
  5. 仿真器:本次使用的是 E1,有条件的可以使用 E2 等更新的仿真器
  6. 串口软件工具:本文用的是免费开源工具 TeraTerm
  7. 其他参考资料:评估板使用手册--RH850/F1KM-S1 Starter Kit V3 User's Manual

例程下载与工程结构

在 sample code 处下载本次使用的代码,如下图 (图4) 所示:

图4 官方例程下载
图4 官方例程下载

选择接受并下载,如果没有注册的话需要先注册并登录。

图5 接受下载按钮
图5 接受下载按钮

下载后解压压缩包,有四个文件夹,其中 source 是本次的程序代码,device 文件夹是 GHS IDE (以下简称 GHS) 使用所需一些设备描述文件。Toolchain 文件夹里面是各主流 IDE 的工程打开入口,主要是 CS+、WIDEA、GHS 、IAR 四个 IDE 的工程入口。

图6 Toolchain 文件夹构造
图6 Toolchain 文件夹构造

例程架构介绍

示例软件采用三层架构 (只允许上层调用下层):

图7 代码的架构概况
图7 代码的架构概况

层级

说明

App Layer

应用逻辑 (例程模式切换、LED 行为、显示等)

Modules Layer

功能模块 (led、canfd 等) ,可调用多个 Peripheral

Peripherals Layer

MCU 外设驱动 (r_port.c、r_adc.c、r_pwm.c 等) ,直接操作寄存器

程序运行模式切换介绍

该例程的状态机如下:

图8 代码运行模式切换状态机
图8 代码运行模式切换状态机

运行流程概述

启动自检 (Start Up Test)

上电/复位后执行:

  1. 系统时钟初始化
  2. 蓝圈 LED (Blue LED Circle):依次点亮 → 依次熄灭
  3. RGB LED:颜色渐变扫描 → 熄灭 → 白色亮 500 ms,同时蓝圈全亮
  4. LED17/LED18 (P8_5、P0_14):全程点亮
  5. 检查 CAN、LIN、RGB PWM 反馈信号
  6. 自检结果通过 UART/USB​ 及调试器打印输出
  7. 若接 OLED,显示测试画面
  8. 完成后自动进入 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+ 文件夹:

图9 CS+ 文件夹位置
图9 CS+ 文件夹位置

在已安装了 CS+ 的情况下,点击 MTPJ 文件并打开,会进入该例程的 CS+ 工程项目中。如下图 (图11) 所示为 CS+ 中工程的样貌:

图10 例程的启动文件
图10 例程的启动文件
图11 进入 DEBUG TOOL
图11 进入 DEBUG TOOL

下面进行在线仿真介绍。本次通过 IDE 在线运行例程,需要用到仿真器,这里使用的是 E1 仿真器,按照如下图 (图12) 所示方式连接即可,排线一头连接板子上的排线插座,另外一头则连接 PC。

图12 评估板和 E1 连接示意
图12 评估板和 E1 连接示意

在选择仿真器时需要注意 Debug Tool 选项。目前该选项已默认选择 E1,但是由于 E1 已经停产,可能有很多人用的是 E2,所以需要在 Debug Tool 这个栏目里面重新选择对应的仿真器。最后一个 RH850 Simualtor 选项则是不用任何仿真器连接,纯软件仿真。

图13 仿真器选择
图13 仿真器选择

接下来进行编译代码。点击如下图箭头所示按钮可以对例程进行编译:

图14 编译操作
图14 编译操作

编译成功后会出现如下图 (图15) 所示的提示框,一般情况下,官方例程是不会报错的。

图15 编译成功提示框
图15 编译成功提示框

CS+ 仿真

点击下图 (图16) 所示的 debug 按钮即可进入调试界面,点击完后会出现正在连接到 E1 的提示 (图17):

图16 debug 按钮
图16 debug 按钮
图17 连接提示
图17 连接提示

常见问题——报错:E1200928

在连接板子时,有时会出现如下图 (图18) 所示的错误提示,该提示表示板子处于未通电 (turned on) 状态。

图18 E1200928 报错
图18 E1200928 报错

该报错源于板子供电问题:因为板子没有供电,所以无法连接。检查【DEBUG TOOL】→【CONNECT SETTING】→【Power target from the emulator.(MAX 200mA)】,发现目前的选项是 NO (默认是NO)。这意味着,目前没有选择通过仿真器给评估板供电,而之前的硬件连接只连接了 E1,没有连接其他电源。

图19 【Power target from the emulator.(MAX 200mA)】选项更改操作
图19 【Power target from the emulator.(MAX 200mA)】选项更改操作

解决方法1:在板子电源处接上 12V 电源

图20 电源连接示意图
图20 电源连接示意图

解决方法2:

在【Power target from the emulator.(MAX 200mA)】选项选择 YES,让仿真器给其供电,可以选择 3.3V 或者 5V,这里选择的是 5V。

图21 选择 5V 供电操作
图21 选择 5V 供电操作

切换后重启一下 IDE,再 download 即可。 

图22 Download 成功画面
图22 Download 成功画面

点击如下图 (图23) 箭头所示三角按钮即可自动运行程序:

图23 点击全速运行
图23 点击全速运行

在之前的硬件连接基础上,再连接上串口线:

图24 串口连接示意
图24 串口连接示意

进入调试并连接成功后,打开串口工具会看到如下图 (图25) 显示。串口工具会实时记录板子上的操作,并打印出相关的动作描述。 (注意:不连接串口也不会影响例程的正常运行。) 

图25 串口工具 Tera term 提示框
图25 串口工具 Tera term 提示框

根据按键和电位计可以控制板子上相关的 LED 以及亮度:

图26 例程运行时板子的闪灯画面
图26 例程运行时板子的闪灯画面

其他常见操作

1. 打断点

在程序没有运行的时候,单击橙色条状显示区域的任意位置,即可打上断点。再点击一下断点,即可取消该断点。

图27 打断点操作
图27 打断点操作

2. 查看变量

在 View 栏里选择 watch 选项,即可进入 watch 界面,可以在此添加需要观察的变量。

图28 添加变量观察操作
图28 添加变量观察操作

点击下图 (29) 圆圈所示的眼睛后,输入自己需要观察的变量名:

图29 watch 界面
图29 watch 界面

3. 变量实时刷新

默认配置下,实时变量不会自动刷新,需要打断点才能更新。如需更改,请依次进入【DEBUG TOOL】→【Debug Tool Settings】→【Access during the execution】,将默认的 No 改为 Yes 即可。

图30 Access during the execution 选项更改
图30 Access during the execution 选项更改

4. 输出 HEX 或者其他格式文件设置

在【Build tool】→【Common Options】→【Hex file format】中,有三种格式选择,分别是 BIN、HEX 和 MOT 文件,默认是 MOT 格式的文件,用户可以根据自己的喜好进行切换。

图31 Hex file format 更改操作
图31 Hex file format 更改操作

其默认的输出文件夹在 DefautBuild 文件夹内,相关输出的有 Map 文件等,在编译后会更新。

图32 CS+ 默认输出文件夹
图32 CS+ 默认输出文件夹

   

四、基于 GHS IDE 运行例程

按照如下文件夹的路径,进入 toolchain 文件夹,打开如下 GPJ 文件,如果电脑已经安装了 GREENHILLS,并且具备 license 的话,点开即可进入该例程对应的 GHS 工程。

图33 GHS 工具链启动文件
图33 GHS 工具链启动文件

打开后会发现工程主要分为 Source 和 Device,Source 是程序代码,Device 是设备文件,在 greenhill 的实际开发项目中需要加入相关的设备文件才可以运行,例程中已经添加好了。

图34 GHS 工程一览
图34 GHS 工程一览

打开后会发现工程主要分为 Source 和 Device,Source 是程序代码,Device 是设备文件,在 greenhill 的实际开发项目中需要加入相关的设备文件才可以运行,例程中已经添加好了。

仿真运行

和 CS+ 的操作一样,先点击图片上方的小锤子进行 build 操作,编译该代码:

图35 GHS IDE 的编译操作
图35 GHS IDE 的编译操作

一般而言,例程在编译是不会出现意外的,编译成功时的显示如下所示:

图36 编译成功提示
图36 编译成功提示

例程在线仿真运行

仿真调试前需要先连接板子,评估板的连线方式和之前 CS+ 一样,不再赘述。

连接成功后,点击小虫子图标即可进入调试界面进行在线仿真。

图37 debug 按钮
图37 debug 按钮

如下是进入调试页面的显示界面:

图38 进入 debug 界面
图38 进入 debug 界面

首先需要点击下载的箭头,下载例程。

图39 download 操作
图39 download 操作

如果你是第一次使用的话,可能会弹出如下连接失败的提示,这个时候需要点击如下按钮去进行设置:

图40 连接失败提示
图40 连接失败提示
图41 connection chooser
图41 connection chooser

配置介绍

图42 connection 选项配置界面
图42 connection 选项配置界面

以上设备文件需要选择对应板子的设备文件,因为 EVK 的主控芯片是 R7F701684,所以里面选择的是名称为 dr7f701684.dvf 的 DVF 格式的文件。特别提醒:同名的 .H 文件也在目录下,请留意不要选错。

DEBUGER 要选择对应的调试器,因为评估板套装里面附带的是已经停产的 E1,所以这里选择的是 E1 Emulator LPD,电压选择 5V 供电。实际开发中,可能大家用的更多是 E2 或者其他仿真器,请根据实际情况选择对应的调试器。此项必须选对,否则会报错。

这里主晶振本 EVK 是 16M,实际开发需要根据实际的来。

图43 Clock 配置
图43 Clock 配置

在 Adavanced 配置界面中,取消勾选 Protect I/O memory,不然可能无法控制外设。Registry ID CODE 填 32 个 f 即可。

图44 Adavanced 配置界面
图44 Adavanced 配置界面

完成上述的配置后,点击下载程序即可进入。此时会跳出确认板载电源等提示,点击下一步即可。最后会进入 Prepare Target 界面,选择第一个选项即可。

图45 Prepare Target 界面
图45 Prepare Target 界面

选择后就可以成功运行需要运行的程序,进入仿真。

图46 进入仿真
图46 进入仿真

同时,并且 cmd 框会出现如下图所示的提示,表示你已连接成功了 DEMO。

图47 连接成功提示框
图47 连接成功提示框

断点设置

如果要设置断点,点击下图箭头处的小绿点即可,有绿点的地方都是可以打断点的地方。

图48 断点连接处
图48 断点连接处
图49 断点停止画面
图49 断点停止画面

也可以进一步设置断点的 count,意义是第 N 次遇见这个断点会再停下。

图50 更改断点 count
图50 更改断点 count

查看变量

双击变量即可进入 DATA EXPLORER 窗口,打断点后跑到该变量,Value 处即显示了该值。

图51 查看变量
图51 查看变量

除了双击界面,一般是点击添加变量的按钮。

图52 添加变量
图52 添加变量

GHS IDE Output

在编译后,工程内的 output 文件夹会输出相关文件,比如 HEX 文件,out 文件,还有 map 信息等文件。

图53 GHS 默认输出文件夹一览
图53 GHS 默认输出文件夹一览

   

五、总结

以上是基于 Y-ASK-RH850F1KM-S1-V3 评估板,在 CS+ 和 GHS 两种 IDE 中运行瑞萨官方例程的基础操作与常见问题处理方法。掌握这些流程后,开发者可以更高效地利用瑞萨的开发板与工具链,加速汽车电子产品的落地。

欲了解关于更多瑞萨相关方案或技术信息,请与骏龙科技当地的办事处联系或点击下方「联系我们」,提交您的需求,骏龙科技公司愿意为您提供更详细的技术解答。

更多信息: