前 言
本文檔主要介紹T113-i處理器的RISC-V案例開發,演示RISC-V核心RTOS案例的編譯與加載方法。適用開發環境如下。
Windows開發環境:Windows 7 64bit、Windows 10 64bit
虛擬機:VMware15.5.5
Linux開發環境:Ubuntu18.04.464bit
U-Boot:U-Boot-2018.07
Kernel:Linux-5.4.61、Linux-RT-5.4.61
LinuxSDK:T113_Tina5.0-V1.0(Linux)
玄鐵C906是一款超高能效處理器,兼容RV64IMA[F]C[V]指令集,是業界最早量產的向量擴展RISC-V指令集處理器。采用5-8級變長流水線,典型工作頻率>1GHz,標配內存管理單元,可運行Linux等操作系統,并可選性能優異的單精度浮點和矢量運算單元。應用于消費類IPC、多媒體、消費類電子等領域。
我司提供的RISC-V案例基于官方T113_Tina5.0-V1.0 LinuxSDK。RTOS案例位于產品資料“4-軟件資料Demorisc-v-demos”目錄下,案例目錄說明如下表所示,其中bin目錄存放程序可執行文件,src目錄存放案例工程源文件。

備注:
無特殊說明情況下,本文默認使用NAND FLASH配置評估板,默認從Linux系統啟動卡啟動系統(SD啟動模式)進行測試。
Linux系統默認會初始化相關外設,不影響案例測試。
本文默認使用評估板RS232 UART2串口作為RISC-V的調試串口,請使用RS232交叉串口母母線、USB轉RS232公頭串口線,將評估板的RS232 UART2串口連接至PC機的USB接口,如下圖所示。
圖?1
開發環境搭建
RISC-V核心的RTOS案例基于Linux開發環境進行編譯。執行如下命令,進入LinuxSDK的rtos目錄,并配置環境變量和選擇編譯方案。請手動輸入"t113_i_c906_evb1_auto"對應的編號"3",按回車鍵確定。
備注:由于官方未提供相關IDE軟件和工程調試方法,因此案例使用Linux環境開發。
Host# cd /home/tronlong/T113/tina5.0_v1.0/rtos/
Host# source envsetup.sh //配置環境變量
Host# lunch_rtos //選擇編譯方案
圖?2
圖?3
工程編譯
本章節以led_flash工程為例演示RISC-V案例的編譯方法。led_flash案例功能為控制評估底板用戶可編程指示燈進行閃爍。
請將位于產品資料“4-軟件資料Demorisc-v-demosled_flashsrc”目錄下的main.c文件拷貝至Ubuntu共享目錄下,并執行如下命令,備份工程源碼,將main.c工程源碼拷貝至LinuxSDK目錄"rtos/lichee/rtos/projects/t113_i_c906/evb1_auto/src/"下。
Host# cd /home/tronlong/T113/tina5.0_v1.0/rtos/lichee/rtos/projects/t113_i_c906/evb1_auto/src/
Host# cp main.c main.c.bak
Host# cp /mnt/hgfs/SharedFolders/main.c ./main.c
圖?4
圖?5
重新打開Ubuntu終端。執行如下命令,配置Linux內核、內核版本、處理器型號、評估板型號、顯示方式、編譯器等信息。
Host# cd /home/tronlong/T113/tina5.0_v1.0/
Host# ./build.sh config
圖?6
Config具體配置如下:
========ACTION List: mk_config ;========
options :
All available platform:
0. android
1. linux
Choice [linux]: 1
All available linux_dev:
0. bsp
1. buildroot
2. openwrt
Choice [buildroot]: 1
All available ic:
0. t113
1. t113_i
2. t113_s3p
3. t113_s4
4. t113_s4p
5. t113_s2
Choice [t113_s3p]: 1
All available board:
0. evb1
1. evb1_auto
2. evb1_auto_nand
3. evb1_auto_nor
4. tlt113-evm-emmc
5. tlt113-evm-nand
6. tlt113-minievm-emmc
7. tlt113-minievm-nand
Choice [tlt113-evm-emmc]: 5
All available output_configs:
0. hdmi
1. lvds-lcd
2. mipi-lcd
3. tft-lcd
4. cvbs
Choice [hdmi]: 0
All available flash:
0. default
1. nor
Choice [default]: 0
執行如下命令,編譯程序。
Host# ./build.sh rtos
圖?7
圖?8
編譯完成后,生成RISC-V工程鏡像為"rtos/lichee/rtos/build/t113_i_c906_evb1_auto/img/rt_system.bin"和"/home/tronlong/T113/tina5.0_v1.0/device/config/chips/t113_i/bin/amp_rv0.bin"。
圖?9
程序固化
本章節主要提供通過Linux系統鏡像固化RISC-V工程鏡像的方法,并說明如何更新評估板系統RISC-V工程鏡像。
1.通過Linux系統鏡像固化RISC-V工程鏡像
請確保已參考“工程編譯”章節,編譯生成工程鏡像amp_rv0.bin。執行如下命令,進入tina5.0_v1.0目錄(即LinuxSDK開發包目錄),編譯生成包含RISC-V工程鏡像的Linux系統鏡像。
Host# cd /home/tronlong/T113/tina5.0_v1.0/
Host# ./build.sh && ./build.sh pack
圖?10
圖?11
圖?12
編譯生成的Linux鏡像位于"/home/tronlong/T113/tina5.0_v1.0/out/"目錄下。請參考Linux系統啟動卡制作及系統固化文檔,將Linux系統鏡像文件固化至Micro SD卡或NAND FLASH即可。
備注:eMMC配置核心板請參考eMMC配置核心板使用說明文檔生成Linux系統鏡像。
2.更新評估板系統RISC-V工程鏡像
此方法可通過ARM端加載RISC-V工程鏡像。
請將編譯生成的RISC-V工程鏡像拷貝至評估板系統的"/lib/firmware/"目錄下替換原有的鏡像。
圖?13
啟用RISC-V核心
系統默認不啟用RISC-V核心,請執行如下命令,啟用RISC-V核心并加載工程鏡像。
Target# echo amp_rv0.bin> /sys/class/remoteproc/remoteproc1/firmware //指定加載的工程鏡像
Target# echo start > /sys/class/remoteproc/remoteproc1/state //啟用RISC-V核心并加載工程鏡像
圖?14
RISC-V核心啟動后將自動運行程序,RS232 UART2串口終端將會打印如下類似信息,并可看到評估底板用戶可編程指示燈每隔0.5s閃爍一次。
圖?15
測試完成后,執行如下命令,關閉RISC-V核心。
Target# echo stop > /sys/class/remoteproc/remoteproc1/state
圖?16
RISC-V案例演示說明
本章節提供RISC-V核心的RTOS案例說明。請使用Type-C線連接PC機和評估板的USB TO UART0串口;使用RS232交叉串口母母線、USB轉RS232公頭串口線,將評估板的RS232 UART2串口連接至PC機的USB接口。
備注:案例基于ARM端加載RISC-V工程鏡像的方法測試。
led_flash案例
案例功能
控制評估底板用戶可編程指示燈每隔0.5s閃爍一次。
程序流程如下圖所示。
圖?17
案例測試
將本案例bin目錄下的可執行文件amp_rv0.bin拷貝至評估板系統的"/lib/firmware/"目錄下,并在可執行文件程序目錄下請執行如下命令,啟動RISC-V核心并加載工程鏡像。
Target# echo amp_rv0.bin> /sys/class/remoteproc/remoteproc1/firmware //指定加載的工程鏡像
Target# echo start > /sys/class/remoteproc/remoteproc1/state //啟用RISC-V核心并加載工程鏡像
圖?18
RISC-V核心啟動后將自動運行RISC-V程序,RS232 UART2串口終端將會打印如下類似信息,并可看到評估底板用戶可編程指示燈每隔0.5s閃爍一次。
圖?19
執行如下命令,關閉RISC-V核心,程序將停止運行。
Target# echo stop > /sys/class/remoteproc/remoteproc1/state
圖?20
關鍵代碼
1.創建任務。
圖?21
2.配置及控制GPIO。
圖?22
由于篇幅過長等原因,部分內容均不逐一展示,如需獲取完整版詳細資料,請關注創龍科技微信公眾號或官網,或者評論區留言,感謝您的支持!
審核編輯 黃宇
-
開發板
+關注
關注
25文章
6092瀏覽量
112353 -
RISC-V
+關注
關注
48文章
2754瀏覽量
51646
發布評論請先 登錄
【正點原子】全志T113-i開發板資料震撼來襲!異核開發、工控設計方案!
國產開發板—米爾全志T113-i如何實現ARM+RISC-V+DSP協同計算?
全志T113i全國產核心板上市
G2D圖像處理硬件調用和測試-基于米爾-全志T113-i開發板
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—ARM + DSP、RISC-V核間通信開發案例

國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—RISC-V案例開發手冊(上)
評論