0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

瑞萨MCU小百科 来源:瑞萨嵌入式小百科 2024-05-22 14:38 次阅读

create ra6m5_lib in iar

在IAR中创建新的workspace ra6m5_lib

修改配置Linker

Library

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

Reset_Handler

30fa563e-17f1-11ef-b74b-92fbcf53809c.png

extra options

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

--config_search “$PROJ_DIR$”

31baf678-17f1-11ef-b74b-92fbcf53809c.png

修改配置Debugger

setup

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

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

$PROJ_DIR$partition_device.mac

31c6ba62-17f1-11ef-b74b-92fbcf53809c.png

download

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

31d888fa-17f1-11ef-b74b-92fbcf53809c.png

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)

31e8302a-17f1-11ef-b74b-92fbcf53809c.png

修改配置general options

1

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

320e8180-17f1-11ef-b74b-92fbcf53809c.png

2

General Options → Target → Device → Renesas R7FA6M5BH

321aa92e-17f1-11ef-b74b-92fbcf53809c.png

3

General Options → Target → Output → Output file → Library

32249fce-17f1-11ef-b74b-92fbcf53809c.png

检查lra6m5_lib.a文件

1

编译工程ra6m5_lib

323a9ea0-17f1-11ef-b74b-92fbcf53809c.png

2

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

324a0e94-17f1-11ef-b74b-92fbcf53809c.png

3

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

3259d324-17f1-11ef-b74b-92fbcf53809c.png

Create RA6M5 IAR DEMO in IAR

创建新workspace ra6m5_IAR_DEMO

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

File → New Workspace

3268750a-17f1-11ef-b74b-92fbcf53809c.png

File → Save Workspace As…

327a03e2-17f1-11ef-b74b-92fbcf53809c.png

另存为ra6m5_iar_demo.eww

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

327d8b98-17f1-11ef-b74b-92fbcf53809c.png

创建新工程ra6m5_iar_demo

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

Project → Create New Project…

329c07e4-17f1-11ef-b74b-92fbcf53809c.png

Project templates → Empty project

329fe580-17f1-11ef-b74b-92fbcf53809c.png

Save as ra6m5_iar_demo.ewp

32b43760-17f1-11ef-b74b-92fbcf53809c.png

将文件夹和文件拷贝到ra6m5_iar_demo

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

script

memory_regions.icf

partition_device.mac

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

32be8152-17f1-11ef-b74b-92fbcf53809c.png

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

32c908f2-17f1-11ef-b74b-92fbcf53809c.png

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

32d801ae-17f1-11ef-b74b-92fbcf53809c.png

修改配置linker

config

在Linker → Config界面

勾选 Override default

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

32e34186-17f1-11ef-b74b-92fbcf53809c.png

在Linker → Library界面

参数填入

$PROJ_DIR$.. a6m5_libDebugExe a6m5_lib.a

勾选Override default program entry

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

32fd0260-17f1-11ef-b74b-92fbcf53809c.png

extra options

在Linker → Extra Options界面

勾选 Use command line options

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

3301d254-17f1-11ef-b74b-92fbcf53809c.png

修改配置Debugger

Setup

在Debugger → Setup界面

Driver → J-Link/J-Trace

Setup macros

勾选 Use marco file(s)

参数填入 $PROJ_DIR$partition_device.mac

331a64c2-17f1-11ef-b74b-92fbcf53809c.png

Download

在Debugger → Download界面

取消勾选 Use flash loader(s)

3335acb4-17f1-11ef-b74b-92fbcf53809c.png

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)

334a28f6-17f1-11ef-b74b-92fbcf53809c.png

修改配置general options

1

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

335cbb56-17f1-11ef-b74b-92fbcf53809c.png

2

General Options → Target → Device → Renesas R7FA6M5BH

33728d78-17f1-11ef-b74b-92fbcf53809c.png

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

3394e36e-17f1-11ef-b74b-92fbcf53809c.png

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

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

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



审核编辑:刘清

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

    关注

    0

    文章

    39

    浏览量

    11870
  • uart
    +关注

    关注

    22

    文章

    1227

    浏览量

    101160
  • J-Link
    +关注

    关注

    0

    文章

    83

    浏览量

    22113
  • RA6M5
    +关注

    关注

    0

    文章

    7

    浏览量

    368

