通过瑞萨 Python 工具烧录 N2L 操作及常见问题处理
一、引言
本文主要介绍通过瑞萨提供的 Python 工具,把例程的二进制文件从上位机电脑烧录到 MPU 的外挂 Flash 中,并上电启动该例程进行验证。操作过程详细记录了每一个步骤,并针对实际可能遇到的问题进行了说明与解决。整体操作流程如下图 (图1) 所示:
准备工具
- 官方例程软件包 (含 LED 闪烁例程及 Python 工具)
- Python 环境 (3.8 以上版本)
- 瑞萨 N2L 开发板,本操作过程用的是官方的 RSK+
- IDE:本操作用的是基于 Eclipse 的官方 IDE E2 Studio 以及 FSP 3.0.0
- 上位机:个人笔记本或者电脑等
- 参考资料:瑞萨 N2L 的数据手册、硬件手册等
二、例程下载与文件介绍
例程下载
本次操作所需的官方例程软件包,大家可以通过访问瑞萨官网 RZ-N2L RSK 开发套件资源页下载完整的示例工程及工具包,下图 (图2) 为例程下载页面:
例程文件介绍
打开下载完成的 sample 文件包,文件包内主要包含 PDF 和设备 setup 文件夹。PDF 是使用手册和 release 注意事项,使用手册对例程的使用方法进行了简要介绍,setup 文件夹则包含软件例程与 Python 工具。下面将对文件包中的文件进行详细介绍:
【rzt2-n2-flashboot 文件包一览】
【Device setup 文件夹内容一览】
如下图 (图4) 红框所示,本次操作将用到两个核心工具:device_setup.py (烧录工具) 与 parameter_generator.py (Loader 参数生成工具)。
之所以要生成 Loader 参数是因为 IDE 生成的程序缺少 Loader 参数,但是在 MPU 启动的时候,会先从外部 Flash 加载参数数据到 N2L 内部的 TCM 区域 (一种高性能 RAM),所以需要靠这个工具去生成这段参数文件。建议将这两个工具放在同一文件夹中,便于后续 Python 脚本调用。
【例程包介绍】
例程包中提供了针对不同型号的例程,本次操作以 N2L 为例。在 N2L 文件夹中,主要使用以下两个文件:
(1) RZN2L_bsp_led:
LED 闪烁示例工程,用于生成待烧录的二进制文件。软件包中虽已提供预编译的 RZN2L_bsp_led.bin,但建议通过自行编译来熟悉工程配置流程。
(2) RZN2L_RSK_DeviceSetup_qspi.out.srec:
设备设置文件根据启动介质分为 _qspi (QSPI Flash) 和 _nor (NOR Flash) 两个版本,本次操作使用 QSPI 版本。
三、开发环境配置与工程编译
开发环境安装与配置
(1) E2 Studio 与 FSP:需使用 E2 Studio 并安装 FSP 3.0.0 或更高版本。可从瑞萨官网或 Github 下载。需要注意,在安装的过程中需选择正确的型号,因为 E2 Studio 不同系列甚至不同型号版本并不通用,如果下到 RA 或者 RZ T 系列等,是不能跑 N2L 的。
(2) Python 安装:需安装 Python 3.80 及以上版本,安装时务必勾选“Add Python to PATH”。安装完成后电脑里已有了 Python 的环境。
导入工程与编译
打开 E2 Studio,选择不含中文、空格及特殊字符的工作路径,避免因路径问题导致报错。通过菜单栏“File”->“Import”导入工程,选择“Existing Projects into Workspace”导入现有的工程。本操作选择不解压例程文件夹,因此在导入时勾选“Archive file”,浏览并选中例程压缩包,系统将自动识别并解压至工作空间。如果是解压了例程的话,需要选择上面的 select root directory 选项。
导入后需要打开 XML 配置文件,点击“Generate Project Content”以生成驱动代码。之后右键点击工程名称,进入属性设置界面,检查项目配置是否对应 N2L 型号,确认无误后编译工程。若编译报错,请检查 FSP 版本是否为 3.0.0 或以上,以及是否使用了正确版本的 IDE。
编译成功后,在工程的 Debug 文件夹 (路径通常为 workspace\RZN2L_bsp_led\Debug) 中会生成 RZN2L_bsp_led.bin 文件。建议创建一个专用文件夹,将该 bin 文件与 Python 烧录工具放置在一起,便于后续统一操作。
四、硬件连接准备与配置
硬件连接
完成工程编译与二进制文件生成后,接下来进行硬件连接。首先连接开发板的供电口和串口 (本次采用 SCI 模式),如下图 (图6) 为瑞萨 N2L 开发板连接后的示意图:
确认串口号
可以通过 PC 的设备管理器去识别串口。以本操作为例,电脑的 COM7 口是对应板子的连接的串口,该串口号将在后续指令输入中被调用,需提前记录。
拨码开关配置
根据开发板使用手册,若采用 SCI 下载模式,需将 RSK+ 板上的 SW4 拨码开关前四位分别设置为 OFF、ON、OFF、ON。配置完成后,请重新上电以确保设置生效。
除了 SCI 模式,也可以进行 USB 模式,其连接方式及拨码开关配置存在差异,具体操作可参考官方手册进行调整。
五、Python 操作
确定 Python 工具的执行路径
前面我们已将 bin 文件与 Python 工具文件放置于同一文件夹中。在该文件空白处点击鼠标右键,选择“在终端中打开”以打开命令框,需确保命令窗口路径位于当前文件夹下,否则后续指令将无法正常执行。
生成 Loader 参数
打开命令框后,首先使用 parameter_generator.py 工具,基于编译生成的 RZN2L_bsp_led.bin 文件生成一个新的烧录文件 RZN2L_bsp_led_xspi0.bin。N2L 支持 xSPI0 和 xSPI1 两种启动模式,本次操作采用 xSPI0 模式,对应执行指令如下:
Python parameter_generator.py loader --mpu rzn2l --target_cpu cr52 --modexspi0--src_addr 60000050 --dest_addr 00102000 -i RZN2L_bsp_led.bin -o --concat_loader
根据芯片硬件手册描述,XSPI 模式下,需要把 Loader 参数存到 60000000 或 68000000 以上的地址区间。dest_add 参数是指定紧密耦合内存 (BTCM) 的起始地址,该内存被用作加载器程序的提取目标。指定加载器程序的提取目标区域,以确保该区域在 0x00102000 到 0x0011FFFF 的范围内。
如下图 (图12) 标记是生成的 RZN2L_bsp_led_xspi0.bin 文件,该 Bin 文件除了用户程序外,还加了一段刚刚生成 Loader 参数。
除了 xSPI0 启动以外,手册中还描述了其他启动模式下,对应的地址和命令。
启动设备设置程序
执行以下命令,将设备设置文件加载至开发板 RAM 中,为后续烧录建立通信通道:
python device_setup.py start --portCOM7--boot_mode sci -I RZN2L_RSK_DeviceSetup_qspi.out.srec
该操作的目的是通过 device_setup.py 工具把 RZN2L_RSK_DeviceSetup_qspi.out.srec 文件加载至 RAM 的对应区域中,后续 RAM 即可搬运用户文件,通过 RAM 将用户程序写入 Flash。
常见问题与处理
问题 1:出现无 serial 模块报错
首次执行时可能遇到如下报错,提示找不到 serial 模块:
这是由于未安装 Python 的串口通信库所致。执行以下命令下载安装即可:
Pip install pyserial
命令框返回下载完成的提示后重新执行前文所示的命令。
问题 2:没有收到回复
重新执行命令提示符后,正常应出现如下输出:
SCI Download mode.
Send program data. (S0)
-- Load Program to BTCM ------------------
Send program data. (S3)
-- Start Boot Program on BTCM ------------
如下图 (图15) 是使用了命令提示符后,并未出现如期一致的反馈示意图,说明操作过程出现了失误。
首先检查拨码开关设置是否正确,若无问题,通常是未重新上电导致配置未生效,重新上电后再次执行即可。
烧录用户程序文件
输入以下指令。如下图 (图16) 绿色标记所示:writeflash : Setup success. 说明以上整个烧录的过程成功。
python device_setup.py writeflash --port COM9 --addr 60000000 -i
RZN2L_bsp_led_xspi0.bin
运行例程
烧录完成后,需调整拨码开关并重新上电,以验证程序是否正常执行,随后将拨码开关 SW4 前四位全部拨至 ON 位置。
重新上电后,观察开发板 LED 状态。若 LED 开始规律闪烁,说明程序已成功烧录至外挂 Flash 并被正确加载执行,如下图 (图18) 所示:
六、总结
通过瑞萨提供的 Python 烧录工具,开发者可以简单便捷和无成本地烧录程序到外设 flash 中,方便项目的开发。本文详细记录了从环境准备、文件生成、命令烧录到验证运行的完整流程,并对常见问题进行了说明及提供解决思路。
欲了解关于更多瑞萨相关方案或技术信息,请与骏龙科技当地的办事处联系或点击下方「联系我们」,提交您的需求,骏龙科技公司愿意为您提供更详细的技术解答。
更多信息: