首先感謝[RA生態工作室](瑞薩 RA MCU 生態社區)提供的瑞薩RA8D1 CPK開發板。
一、硬件介紹
瑞薩電子 RA8D1 MCU 系列是業界首款基于 Arm? Cortex?-M85 (CM85) 內核的 32 位圖形微控制器 (MCU),能夠在 480 MHz 頻率下實現超過 3000 CoreMark 分數的突破性性能,可支持高分辨率顯示和視覺 AI 應用的卓越圖形功能。
CPKCOR-RA8D1B核心板 是瑞薩電子為中國市場設計的模塊化開發板, 使用瑞薩RA8D1MCU,支持MIPI-DSI顯示輸出接口。核心板上已經搭載了RA8 MCU支持的較為有特色的外設接口和器件,可以直接使用核心板進行學習,評估和應用開發。
其外設包括:
16位SDRAM,32M字節容量
QSPI Flash,16M字節容量
USB 2.0高速主機/設備,JUSB Type-C 2.0接口,支持主/從功能自動切換
板載Segger Jlink調試器,同時支持一路虛擬串口,JDBG Type-C 2.0 設備接口
電源LED(白色),用戶LED(綠色),復位按鍵和用戶按鍵
2.54mm間距的通孔擴展接口
TF卡槽,支持3.3V信號電平(DS和HS速度模式)
J1,J2 兩個80管腳的高密度板對板連接器
資源相當豐富,可以做很多有趣的工作和探索。
二、移植ThreadX
ThreadX是優秀的硬實時操作系統(RTOS),適用于深嵌入式應用中,具有規模小、實時性強、可靠性高、無產品版權費、易于使用等特點,并且支持大量的處理器和SoC,包括ARM、PowerPC、SH 4、MIPS、ADI DSP、TI DPS、Nios II等,因此廣泛應用于消費電子、汽車電子、工業自動化、網絡解決方案、軍事與航空航天等領域中。
印象中ThreadX最深刻的就是黃色X,過目不忘。
(一)開發環境
開發環境:MDK 5.37 + Renesas.RA_DFP.5.5.0
FSP:5.1
J-LINK:8.10c
因為RA8D1比較新,老舊的J-LINK驅動找不到這個MCU,最好下個最新的,FSP亦是如此。
(二)創建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、時鐘
首先配置時鐘,根據RA8D1 CPK開發板的硬件規格,外部晶振是24MHz,按照如下配置即可。
2、Thread
需要在ThreadX上新建一個thread,用于驗證系統是否正常啟動。
3、GPIO
將RA8D1 CPK開發板上的LED使能,用于上面的thread周期性點亮,從而驗證系統是否移植正常。
配置完成后,點擊RA Smart Configurator上的“Generate Project Content”,生成ThreadX工程文件。
(三)編譯ThreadX工程
在MDK上編譯RA Smart Configurator生成的ThreadX工程。
1、Thread
在上章節的Thread配置的new_thread0線程中完善要做的內容,把LED燈周期性點起來。在new_thread0_entry.c文件中增加如下內容:
#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、下載配置
按照如下配置填入參數。
在“RAM for Algorithms”中選擇一個較大的數值,否則在燒錄的時候會出現“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開發板,重啟板子,綠色LED閃爍起來。
至此,ThreadX操作系統移植成功。
審核編輯 黃宇
-
threadx
+關注
關注
0文章
15瀏覽量
13864 -
操作系統
+關注
關注
37文章
6892瀏覽量
123742 -
開發板
+關注
關注
25文章
5121瀏覽量
98191 -
cpk
+關注
關注
0文章
12瀏覽量
9100
發布評論請先 登錄
相關推薦
評論