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

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

3天内不再提示

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

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

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

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

2b71984e-17f1-11ef-b74b-92fbcf53809c.png

2

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

2bbca12c-17f1-11ef-b74b-92fbcf53809c.png

3

Project Type Selection界面选择Flat

2bd69e4c-17f1-11ef-b74b-92fbcf53809c.png

4

RTOS Selection界面选择No RTOS

2bf3d46c-17f1-11ef-b74b-92fbcf53809c.png

5

Project Template Selection界面选择Bare Metal - Minimal

2bff8c12-17f1-11ef-b74b-92fbcf53809c.png

在FSP中增加UART驱动

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

1

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

2c21fb3a-17f1-11ef-b74b-92fbcf53809c.png

2

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

2c2dbd58-17f1-11ef-b74b-92fbcf53809c.png

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

2c4d9448-17f1-11ef-b74b-92fbcf53809c.png

File → Save Workspace As…

2c59fd46-17f1-11ef-b74b-92fbcf53809c.png

将workspace另存为ra6m5_lib.eww

2c64e6d4-17f1-11ef-b74b-92fbcf53809c.png

新建工程ra6m5_lib

按照以下步骤进行创建

Project → Create New Project…

2c755a50-17f1-11ef-b74b-92fbcf53809c.png

Project templates → Empty project

2c96d496-17f1-11ef-b74b-92fbcf53809c.png

另存为ra6m5_lib.ewp

2ca49252-17f1-11ef-b74b-92fbcf53809c.png

将文件夹和文件拷贝到ra6m5_Lib

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

ra

ra_cfg

ra_gen

script

src

memory_regions.icf

partition_device.mac

2cb10df2-17f1-11ef-b74b-92fbcf53809c.png

在工程中添加源文件

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

raoard a6m5_ek

rafspsrcspcmsisDeviceRENESASSource

rafspsrcspmcuall

rafspsrc _ioport

rafspsrc _sci_uart

ra_gen

src

2cbc8862-17f1-11ef-b74b-92fbcf53809c.png2cc0305c-17f1-11ef-b74b-92fbcf53809c.png

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

2ccb005e-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

2cd5f374-17f1-11ef-b74b-92fbcf53809c.png

修改配置Linker

config

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

$PROJ_DIR$scriptfsp.icf

2cf3ce76-17f1-11ef-b74b-92fbcf53809c.png



审核编辑:刘清

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

    关注

    5

    文章

    354

    浏览量

    36757
  • RTOS
    +关注

    关注

    22

    文章

    819

    浏览量

    119857
  • FSP
    FSP
    +关注

    关注

    0

    文章

    34

    浏览量

    7171
  • uart驱动
    +关注

    关注

    0

    文章

    3

    浏览量

    1911

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

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

收藏 人收藏

    评论

    相关推荐

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

    Linker → Library界面勾选Override default program entry,勾选Entry symbol,填入以下内容
    的头像 发表于 05-22 14:38 3191次阅读
    <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

    怎么matlab中生成shp文件

    我需要在matlab中生成shp文件。因为我现在画了一个三维的球面,需要将(x,y,z)转换成经纬度,其中用到了shaperead函数,而要运用这个函数我需要先生成shp文件,所以想请
    发表于 12-14 15:16

    请问怎么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 3682次阅读
    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>和使用