在IAR中生成库文件并被应用工程调用的参考流程(上)

描述

通常来说,针对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

设置工程名称和位置,建议在位置界面路径添加和工程名称一样的字符串,会在相应路径下创建一个同名文件夹用于存储工程内容

uart驱动

2

Device and Tools Selection界面按照实际需求配置即可

uart驱动

3

Project Type Selection界面选择Flat

uart驱动

4

RTOS Selection界面选择No RTOS

uart驱动

5

Project Template Selection界面选择Bare Metal - Minimal

uart驱动

在FSP中增加UART驱动

以添加UART驱动为例进行说明

1

在Stack选项卡,New Stack → Connectivity → UART (r_sci_uart)

uart驱动

2

更改驱动属性,如g_uart7 UART (r_sci_uart)

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

uart驱动

File → Save Workspace As…

uart驱动

将workspace另存为ra6m5_lib.eww

uart驱动

新建工程ra6m5_lib

按照以下步骤进行创建

Project → Create New Project…

uart驱动

Project templates → Empty project

uart驱动

另存为ra6m5_lib.ewp

uart驱动

将文件夹和文件拷贝到ra6m5_Lib

将ra6m5_rasc_driver文件夹中的以下内容拷贝到ra6m5_lib工程中

ra

ra_cfg

ra_gen

script

src

memory_regions.icf

partition_device.mac

uart驱动

在工程中添加源文件

添加以下源文件 (***.c)

raoard a6m5_ek

rafspsrcspcmsisDeviceRENESASSource

rafspsrcspmcuall

rafspsrc _ioport

rafspsrc _sci_uart

ra_gen

src

uart驱动uart驱动

修改配置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

uart驱动

修改配置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

uart驱动

修改配置Linker

config

在Linker → Config界面勾选Override default,填入以下内容:

$PROJ_DIR$scriptfsp.icf

uart驱动

 



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分