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

描述

 

create ra6m5_lib in iar

在IAR中创建新的workspace ra6m5_lib

修改配置Linker

Library

在Linker → Library界面勾选Override default program entry,勾选Entry symbol,并填入以下内容:

Reset_Handler

RA6M5

extra options

在Linker → Extra Options界面勾选Use command line options,参数界面填入以下内容:

--config_search “$PROJ_DIR$”

RA6M5

修改配置Debugger

setup 

在Debugger → Setup界面,Driver → J-Link/J-Trace

Setup macros勾选Use marco file(s),参数界面填入:

$PROJ_DIR$partition_device.mac

RA6M5

download

在Debugger → Download界面,取消勾选 Use flash loader(s)

RA6M5

extra options

在Debugger → Extra Options界面,勾选 Use command line options,参数界面填入以下内容:

--drv_vector_table_base=__Vectors

--proc_stack_main=g_main_stack,g_main_stack+sizeof(g_main_stack)

RA6M5

修改配置general options

1

在ra6m5_lib 上点击右键,选择Options…

RA6M5

2

General Options → Target → Device → Renesas R7FA6M5BH

RA6M5

3

General Options → Target → Output → Output file → Library

RA6M5

检查lra6m5_lib.a文件

1

编译工程ra6m5_lib

RA6M5

2

在Build console中确认编译操作成功

RA6M5

3

在ra6m5_libDebugExe文件下确认已生成ra6m5_lib.a库文件

RA6M5

Create RA6M5 IAR DEMO in IAR

创建新workspace ra6m5_IAR_DEMO

接下来,我们将创建新的workspace,作为应用工程,命名为ra6m5_iar_demo

File → New Workspace

RA6M5

File → Save Workspace As…

RA6M5

另存为ra6m5_iar_demo.eww

重复 新建工程ra6m5_lib ~ 修改配置debugger - extra options 的操作步骤

RA6M5

创建新工程ra6m5_iar_demo

创建新的工程并添加至新创建的workspace中

Project → Create New Project…

RA6M5

Project templates → Empty project

RA6M5

Save as ra6m5_iar_demo.ewp

RA6M5

将文件夹和文件拷贝到ra6m5_iar_demo

从ra6m5_lib中复制一下内容,并拷贝到ra6m4_iar_demo文件夹

script

memory_regions.icf

partition_device.mac

vector_data.c (位于ra6m5_lib的ra_gen文件夹下)

RA6M5

修改配置C/C++ Compiler

Preprocessor

将以下内容粘贴至C/C++ Compiler → Preprocessor → Additional include directories:

../../ra6m5_lib/ra/arm/CMSIS_5/CMSIS/Core/Include

../../ra6m5_lib/ra/fsp/inc

../../ra6m5_lib/ra/fsp/inc/api

../../ra6m5_lib/ra/fsp/inc/instances

../../ra6m5_lib/ra_cfg/fsp_cfg

../../ra6m5_lib/ra_cfg/fsp_cfg/bsp

../../ra6m5_lib/ra_gen

../../ra6m5_lib/src

将以下内容粘贴至Defined symbols:

_RENESAS_RA_

_RA_CORE=CM33

RA6M5

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

RA6M5

修改配置linker

config

在Linker → Config界面

勾选 Override default

参数界面填入 $PROJ_DIR$scriptfsp.icf

RA6M5

在Linker → Library界面

参数填入

$PROJ_DIR$.. a6m5_libDebugExe a6m5_lib.a

勾选Override default program entry

勾选Entry symbol,参数界面填入 Reset_Handler

RA6M5

extra options

在Linker → Extra Options界面

勾选 Use command line options

参数填入 --config_search “$PROJ_DIR$”

RA6M5

修改配置Debugger

Setup 

在Debugger → Setup界面

Driver → J-Link/J-Trace

Setup macros

勾选 Use marco file(s)

参数填入 $PROJ_DIR$partition_device.mac

RA6M5

Download

在Debugger → Download界面

取消勾选 Use flash loader(s)

RA6M5

Extra Options

在Debugger → Extra Options界面

勾选 Use command line options

参数界面填入以下内容

--drv_vector_table_base=__Vectors

--proc_stack_main=g_main_stack,g_main_stack+sizeof(g_main_stack)

RA6M5

修改配置general options

1

在 ra6m5_iar_demo上点击右键,选择 Options…

RA6M5

2

General Options → Target → Device → Renesas R7FA6M5BH

RA6M5

Debug ra6m5_iar_demo + ra6m5_lib.a

在IAR中调试ra6m5_iar_demo

1

利用USB-UART连接RA6M5的SCI7和PC (TxD7 - P613, RxD7 - P614)

2

编译ra6m5_iar_demo并调试

3

在TeraTerm中检查打印的log

RA6M5

注意,此时ra6m5_iar_demo调用的API均来自ra6m5_lib.a,UART相关callback的实现也在ra6m5_lib.a中。

至此,已经完成了在IAR中利用Lib开发RA产品的全部流程。

概括一下,需借助RASC生成基础工程,并基于此生成Library工程,应用工程可在IAR中单独建立,添加RA相关的配置后,再关联Library即可完成。

 



审核编辑:刘清

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

全部0条评论

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

×
20
完善资料,
赚取积分