首頁(yè) > 評(píng)測(cè) > 全志D1s RDC2022紀(jì)念版開(kāi)發(fā)板開(kāi)箱評(píng)測(cè)及點(diǎn)屏教程
全志D1s RDC2022紀(jì)念版開(kāi)發(fā)板開(kāi)箱評(píng)測(cè)及點(diǎn)屏教程
- [導(dǎo)讀]
- 目錄芯片介紹開(kāi)發(fā)板介紹RT-Smart用戶態(tài)系統(tǒng)編譯使用感想引用 1. 芯片介紹RISC-V架構(gòu)由于其精簡(jiǎn)和開(kāi)源的特性,得到業(yè)界的認(rèn)可,近幾年可謂相當(dāng)熱門(mén)。操作系統(tǒng)方面有RT-Thread,Linux等支持。在今年早些時(shí)候,Google希
目錄
- 芯片介紹
- 開(kāi)發(fā)板介紹
- RT-Smart用戶態(tài)系統(tǒng)編譯使用
- 感想
- 引用
RISC-V架構(gòu)由于其精簡(jiǎn)和開(kāi)源的特性,得到業(yè)界的認(rèn)可,近幾年可謂相當(dāng)熱門(mén)。操作系統(tǒng)方面有RT-Thread,Linux等支持。在今年早些時(shí)候,Google希望RISC-V成為Android支持的“一級(jí)”架構(gòu)。
D1s 是22nm 64bit RISC-V 架構(gòu)的處理器,主頻720MHz。內(nèi)置64M DDR2。支持RGB,MIPI等視頻輸出接口,ADC、DAC、I2S、PCM、DMIC、OWA 等多種音頻接口。音視頻編解碼支持如下:
Video decoding H.265 up to 1080p@60fps H.264 up to 1080p@60fps MPEG-1/2/4, JPEG, VC1 up to 1080p@60fpsVideo encoding JPEG/MJPEG up to 1080p@60fps Supports input picture scaler up/down芯片框圖如下:
2. 開(kāi)發(fā)板介紹RDC2022 紀(jì)念版開(kāi)發(fā)板是基于D1s芯片的小尺寸開(kāi)發(fā)板,尺寸為5.5cm*4cm。正面包含一塊D1s核心板,外圍電路采用ME3116作為DCDC降壓芯片,CH340N作為USB-TTL芯片,PT4103作為背光驅(qū)動(dòng),并包含一塊LM4890音頻功放。總體電路比較簡(jiǎn)潔。
開(kāi)發(fā)板上方USB為燒錄口,下方為串口,可以在開(kāi)發(fā)板啟動(dòng)后接串口調(diào)試。
開(kāi)發(fā)板背面為SD卡插槽,一個(gè)RGB888接口接顯示屏,和一個(gè)觸摸屏接口。該開(kāi)發(fā)板還包含兩組12腳的PMOD接口用于接插外設(shè)。
RGB接口按引腳定義可以接入通用RGB屏幕,我這里接的是480*272的屏幕,引腳定義如下:
整體開(kāi)發(fā)板原理圖:
2022-RDC-D1S.pdf
3. RT-SMART用戶態(tài)系統(tǒng)編譯使用2022-RDC-D1S.pdf
RT-Smart 是基于 RT-Thread 操作系統(tǒng)上的混合操作系統(tǒng),把應(yīng)用從內(nèi)核中獨(dú)立出來(lái),形成獨(dú)立的用戶態(tài)應(yīng)用程序。這樣更加安全。
以下編譯過(guò)程參考了快來(lái)嘗鮮!使用 D1s (RDC2022 紀(jì)念版) 運(yùn)行 RT-Smart,并將過(guò)程中一些小坑記錄下,方便后面遇到同樣問(wèn)題的人。
3.1 刷機(jī)&調(diào)試環(huán)境準(zhǔn)備以下編譯過(guò)程參考了快來(lái)嘗鮮!使用 D1s (RDC2022 紀(jì)念版) 運(yùn)行 RT-Smart,并將過(guò)程中一些小坑記錄下,方便后面遇到同樣問(wèn)題的人。
操作系統(tǒng):Windows
下載 zadig.7z
下載 zadig.7z
首先用typec數(shù)據(jù)線一端插入燒錄口,按住FEL按鈕同時(shí)另一端插入電腦,此時(shí)設(shè)備進(jìn)入FEL模式。第一次插入設(shè)備管理器會(huì)發(fā)現(xiàn)未知設(shè)備。運(yùn)行Zadig安裝驅(qū)動(dòng),如下圖:
之后就可以在FEL模式下刷機(jī)。
之后就可以在FEL模式下刷機(jī)。
用typec數(shù)據(jù)線一端插入調(diào)試口,另一端插入電腦。電腦打開(kāi)串口軟件,選擇對(duì)應(yīng)串口,波特率設(shè)為500000,則可以通過(guò)串口進(jìn)行調(diào)試。
3.2 開(kāi)發(fā)編譯環(huán)境準(zhǔn)備操作系統(tǒng):Ubuntu 20.04
下載用戶態(tài)代碼:
git clone https://github.com/RT-Thread/userapps.git下載內(nèi)核態(tài)代碼:
注:位置可以與用戶態(tài)代碼分開(kāi),只要設(shè)置RISCV64的工具鏈環(huán)境變量即可
git clone https://github.com/RT-Thread/rt-thread.git注:位置可以與用戶態(tài)代碼分開(kāi),只要設(shè)置RISCV64的工具鏈環(huán)境變量即可
下載RISC-V 64工具鏈
cd userappspython3 tools/get_toolchain.py riscv64配置RISC-V 64工具鏈環(huán)境變量
注意:按官方腳本需要執(zhí)行
source smart-env.sh riscv64注意:按官方腳本需要執(zhí)行
這個(gè)腳本完成兩個(gè)工作:
- 設(shè)置RTT_CC等環(huán)境變量
- copy riscv的config到.config
但是某些shell下獲取當(dāng)前腳本目錄錯(cuò)誤,導(dǎo)致無(wú)法完成copy,第一次使用的話會(huì)繼續(xù)用默認(rèn)的arm工具鏈編譯。
比較簡(jiǎn)單的解決辦法是執(zhí)行兩步:
source smart-env.sh riscv64cp configs/def_config_riscv64 .config3.3 編譯rt-thread內(nèi)核比較簡(jiǎn)單的解決辦法是執(zhí)行兩步:
進(jìn)入bsp目錄
cd rt-thread/bsp/allwinner/d1s修改編譯配置
scons --menuconfig首先打開(kāi)UART3串口,路徑為
General Deivers Configuration->General Purpose UARTs
選中UART3,并修改TX引腳為GPIOG08,RX引腳為GPIOG09
General Deivers Configuration->General Purpose UARTs
選中UART3,并修改TX引腳為GPIOG08,RX引腳為GPIOG09
設(shè)置終端使用UART3,路徑為
RT-Thread Kernel->Kernel Device Object
修改為uart3
RT-Thread Kernel->Kernel Device Object
修改為uart3
這回目標(biāo)是點(diǎn)屏,所以要打開(kāi)LCD驅(qū)動(dòng),路徑為
General Deivers Configuration->Enable LCD
General Deivers Configuration->Enable LCD
以上完成內(nèi)核配置,保存退出。
編譯內(nèi)核:
scons編譯成功后會(huì)生成內(nèi)核文件:
燒錄內(nèi)核
下載xfel工具:xfel_v1.2.9.7z
將sd.bin拷貝到windows下xfel工具目錄下。按住開(kāi)發(fā)板FEL按鈕同時(shí)另一端插入電腦。執(zhí)行命令完成燒錄:
xfel.exe sd write 57344 sd.bin3.4 編譯rt-smart用戶態(tài)應(yīng)用點(diǎn)屏下載xfel工具:xfel_v1.2.9.7z
將sd.bin拷貝到windows下xfel工具目錄下。按住開(kāi)發(fā)板FEL按鈕同時(shí)另一端插入電腦。執(zhí)行命令完成燒錄:
首先將D1s bsp目錄下 mksdcard.sh 腳本拷貝到userapps目錄下。
這里借用絲滑的在RT-Smart用戶態(tài)運(yùn)行LVGL的LVGL移植成果
這里借用絲滑的在RT-Smart用戶態(tài)運(yùn)行LVGL的LVGL移植成果
下載修改代碼:
https://github.com/Rbb666/RT-Smart-UserAPP.git拷貝項(xiàng)目下的lvgl到userapps/apps目錄下
由于一些宏定義缺失,需要將lvgl-nes/lv_rtt_port下的lv_conf.h和lv_port.h拷到對(duì)應(yīng)目錄下
同時(shí),由于我沒(méi)有觸摸屏設(shè)備,所以注釋掉lv_demo.c中的觸摸屏初始化代碼
同時(shí),由于我沒(méi)有觸摸屏設(shè)備,所以注釋掉lv_demo.c中的觸摸屏初始化代碼
在用戶態(tài)代碼根目錄下,編譯用戶態(tài)應(yīng)用
scons執(zhí)行腳本制作root文件系統(tǒng)
./mksdcard.sh生成sdroot.bin
最后燒錄文件系統(tǒng)
xfel.exe sd write 8388608 sdroot.bin3.5 點(diǎn)屏燒錄完成后重啟,就可以用調(diào)試口看到目錄下有l(wèi)vgl.elf。執(zhí)行點(diǎn)亮屏幕
./lvgl.elf4. 感想總體而言,RISC-V的生態(tài)在廠商和開(kāi)源社區(qū)的努力下逐步完善起來(lái)。芯片,開(kāi)發(fā)板,操作系統(tǒng)都有諸多選擇,工具鏈也可以較透明的無(wú)縫移植。
但是感觸比較深的還是缺少更多的文檔和入門(mén)教程,對(duì)于新人不會(huì)像樹(shù)莓派等有開(kāi)箱即用的效果(當(dāng)然樹(shù)莓派現(xiàn)在的性價(jià)比就不說(shuō)了)。
另外,scons編譯確實(shí)較方便,不過(guò)針對(duì)一些復(fù)雜的基于makefile的開(kāi)源項(xiàng)目,移植到scons較為繁復(fù)。在用RISCV工具鏈編譯一些基于makefile的開(kāi)源項(xiàng)目時(shí),也遇到了一些坑,之后會(huì)寫(xiě)文章分享。當(dāng)然RISCV的發(fā)展不是一蹴而就的事,仍需業(yè)界和開(kāi)源社區(qū)大力支持。
但是感觸比較深的還是缺少更多的文檔和入門(mén)教程,對(duì)于新人不會(huì)像樹(shù)莓派等有開(kāi)箱即用的效果(當(dāng)然樹(shù)莓派現(xiàn)在的性價(jià)比就不說(shuō)了)。
另外,scons編譯確實(shí)較方便,不過(guò)針對(duì)一些復(fù)雜的基于makefile的開(kāi)源項(xiàng)目,移植到scons較為繁復(fù)。在用RISCV工具鏈編譯一些基于makefile的開(kāi)源項(xiàng)目時(shí),也遇到了一些坑,之后會(huì)寫(xiě)文章分享。當(dāng)然RISCV的發(fā)展不是一蹴而就的事,仍需業(yè)界和開(kāi)源社區(qū)大力支持。
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
行業(yè)新聞
熱門(mén)標(biāo)簽
論壇活動(dòng)
more+
公開(kāi)課
more+
項(xiàng)目外包
more+
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車(chē)啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前