通常來(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)容
2
Device and Tools Selection界面按照實(shí)際需求配置即可
3
Project Type Selection界面選擇Flat
4
RTOS Selection界面選擇No RTOS
5
Project Template Selection界面選擇Bare Metal - Minimal
在FSP中增加UART驅(qū)動(dòng)
以添加UART驅(qū)動(dòng)為例進(jìn)行說(shuō)明
1
在Stack選項(xiàng)卡,New Stack → Connectivity → UART (r_sci_uart)
2
更改驅(qū)動(dòng)屬性,如g_uart7 UART (r_sci_uart)
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
File → Save Workspace As…
將workspace另存為ra6m5_lib.eww
新建工程ra6m5_lib
按照以下步驟進(jìn)行創(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文章
339瀏覽量
36494 -
RTOS
+關(guān)注
關(guān)注
20文章
804瀏覽量
119112 -
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)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論