原文标题:如何在IAR中创建RA库项目(下)

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IAR中生成文件用工程调用的参考流程(上)

    通常来说,针对RA的开发,瑞萨对于第三方IDE的支持(如IAR EW for ARM)均通过RASC(Renesas RA Smart Configurator)实现。
    的头像 发表于 05-22 14:36 1963次阅读
    <b class='flag-5'>在</b><b class='flag-5'>IAR</b><b class='flag-5'>中生成</b><b class='flag-5'>库</b><b class='flag-5'>文件</b><b class='flag-5'>并</b><b class='flag-5'>被</b>应<b class='flag-5'>用工程</b><b class='flag-5'>调用</b>的参考<b class='flag-5'>流程</b>(上)

    转:小技巧之IAR生成调用Kinetis函数

    (分为生成文件调用文件两部分):生成
    发表于 07-18 11:05

    请问怎么labview中生成调用历史数据的模块?

    请问有人知道labview中有专门调用历史数据的模块吗?或者怎么labview中生成调用历史数据的模块?
    发表于 06-12 14:23

    怎么配置EDK8.2中生成的.bit文件prom?

    你好 我EDK8.2中生成了一个.bit文件,并且.bit文件可以直接下载到通过EDK8.2或IMPACT取代的fpga。现在,当我使用.bit
    发表于 08-26 08:06

    如何在keil中生成hex文件

    如何在keil中生成hex文件下载到51单片机中一、keil中生成hex文件1、keil中
    发表于 07-15 07:18

    keil和IAR环境lib生成和使用

    lib静态的使用可以简化项目开发流程,提高开发效率,本文详细介绍了keil和IAR环境lib
    发表于 01-27 06:52

    Linux中生成新的gcc工具链后,如何使用链接脚本来生成能够e203使用的.verilog文件

    Linux中生成新的gcc工具链后,如何使用链接脚本来生成能够e203使用的.verilog文件,希望老师能够提供较为详细的步骤指导,
    发表于 08-12 07:11

    IAR编译生成HEX文件及常见问题

    IAR编译生成HEX文件及常见问题,IAR编译ZStack-CC2430输出HEX文件的正确配置。
    发表于 12-07 18:36 14次下载

    如何才能生成MDK和IAR文件

    本文档的主要内容详细介绍的是如何才能生成MDK和IAR文件。 问题:该问题由某客户提出,主要是想自己做一个给第三方,但是又不想让别人
    发表于 10-25 08:00 0次下载
    如何才能<b class='flag-5'>生成</b>MDK和<b class='flag-5'>IAR</b>的<b class='flag-5'>库</b><b class='flag-5'>文件</b>

    如何在keil中生成个人文件调用方法

    代码积累多了,大家可能都尝试过自己写个,方便调用,我最初的办法是把常用的函数放到一个个.C文件里头,要用的时候就把一个个.C添加到Group里面,这种方法就很麻烦了,每次新建一个工程
    发表于 12-11 08:00 2次下载
    如何在keil<b class='flag-5'>中生成</b>个人<b class='flag-5'>库</b><b class='flag-5'>文件</b>及<b class='flag-5'>调用</b>方法

    Keil&amp ; IAR生成的说明与使用

    Keil&IAR生成的说明与使用
    的头像 发表于 03-20 14:09 3525次阅读
    Keil&amp ; <b class='flag-5'>IAR</b><b class='flag-5'>生成</b><b class='flag-5'>库</b>及<b class='flag-5'>库</b>的说明与使用

    如何在keil中生成hex文件下载到51单片机中

    如何在keil中生成hex文件下载到51单片机中
    发表于 11-23 16:20 15次下载
    如何在keil<b class='flag-5'>中生成</b>hex<b class='flag-5'>文件</b>,<b class='flag-5'>并</b>下载到51单片机中

    IAR新建包含官方文件工程的方法

    IAR新建包含官方文件工程的方法
    发表于 12-03 11:06 10次下载
    <b class='flag-5'>IAR</b>新建包含官方<b class='flag-5'>库</b><b class='flag-5'>文件</b>的<b class='flag-5'>工程</b>的方法

    keil和IAR中lib文件生成和使用

    lib静态的使用可以简化项目开发流程,提高开发效率,本文详细介绍了keil和IAR环境lib
    发表于 12-03 11:51 15次下载
    keil和<b class='flag-5'>IAR</b>中lib<b class='flag-5'>库</b><b class='flag-5'>文件</b>的<b class='flag-5'>生成</b>和使用

    自动生成的程序、程序的调用

    本文介绍Motion Solution Wizard自动生成的程序、程序的调用简单介绍运动控制工程调用的运动控制
    发表于 03-08 15:33 468次阅读