通常来说,针对RA的开发,瑞萨对于第三方IDE的支持(如IAR EW for ARM)均通过RASC(Renesas RA Smart Configurator)实现。具体地说,通过RASC创建基础工程,在FSP界面中添加相关驱动/中间件,生成可以在IAR EW for ARM中打开的***.eww (the workspace file)文件。
假如在开发过程需要多人协作,则需要将原始的单一工程拆分为库文件对应的工程和应用程序对应的工程。本文介绍一种在IAR中生成库文件,并被应用工程调用的参考流程。以RA6M5为例进行说明。
分为以下几步:
1
利用RASC创建基础驱动工程ra6m5_rasc_driver
2
在IAR中创建库工程ra6m5_lib,并将第一步生成的ra6m5_rasc_driver内容添加进来
3
在IAR中创建空的C工程ra6m5_iar_demo
4
调试ra6m5_iar_demo和ra6m5_lib.a
create ra6m5_rasc_driver with rasc
利用RASC创建RA工程
按照以下步骤创建RA的IAR工程,命名为ra6m5_rasc_driver,该工程内容是生成库工程的基础
1
设置工程名称和位置,建议在位置界面路径添加和工程名称一样的字符串,会在相应路径下创建一个同名文件夹用于存储工程内容
2
Device and Tools Selection界面按照实际需求配置即可
3
Project Type Selection界面选择Flat
4
RTOS Selection界面选择No RTOS
5
Project Template Selection界面选择Bare Metal - Minimal
在FSP中增加UART驱动
以添加UART驱动为例进行说明
1
在Stack选项卡,New Stack → Connectivity → UART (r_sci_uart)
2
更改驱动属性,如g_uart7 UART (r_sci_uart)
3
更新hal_entry.c以支持新增驱动,如增加对callback的定义
4
点击Generate Project Content以生成相关代码
5
在IAR中对工程进行编译
create ra6m5_lib in iar
在IAR中创建新的workspace ra6m5_lib
现在,我们在IAR中新建库类型的workspace,作为后续添加库工程的基础。
File → New Workspace
File → Save Workspace As…
将workspace另存为ra6m5_lib.eww
新建工程ra6m5_lib
按照以下步骤进行创建
Project → Create New Project…
Project templates → Empty project
另存为ra6m5_lib.ewp
将文件夹和文件拷贝到ra6m5_Lib
将ra6m5_rasc_driver文件夹中的以下内容拷贝到ra6m5_lib工程中
ra
ra_cfg
ra_gen
script
src
memory_regions.icf
partition_device.mac
在工程中添加源文件
添加以下源文件 (***.c)
raoard a6m5_ek
rafspsrcspcmsisDeviceRENESASSource
rafspsrcspmcuall
rafspsrc _ioport
rafspsrc _sci_uart
ra_gen
src
修改配置C/C++ Compiler - preprocessor
将以下内容粘贴至Options for node “ra6m5_lib” → C/C++ Compiler → Preprocessor → Additional include directories:
$PROJ_DIR$/ra/arm/CMSIS_5/CMSIS/Core/Include
$PROJ_DIR$/ra/board/ra6m5_ek
$PROJ_DIR$/ra/fsp/inc/api
$PROJ_DIR$/ra/fsp/inc/instances
$PROJ_DIR$/ra_cfg/fsp_cfg/bsp
$PROJ_DIR$/ra_gen
$PROJ_DIR$/ra/fsp/inc
$PROJ_DIR$/ra_cfg/fsp_cfg
将以下内容粘贴至Defined symbols:
_RENESAS_RA_
_RA_CORE=CM33
修改配置assembler - preprocessor
将以下内容粘贴至Assembler → Preprocessor → Additional include directories:
$PROJ_DIR$/ra/arm/CMSIS_5/CMSIS/Core/Include
$PROJ_DIR$/ra/fsp/inc
$PROJ_DIR$/ra/fsp/inc/api
$PROJ_DIR$/ra/fsp/inc/instances
$PROJ_DIR$/ra_cfg/fsp_cfg
$PROJ_DIR$/ra_cfg/fsp_cfg/bsp
$PROJ_DIR$/ra_gen
$PROJ_DIR$/src
将以下内容粘贴至Defined symbols:
_RENESAS_RA_
_RA_CORE=CM33
修改配置Linker
config
在Linker → Config界面勾选Override default,填入以下内容:
$PROJ_DIR$scriptfsp.icf
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !