SemiDrive E3 使用 IAR 烧录代码到外部 Flash

一、 概述

目前 Semidrive E3 系列 MCU 已经支持使用 IAR 将代码烧录到外部 Flash 中,本文将以 WPI 的 E3210 评估板为例具体介绍如何通过 IAR 将代码烧录到外部的 Flash 中。

二、 WPI E3210 评估板简介



                                                                  图 2.1 WPI E3210 评估板

如上图所示为 WPI E3210 的评估板,主要包括以下电路模块:

(1)DC-DC 电路,支持 5V 输入转成 3.3V;

(2)SD 卡;

(3)CAN/LIN 收发器;

(4)10/100M 以太网;

(5)USB 调试串口;

(6)E3210 USB 接口;

(7)DAC/ADC 电路;

(8)外部 Flash(支持 hyperflash 和 norflash 二选一);

(9)音频放大电路;

(10)按键及扩展接口等;

三、 修改 Flashloader 工程

本文采用的示例工程为 SSDK PTG2.0 的工程,具体演示以 GPIO 的例程为例。由于 WPI E3210 评估板采用的外部 Flash型号为 W25Q128JV,但是由于目前 SSDK 中内置的 flashloader 仍不支持该型号,因此我们需要对 flashloader 工程进行修改。目前 SSDK PTG2.0 中没有 flashloader 的工程,只有 PTG2.1 有。因此 Flashloader 工程的修改以 PTG2.1 为例。

首先打开 SSDK PTG2.1 中的 flashloader 工程,具体路径如下: E3_SSDK_PTG2.1_Source_Code\ssdk\boards\e3_176_ref\app_demo\flashloader\IAR_Norflash

其中只需要修改 sdrv_spi_nor.c 这个文件,打开这个文件,找到 spi_nor_ids 这个数组,在这个数组中添加 W25Q128 系列spi nor flash 芯片的支持。

                                                         图 3.1 spi_nor_ids 数组

 

                                                  图 3.2 添加 W25Q128的支持

修改完代码之后编译即可,编译之后的文件在工程路径下的 Debug/Exe 文件夹中。

                                                     图 3.3 编译后的可执行文件

 

后续我们将该可执行文件替换 SSDK PTG2.0 中原来的 flashloader 即可,原来的 flashloader 路径如下:E3_SSDK_PTG2.0_Source_Code\ssdk\prebuilts\flashloader\e3_176_ref\nor_flash



                                               图 3.4 PTG2.0 e3_176_ref flashloader 路径

四、 IAR 烧录配置

首先右键单击工程,选择 Option->Debugger->Download,勾选 Use flash loader 选项,并选择指定的 .board 文件。
.board 文件中会指定烧录到 flash 中的地址,该文件位于以下路径:E3_SSDK_PTG2.0_Source_Code\ssdk\prebuilts\flashloader\e3_176_ref\nor_flash\iar_flashboardcfg_sf_iram.board

                                              图 4.1 勾选 Use flash loader 选项

接着右键单击 Option->Linker->Extra Options,添加命令行选项,具体命令如下:

--image_input $PROJ_DIR$\..\..\..\..\..\tools\sdtools\sfs\sfs_mt35-1-1-1.img,SFS_BIN,SFS_BIN,8 --keep SFS_BIN使用该命令的目的是为了将 SSDK 中提供的 sys 固件链接到 sf.out 中。

                                                         图 4.2 添加命令行选项

 

配置完了以后便可以在 IAR 中通过 JLINK 将固件烧录到 flash 中,在烧录之前需要将启动模式设置为 JTAG 模式(1110)。然后点击 Project->Download->Download Active Application,便可以将代码下载到外部的 flash 中去。烧录完成后将启动模式设置成正常启动模式(0000)。

                                                             图 4.3 点击下载按钮

五、参考资料

1.《AppNote_E3_Boot_and_OTA_Rev01.03》,2022.11

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论