首先感謝[RA生態(tài)工作室](瑞薩 RA MCU 生態(tài)社區(qū))提供的瑞薩RA8D1 CPK開發(fā)板。
一、硬件介紹
瑞薩電子 RA8D1 MCU 系列是業(yè)界首款基于 Arm? Cortex?-M85 (CM85) 內(nèi)核的 32 位圖形微控制器 (MCU),能夠在 480 MHz 頻率下實現(xiàn)超過 3000 CoreMark 分數(shù)的突破性性能,可支持高分辨率顯示和視覺 AI 應用的卓越圖形功能。

CPKCOR-RA8D1B核心板 是瑞薩電子為中國市場設(shè)計的模塊化開發(fā)板, 使用瑞薩RA8D1MCU,支持MIPI-DSI顯示輸出接口。核心板上已經(jīng)搭載了RA8 MCU支持的較為有特色的外設(shè)接口和器件,可以直接使用核心板進行學習,評估和應用開發(fā)。
其外設(shè)包括:
16位SDRAM,32M字節(jié)容量
QSPI Flash,16M字節(jié)容量
USB 2.0高速主機/設(shè)備,JUSB Type-C 2.0接口,支持主/從功能自動切換
板載Segger Jlink調(diào)試器,同時支持一路虛擬串口,JDBG Type-C 2.0 設(shè)備接口
電源LED(白色),用戶LED(綠色),復位按鍵和用戶按鍵
2.54mm間距的通孔擴展接口
TF卡槽,支持3.3V信號電平(DS和HS速度模式)
J1,J2 兩個80管腳的高密度板對板連接器

資源相當豐富,可以做很多有趣的工作和探索。
二、移植ThreadX
ThreadX是優(yōu)秀的硬實時操作系統(tǒng)(RTOS),適用于深嵌入式應用中,具有規(guī)模小、實時性強、可靠性高、無產(chǎn)品版權(quán)費、易于使用等特點,并且支持大量的處理器和SoC,包括ARM、PowerPC、SH 4、MIPS、ADI DSP、TI DPS、Nios II等,因此廣泛應用于消費電子、汽車電子、工業(yè)自動化、網(wǎng)絡(luò)解決方案、軍事與航空航天等領(lǐng)域中。

印象中ThreadX最深刻的就是黃色X,過目不忘。
(一)開發(fā)環(huán)境
開發(fā)環(huán)境:MDK 5.37 + Renesas.RA_DFP.5.5.0
FSP:5.1
J-LINK:8.10c
因為RA8D1比較新,老舊的J-LINK驅(qū)動找不到這個MCU,最好下個最新的,F(xiàn)SP亦是如此。
(二)創(chuàng)建ThreadX工程
打開RA Smart Configurator,選擇File->New->FSP Project,新建工程。

選擇FSP版本(最新的5.1),MCU型號等信息:

因為計劃使用Keil編譯,所以IDE選擇MDK V5,MCU型號選擇R7FA8D1BHEC332AS00。
Next后選擇非TrustZone工程:

Next后,RTOS選擇Azure RTOS ThreadX。

DFP直接支持,選擇即可。

最后匯總信息如下:

(二)配置ThreadX工程
1、時鐘
首先配置時鐘,根據(jù)RA8D1 CPK開發(fā)板的硬件規(guī)格,外部晶振是24MHz,按照如下配置即可。

2、Thread
需要在ThreadX上新建一個thread,用于驗證系統(tǒng)是否正常啟動。

3、GPIO
將RA8D1 CPK開發(fā)板上的LED使能,用于上面的thread周期性點亮,從而驗證系統(tǒng)是否移植正常。

配置完成后,點擊RA Smart Configurator上的“Generate Project Content”,生成ThreadX工程文件。
(三)編譯ThreadX工程
在MDK上編譯RA Smart Configurator生成的ThreadX工程。
1、Thread
在上章節(jié)的Thread配置的new_thread0線程中完善要做的內(nèi)容,把LED燈周期性點起來。在new_thread0_entry.c文件中增加如下內(nèi)容:
#include "new_thread0.h"
#define GPIO_LED1 BSP_IO_PORT_10_PIN_01
/* New Thread entry function */
void new_thread0_entry(void)
{
/* TODO: add your own code here */
while(1)
{
R_IOPORT_PinWrite(&g_ioport_ctrl, GPIO_LED1, BSP_IO_LEVEL_LOW);
tx_thread_sleep(100);
R_IOPORT_PinWrite(&g_ioport_ctrl, GPIO_LED1, BSP_IO_LEVEL_HIGH);
tx_thread_sleep(100);
}
}
2、編譯配置
配置好IROM與IRAM的值。

3、下載配置
按照如下配置填入?yún)?shù)。

在“RAM for Algorithms”中選擇一個較大的數(shù)值,否則在燒錄的時候會出現(xiàn)“Insufficient RAM for Flash Algorithms !”錯誤。
4、編譯工程
在MDK中編譯好ThreadX工程。
compiling new_thread0.c... compiling main.c... linking... Program Size: Code=6222 RO-data=742 RW-data=1032 ZI-data=2768 FromELF: creating hex file... After Build - User command #1: cmd /c "start "Renesas" /w cmd /c ""D:/Keil_v537/Packs/Renesas/RA_DFP/5.5.0/launcherrasc_launcher.bat" "C:UsersRASmartConfiguratorthreadxrasc_version.txt" -nosplash --launcher.suppressErrors --gensmartbundle --compiler ARMv6 "C:UsersRASmartConfiguratorthreadxconfiguration.xml" "C:UsersRASmartConfiguratorthreadxObjectsthreadx.axf" 2> "%TEMP%rasc_stderr.out""" ".Objectsthreadx.axf" - 0 Error(s), 0 Warning(s). Build Time Elapsed: 00:00:28
三、測試驗證
將編譯好的固件下載至RA8D1 CPK開發(fā)板,重啟板子,綠色LED閃爍起來。

至此,ThreadX操作系統(tǒng)移植成功。
審核編輯 黃宇
-
threadx
+關(guān)注
關(guān)注
0文章
17瀏覽量
14454 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7402瀏覽量
129295 -
開發(fā)板
+關(guān)注
關(guān)注
26文章
6291瀏覽量
118087 -
cpk
+關(guān)注
關(guān)注
0文章
13瀏覽量
9329
發(fā)布評論請先 登錄
使用瑞薩RA8D1開發(fā)板實現(xiàn)人臉識別的應用演示
【瑞薩RA8D1 CPK開發(fā)板試用】開箱與點燈
【瑞薩RA8D1 CPK開發(fā)板】RA8D1移植ThreadX操作系統(tǒng)
基于RT-Thread Studio的CPK-RA6M4開發(fā)板環(huán)境搭建方案推薦
【瑞薩RA4系列開發(fā)板體驗】+ 3種瑞薩開發(fā)板的比較
基于 RT-Thread Studio的CPK-RA6M4 開發(fā)板環(huán)境搭建
如何使用CPK-RA2L1/CPK-RA2E1板創(chuàng)建基于FreeRTOS的CapTouch觸摸按鍵demo工程
【有獎評測 】最強Cortex-M85單片機!RA8D1套件(顯示屏+攝像頭)免費評測
瑞薩RA8D1 CPK開發(fā)板 移植ThreadX操作系統(tǒng)
評論