首先感謝[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 分?jǐn)?shù)的突破性性能,可支持高分辨率顯示和視覺 AI 應(yīng)用的卓越圖形功能。
CPKCOR-RA8D1B核心板 是瑞薩電子為中國市場設(shè)計的模塊化開發(fā)板, 使用瑞薩RA8D1MCU,支持MIPI-DSI顯示輸出接口。核心板上已經(jīng)搭載了RA8 MCU支持的較為有特色的外設(shè)接口和器件,可以直接使用核心板進(jìn)行學(xué)習(xí),評估和應(yīng)用開發(fā)。
其外設(shè)包括:
16位SDRAM,32M字節(jié)容量
QSPI Flash,16M字節(jié)容量
USB 2.0高速主機(jī)/設(shè)備,JUSB Type-C 2.0接口,支持主/從功能自動切換
板載Segger Jlink調(diào)試器,同時支持一路虛擬串口,JDBG Type-C 2.0 設(shè)備接口
電源LED(白色),用戶LED(綠色),復(fù)位按鍵和用戶按鍵
2.54mm間距的通孔擴(kuò)展接口
TF卡槽,支持3.3V信號電平(DS和HS速度模式)
J1,J2 兩個80管腳的高密度板對板連接器
資源相當(dāng)豐富,可以做很多有趣的工作和探索。
二、移植ThreadX
ThreadX是優(yōu)秀的硬實時操作系統(tǒng)(RTOS),適用于深嵌入式應(yīng)用中,具有規(guī)模小、實時性強(qiáng)、可靠性高、無產(chǎn)品版權(quán)費、易于使用等特點,并且支持大量的處理器和SoC,包括ARM、PowerPC、SH 4、MIPS、ADI DSP、TI DPS、Nios II等,因此廣泛應(yīng)用于消費電子、汽車電子、工業(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瀏覽量
14065 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7151瀏覽量
125579 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5680瀏覽量
104704 -
cpk
+關(guān)注
關(guān)注
0文章
13瀏覽量
9218
發(fā)布評論請先 登錄
基于瑞薩電子RA8D1 MCU的USB和I2S數(shù)字音頻應(yīng)用解決方案

【Vision Board創(chuàng)客營連載體驗】RA8D1 Vision Board初體驗
【瑞薩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工程
基于瑞薩電子RA系列的野火耀陽RA8D1開發(fā)板產(chǎn)品簡介

基于瑞薩RA0E1開發(fā)板的ThreadX實時操作系統(tǒng)串口回顯測試

評論