RH850F1KM-S2 IAR工程搭建及UART异常解决
本文聚焦 RH850F1KM-S2 的 IAR 工程搭建,涵盖从新建项目、配置设备与烧录器到添加必要文件等步骤。同时,针对 UART 中断无法进入、打印异常问题,提供了中断配置及 RAM 清零解决办法,为开发者提供参考。
本文聚焦 RH850F1KM-S2 的 IAR 工程搭建,涵盖从新建项目、配置设备与烧录器到添加必要文件等步骤。同时,针对 UART 中断无法进入、打印异常问题,提供了中断配置及 RAM 清零解决办法,为开发者提供参考。
IAR工程建立
在IAR界面中选择Project-->Create New Project

选择RH850,并选定保存位置

右键工程,打开Options...设置页面

General Options-->Device-->RH850-F1x-->RH850-F1KM-S2 100pin-->RH850-R7F701760(选择对应的MCU型号)

Debugger-->E2(根据实际使用烧录器进行选择)

在IAR安装目录中获取以下文件
icf文件...\IAR Systems\Embedded Workbench 9.1\rh850\config
cstartup.s文件...\IAR Systems\EmbeddedWorkbench9.1\rh850\src\lib\rh850
low_level_init.c文件...\IAR Systems\Embedded Workbench 9.1\rh850\src\lib
在SmartConfigurator安装目录下获取以下文件
iodefine.h文件 ...\SmartConfigurator\RH850\RH850F1KM_SampleProjects\iodefine.h

添加icf文件到工程中

添加start文件夹路径到工程中

UART中断进入方式
Smart configuration生成UART模块到工程中(注意Toolchain要选择 IAR)


生成的UART中断无法直接进入,需要在在Config_UART0_user.c文件中,添加以下代码,并正确填写中断向量号

UART打印异常,RAM清零操作
在main()函数中添加打印g_testStruct地址和g_testStruct[0] - g_testStruct[2],在Debug中,UART数据显示正常,使用RFP烧录后,UART数据显示异常


原因:Debug模式下,E2烧录器会对RAM进行清零操作,RFP烧录缺少这一步,需要做如下操作:
在cstartuo.s文件中,将 SECTION .text:CODE:NOROOT(1)修改为 SECTION.text:CODE:ROOT(1)

在low_level_init.c中添加GLOBAL RAM和Local RAM清零的操作

Local RAM和Global RAM地址参考如下

添加RAM清零操作后,RFP烧录,UART数据显示正常

更多推荐



所有评论(0)