0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在IAR中生成庫(kù)文件并被應(yīng)用工程調(diào)用的參考流程(上)

瑞薩MCU小百科 ? 來(lái)源:瑞薩嵌入式小百科 ? 2024-05-22 14:36 ? 次閱讀

通常來(lái)說(shuō),針對(duì)RA的開(kāi)發(fā),瑞薩對(duì)于第三方IDE的支持(如IAR EW for ARM)均通過(guò)RASC(Renesas RA Smart Configurator)實(shí)現(xiàn)。具體地說(shuō),通過(guò)RASC創(chuàng)建基礎(chǔ)工程,在FSP界面中添加相關(guān)驅(qū)動(dòng)/中間件,生成可以在IAR EW for ARM中打開(kāi)的***.eww (the workspace file)文件。

假如在開(kāi)發(fā)過(guò)程需要多人協(xié)作,則需要將原始的單一工程拆分為庫(kù)文件對(duì)應(yīng)的工程和應(yīng)用程序?qū)?yīng)的工程。本文介紹一種在IAR中生成庫(kù)文件,并被應(yīng)用工程調(diào)用的參考流程。以RA6M5為例進(jìn)行說(shuō)明。

分為以下幾步:

1

利用RASC創(chuàng)建基礎(chǔ)驅(qū)動(dòng)工程ra6m5_rasc_driver

2

在IAR中創(chuàng)建庫(kù)工程ra6m5_lib,并將第一步生成的ra6m5_rasc_driver內(nèi)容添加進(jìn)來(lái)

3

在IAR中創(chuàng)建空的C工程ra6m5_iar_demo

4

調(diào)試ra6m5_iar_demo和ra6m5_lib.a

create ra6m5_rasc_driver with rasc

利用RASC創(chuàng)建RA工程

按照以下步驟創(chuàng)建RA的IAR工程,命名為ra6m5_rasc_driver,該工程內(nèi)容是生成庫(kù)工程的基礎(chǔ)

1

設(shè)置工程名稱和位置,建議在位置界面路徑添加和工程名稱一樣的字符串,會(huì)在相應(yīng)路徑下創(chuàng)建一個(gè)同名文件夾用于存儲(chǔ)工程內(nèi)容

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

2

Device and Tools Selection界面按照實(shí)際需求配置即可

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驅(qū)動(dòng)

以添加UART驅(qū)動(dòng)為例進(jìn)行說(shuō)明

1

在Stack選項(xiàng)卡,New Stack → Connectivity → UART (r_sci_uart)

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

2

更改驅(qū)動(dòng)屬性,如g_uart7 UART (r_sci_uart)

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

3

更新hal_entry.c以支持新增驅(qū)動(dòng),如增加對(duì)callback的定義

4

點(diǎn)擊Generate Project Content以生成相關(guān)代碼

5

在IAR中對(duì)工程進(jìn)行編譯

create ra6m5_lib in iar

在IAR中創(chuàng)建新的workspace ra6m5_lib

現(xiàn)在,我們?cè)贗AR中新建庫(kù)類型的workspace,作為后續(xù)添加庫(kù)工程的基礎(chǔ)。

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

按照以下步驟進(jìn)行創(chuàng)建

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文件夾中的以下內(nèi)容拷貝到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

將以下內(nèi)容粘貼至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

將以下內(nèi)容粘貼至Defined symbols:

_RENESAS_RA_

_RA_CORE=CM33

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

修改配置assembler - preprocessor

將以下內(nèi)容粘貼至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

將以下內(nèi)容粘貼至Defined symbols:

_RENESAS_RA_

_RA_CORE=CM33

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

修改配置Linker

config

在Linker → Config界面勾選Override default,填入以下內(nèi)容:

$PROJ_DIR$scriptfsp.icf

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



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    339

    瀏覽量

    36494
  • RTOS
    +關(guān)注

    關(guān)注

    20

    文章

    804

    瀏覽量

    119112
  • FSP
    FSP
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    7072
  • uart驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1882

