首先感謝[RA生態(tài)工作室](瑞薩 RA MCU 生態(tài)社區(qū))提供的瑞薩RA8D1 CPK開發(fā)板。
一、硬件介紹
瑞薩電子 RA8D1 MCU 系列是業(yè)界首款基于 Arm? Cortex?-M85 (CM85) 內(nèi)核的 32 位圖形微控制器 (MCU),能夠在 480 MHz 頻率下實(shí)現(xiàn)超過 3000 CoreMark 分?jǐn)?shù)的突破性性能,可支持高分辨率顯示和視覺 AI 應(yīng)用的卓越圖形功能。
CPKCOR-RA8D1B核心板 是瑞薩電子為中國(guó)市場(chǎng)設(shè)計(jì)的模塊化開發(fā)板, 使用瑞薩RA8D1MCU,支持MIPI-DSI顯示輸出接口。核心板上已經(jīng)搭載了RA8 MCU支持的較為有特色的外設(shè)接口和器件,可以直接使用核心板進(jìn)行學(xué)習(xí),評(píng)估和應(yīng)用開發(fā)。
其外設(shè)包括:
16位SDRAM,32M字節(jié)容量
QSPI Flash,16M字節(jié)容量
USB 2.0高速主機(jī)/設(shè)備,JUSB Type-C 2.0接口,支持主/從功能自動(dòng)切換
板載Segger Jlink調(diào)試器,同時(shí)支持一路虛擬串口,JDBG Type-C 2.0 設(shè)備接口
電源LED(白色),用戶LED(綠色),復(fù)位按鍵和用戶按鍵
2.54mm間距的通孔擴(kuò)展接口
TF卡槽,支持3.3V信號(hào)電平(DS和HS速度模式)
J1,J2 兩個(gè)80管腳的高密度板對(duì)板連接器
資源相當(dāng)豐富,可以做很多有趣的工作和探索。
二、移植ThreadX
ThreadX是優(yōu)秀的硬實(shí)時(shí)操作系統(tǒng)(RTOS),適用于深嵌入式應(yīng)用中,具有規(guī)模小、實(shí)時(shí)性強(qiáng)、可靠性高、無產(chǎn)品版權(quán)費(fèi)、易于使用等特點(diǎn),并且支持大量的處理器和SoC,包括ARM、PowerPC、SH 4、MIPS、ADI DSP、TI DPS、Nios II等,因此廣泛應(yīng)用于消費(fèi)電子、汽車電子、工業(yè)自動(dòng)化、網(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
因?yàn)镽A8D1比較新,老舊的J-LINK驅(qū)動(dòng)找不到這個(gè)MCU,最好下個(gè)最新的,F(xiàn)SP亦是如此。
(二)創(chuàng)建ThreadX工程
打開RA Smart Configurator,選擇File->New->FSP Project,新建工程。
選擇FSP版本(最新的5.1),MCU型號(hào)等信息:
因?yàn)橛?jì)劃使用Keil編譯,所以IDE選擇MDK V5,MCU型號(hào)選擇R7FA8D1BHEC332AS00。
Next后選擇非TrustZone工程:
Next后,RTOS選擇Azure RTOS ThreadX。
DFP直接支持,選擇即可。
最后匯總信息如下:
(二)配置ThreadX工程
1、時(shí)鐘
首先配置時(shí)鐘,根據(jù)RA8D1 CPK開發(fā)板的硬件規(guī)格,外部晶振是24MHz,按照如下配置即可。
2、Thread
需要在ThreadX上新建一個(gè)thread,用于驗(yàn)證系統(tǒng)是否正常啟動(dòng)。
3、GPIO
將RA8D1 CPK開發(fā)板上的LED使能,用于上面的thread周期性點(diǎn)亮,從而驗(yàn)證系統(tǒng)是否移植正常。
配置完成后,點(diǎn)擊RA Smart Configurator上的“Generate Project Content”,生成ThreadX工程文件。
(三)編譯ThreadX工程
在MDK上編譯RA Smart Configurator生成的ThreadX工程。
1、Thread
在上章節(jié)的Thread配置的new_thread0線程中完善要做的內(nèi)容,把LED燈周期性點(diǎn)起來。在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”中選擇一個(gè)較大的數(shù)值,否則在燒錄的時(shí)候會(huì)出現(xiàn)“Insufficient RAM for Flash Algorithms !”錯(cuò)誤。
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
三、測(cè)試驗(yàn)證
將編譯好的固件下載至RA8D1 CPK開發(fā)板,重啟板子,綠色LED閃爍起來。
至此,ThreadX操作系統(tǒng)移植成功。
審核編輯 黃宇
-
threadx
+關(guān)注
關(guān)注
0文章
16瀏覽量
13912 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6942瀏覽量
124175 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5221瀏覽量
99192 -
cpk
+關(guān)注
關(guān)注
0文章
13瀏覽量
9124
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1 Vision Board初體驗(yàn)
【瑞薩RA8D1 CPK開發(fā)板試用】開箱與點(diǎn)燈
【瑞薩RA8D1 CPK開發(fā)板】RA8D1移植ThreadX操作系統(tǒng)
基于RT-Thread Studio的CPK-RA6M4開發(fā)板環(huán)境搭建方案推薦
【瑞薩RA4系列開發(fā)板體驗(yàn)】+ 3種瑞薩開發(fā)板的比較
【瑞薩RA4系列開發(fā)板體驗(yàn)】1、開發(fā)板要來了(1)
基于 RT-Thread Studio的CPK-RA6M4 開發(fā)板環(huán)境搭建
如何使用CPK-RA2L1/CPK-RA2E1板創(chuàng)建基于FreeRTOS的CapTouch觸摸按鍵demo工程
基于瑞薩電子RA系列的野火耀陽(yáng)RA8D1開發(fā)板產(chǎn)品簡(jiǎn)介

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

評(píng)論