通常來說,針對RA的開發(fā),瑞薩對于第三方IDE的支持(如IAR EW for ARM)均通過RASC(Renesas RA Smart Configurator)實現(xiàn)。具體地說,通過RASC創(chuàng)建基礎(chǔ)工程,在FSP界面中添加相關(guān)驅(qū)動/中間件,生成可以在IAR EW for ARM中打開的***.eww (the workspace file)文件。
假如在開發(fā)過程需要多人協(xié)作,則需要將原始的單一工程拆分為庫文件對應的工程和應用程序?qū)墓こ?。本文介紹一種在IAR中生成庫文件,并被應用工程調(diào)用的參考流程。以RA6M5為例進行說明。
分為以下幾步:
1
利用RASC創(chuàng)建基礎(chǔ)驅(qū)動工程ra6m5_rasc_driver
2
在IAR中創(chuàng)建庫工程ra6m5_lib,并將第一步生成的ra6m5_rasc_driver內(nè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)容是生成庫工程的基礎(chǔ)
1
設置工程名稱和位置,建議在位置界面路徑添加和工程名稱一樣的字符串,會在相應路徑下創(chuàng)建一個同名文件夾用于存儲工程內(nèi)容

2
Device and Tools Selection界面按照實際需求配置即可

3
Project Type Selection界面選擇Flat

4
RTOS Selection界面選擇No RTOS

5
Project Template Selection界面選擇Bare Metal - Minimal

在FSP中增加UART驅(qū)動
以添加UART驅(qū)動為例進行說明
1
在Stack選項卡,New Stack → Connectivity → UART (r_sci_uart)

2
更改驅(qū)動屬性,如g_uart7 UART (r_sci_uart)

3
更新hal_entry.c以支持新增驅(qū)動,如增加對callback的定義
4
點擊Generate Project Content以生成相關(guān)代碼
5
在IAR中對工程進行編譯
create ra6m5_lib in iar
在IAR中創(chuàng)建新的workspace ra6m5_lib
現(xiàn)在,我們在IAR中新建庫類型的workspace,作為后續(xù)添加庫工程的基礎(chǔ)。
File → New Workspace

File → Save Workspace As…

將workspace另存為ra6m5_lib.eww

新建工程ra6m5_lib
按照以下步驟進行創(chuàng)建
Project → Create New Project…

Project templates → Empty project

另存為ra6m5_lib.ewp

將文件夾和文件拷貝到ra6m5_Lib
將ra6m5_rasc_driver文件夾中的以下內(nèi)容拷貝到ra6m5_lib工程中
ra
ra_cfg
ra_gen
script
src
memory_regions.icf
partition_device.mac

在工程中添加源文件
添加以下源文件 (***.c)
raoard a6m5_ek
rafspsrcspcmsisDeviceRENESASSource
rafspsrcspmcuall
rafspsrc _ioport
rafspsrc _sci_uart
ra_gen
src


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

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

修改配置Linker
config
在Linker → Config界面勾選Override default,填入以下內(nèi)容:
$PROJ_DIR$scriptfsp.icf

審核編輯:劉清
-
IAR
+關(guān)注
關(guān)注
5文章
410瀏覽量
38547 -
RTOS
+關(guān)注
關(guān)注
25文章
866瀏覽量
122997 -
FSP
+關(guān)注
關(guān)注
0文章
48瀏覽量
7739 -
uart驅(qū)動
+關(guān)注
關(guān)注
0文章
3瀏覽量
2081
發(fā)布評論請先 登錄
在IAR中生成庫文件并被應用工程調(diào)用的參考流程(下)
怎么在matlab中生成shp文件
請問怎么在labview中生成調(diào)用歷史數(shù)據(jù)的模塊?
怎么配置在EDK8.2中生成的.bit文件prom?
在keil和IAR環(huán)境下lib庫的生成和使用
在Linux中生成新的gcc工具鏈后,如何使用鏈接腳本來生成能夠被e203使用的.verilog文件?
如何才能生成MDK和IAR的庫文件
如何在keil中生成個人庫文件及調(diào)用方法
keil和IAR中l(wèi)ib庫文件的生成和使用
在IAR中生成庫文件并被應用工程調(diào)用的參考流程(上)
評論