原文標(biāo)題:如何在IAR中創(chuàng)建RA庫(kù)項(xiàng)目(上)

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IAR中生成庫(kù)文件應(yīng)用工程調(diào)用的參考流程(下)

    Linker → Library界面勾選Override default program entry,勾選Entry symbol,填入以下內(nèi)容
    的頭像 發(fā)表于 05-22 14:38 ?1742次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>IAR</b><b class='flag-5'>中生成</b><b class='flag-5'>庫(kù)</b><b class='flag-5'>文件</b><b class='flag-5'>并</b><b class='flag-5'>被</b>應(yīng)<b class='flag-5'>用工程</b><b class='flag-5'>調(diào)用</b>的參考<b class='flag-5'>流程</b>(下)

    轉(zhuǎn):小技巧之IAR生成調(diào)用Kinetis函數(shù)庫(kù)

    (分為生成庫(kù)文件調(diào)用庫(kù)文件兩部分):生成
    發(fā)表于 07-18 11:05

    怎么matlab中生成shp文件

    我需要在matlab中生成shp文件。因?yàn)槲椰F(xiàn)在畫了一個(gè)三維的球面,需要將(x,y,z)轉(zhuǎn)換成經(jīng)緯度,其中用到了shaperead函數(shù),而要運(yùn)用這個(gè)函數(shù)我需要先生成shp文件,所以想請(qǐng)
    發(fā)表于 12-14 15:16

    請(qǐng)問(wèn)怎么labview中生成調(diào)用歷史數(shù)據(jù)的模塊?

    請(qǐng)問(wèn)有人知道labview中有專門調(diào)用歷史數(shù)據(jù)的模塊嗎?或者怎么labview中生成調(diào)用歷史數(shù)據(jù)的模塊?
    發(fā)表于 06-12 14:23

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

    你好 我EDK8.2中生成了一個(gè).bit文件,并且.bit文件可以直接下載到通過(guò)EDK8.2或IMPACT取代的fpga?,F(xiàn)在,當(dāng)我使用.bit
    發(fā)表于 08-26 08:06

    如何在keil中生成hex文件

    如何在keil中生成hex文件,下載到51單片機(jī)中一、keil中生成hex文件1、keil中
    發(fā)表于 07-15 07:18

    keil和IAR環(huán)境下lib庫(kù)生成和使用

    lib靜態(tài)庫(kù)的使用可以簡(jiǎn)化項(xiàng)目開(kāi)發(fā)流程,提高開(kāi)發(fā)效率,本文詳細(xì)介紹了keil和IAR環(huán)境下lib庫(kù)
    發(fā)表于 01-27 06:52

    Linux中生成新的gcc工具鏈后,如何使用鏈接腳本來(lái)生成能夠e203使用的.verilog文件?

    Linux中生成新的gcc工具鏈后,如何使用鏈接腳本來(lái)生成能夠e203使用的.verilog文件,希望老師能夠提供較為詳細(xì)的步驟指導(dǎo),
    發(fā)表于 08-12 07:11

    IAR編譯生成HEX文件及常見(jiàn)問(wèn)題

    IAR編譯生成HEX文件及常見(jiàn)問(wèn)題,IAR編譯ZStack-CC2430輸出HEX文件的正確配置。
    發(fā)表于 12-07 18:36 ?14次下載

    如何才能生成MDK和IAR庫(kù)文件

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何才能生成MDK和IAR庫(kù)文件。 問(wèn)題:該問(wèn)題由某客戶提出,主要是想自己做一個(gè)庫(kù)給第三方,但是又不想讓別人
    發(fā)表于 10-25 08:00 ?0次下載
    如何才能<b class='flag-5'>生成</b>MDK和<b class='flag-5'>IAR</b>的<b class='flag-5'>庫(kù)</b><b class='flag-5'>文件</b>

    如何在keil中生成個(gè)人庫(kù)文件調(diào)用方法

    代碼積累多了,大家可能都嘗試過(guò)自己寫個(gè)庫(kù),方便調(diào)用,我最初的辦法是把常用的函數(shù)放到一個(gè)個(gè).C文件里頭,要用的時(shí)候就把一個(gè)個(gè).C添加到Group里面,這種方法就很麻煩了,每次新建一個(gè)工程
    發(fā)表于 12-11 08:00 ?2次下載
    如何在keil<b class='flag-5'>中生成</b>個(gè)人<b class='flag-5'>庫(kù)</b><b class='flag-5'>文件</b>及<b class='flag-5'>調(diào)用</b>方法

    Keil&amp ; IAR生成庫(kù)庫(kù)的說(shuō)明與使用

    Keil&IAR生成庫(kù)庫(kù)的說(shuō)明與使用
    的頭像 發(fā)表于 03-20 14:09 ?3404次閱讀
    Keil&amp ; <b class='flag-5'>IAR</b><b class='flag-5'>生成</b><b class='flag-5'>庫(kù)</b>及<b class='flag-5'>庫(kù)</b>的說(shuō)明與使用

    如何在keil中生成hex文件,下載到51單片機(jī)中

    如何在keil中生成hex文件下載到51單片機(jī)中
    發(fā)表于 11-23 16:20 ?15次下載
    如何在keil<b class='flag-5'>中生成</b>hex<b class='flag-5'>文件</b>,<b class='flag-5'>并</b>下載到51單片機(jī)中

    IAR新建包含官方庫(kù)文件工程的方法

    IAR新建包含官方庫(kù)文件工程的方法
    發(fā)表于 12-03 11:06 ?10次下載
    <b class='flag-5'>IAR</b>新建包含官方<b class='flag-5'>庫(kù)</b><b class='flag-5'>文件</b>的<b class='flag-5'>工程</b>的方法

    keil和IAR中l(wèi)ib庫(kù)文件生成和使用

    lib靜態(tài)庫(kù)的使用可以簡(jiǎn)化項(xiàng)目開(kāi)發(fā)流程,提高開(kāi)發(fā)效率,本文詳細(xì)介紹了keil和IAR環(huán)境下lib庫(kù)
    發(fā)表于 12-03 11:51 ?15次下載
    keil和<b class='flag-5'>IAR</b>中l(wèi)ib<b class='flag-5'>庫(kù)</b><b class='flag-5'>文件</b>的<b class='flag-5'>生成</b>和使用