作者@new_bee
Part.0
目錄
芯片介紹
開發板介紹
RT-Smart用戶態系統編譯使用
感想
引用
Part.1
芯片介紹
RISC-V架構由于其精簡和開源的特性,得到業界的認可,近幾年可謂相當熱門。操作系統方面有RT-Thread,Linux等支持。在今年早些時候,Google希望RISC-V成為Android支持的“一級”架構。
D1s 是22nm 64bit RISC-V 架構的處理器,主頻720MHz。內置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@60fps Video encoding JPEG/MJPEG up to 1080p@60fps Supports input picture scaler up/down
![b0fbd776-b2c2-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/51/wKgaomTnaO-AZ6saAAL2Mm7BiQI747.png)
Part.2
開發板介紹
RDC2022 紀念版開發板是基于D1s芯片的小尺寸開發板,尺寸為5.5cm*4cm。正面包含一塊D1s核心板,外圍電路采用ME3116作為DCDC降壓芯片,CH340N作為USB-TTL芯片,PT4103作為背光驅動,并包含一塊LM4890音頻功放。總體電路比較簡潔。
開發板背面為SD卡插槽,一個RGB888接口接顯示屏,和一個觸摸屏接口。該開發板還包含兩組12腳的PMOD接口用于接插外設。
RGB接口按引腳定義可以接入通用RGB屏幕,我這里接的是480*272的屏幕,引腳定義如下:
Part.3
RT-Smart用戶態系統編譯使用
首先用typec數據線一端插入燒錄口,按住FEL按鈕同時另一端插入電腦,此時設備進入FEL模式。第一次插入設備管理器會發現未知設備。運行Zadig安裝驅動,如下圖:
之后就可以在FEL模式下刷機。
用typec數據線一端插入調試口,另一端插入電腦。電腦打開串口軟件,選擇對應串口,波特率設為500000,則可以通過串口進行調試。
開發編譯環境準備
下載用戶態代碼:
git clone https://github.com/RT-Thread/userapps.git
下載內核態代碼(注:位置可以與用戶態代碼分開,只要設置RISCV64的工具鏈環境變量即可):
git clone https://github.com/RT-Thread/rt-thread.git
下載RISC-V 64工具鏈:
cd userapps python3 tools/get_toolchain.py riscv64
配置RISC-V 64工具鏈環境變量(注意:按官方腳本需要執行):
source smart-env.sh riscv64
這個腳本完成兩個工作:
設置RTT_CC等環境變量
copy riscv的config到.config
但是某些shell下獲取當前腳本目錄錯誤,導致無法完成copy,第一次使用的話會繼續用默認的arm工具鏈編譯。
比較簡單的解決辦法是執行兩步:
source smart-env.sh riscv64 cp configs/def_config_riscv64 .config
編譯rt-thread內核
進入bsp目錄
cd rt-thread/bsp/allwinner/d1s
修改編譯配置
scons --menuconfig
首先打開UART3串口,選中UART3,并修改TX引腳為GPIOG08,RX引腳為GPIOG09,路徑為:
General Deivers Configuration->General Purpose UARTs
![b1bfb31c-b2c2-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/52/wKgaomTnaO-AIJDzAAF09bp4_JQ111.png)
設置終端使用UART3,修改為uart3,路徑為:
RT-Thread Kernel->Kernel Device Object,
![b1db58e2-b2c2-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/52/wKgaomTnaPCATqgcAACmH0x5C_o030.png)
這回目標是點屏,所以要打開LCD驅動,路徑為:
General Deivers Configuration->Enable LCD
![b1f2af2e-b2c2-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/52/wKgaomTnaPCAU-GnAAIJAgv6UvY379.png)
以上完成內核配置,保存退出。編譯成功后會生成內核文件:
將sd.bin拷貝到windows下xfel工具目錄下。按住開發板FEL按鈕同時另一端插入電腦。執行命令完成燒錄:
xfel.exe sd write 57344 sd.bin
編譯rt-smart用戶態應用點屏
首先將D1s bsp目錄下 mksdcard.sh 腳本拷貝到userapps目錄下,下載修改代碼:
https://github.com/Rbb666/RT-Smart-UserAPP.git
拷貝項目下的lvgl到userapps/apps目錄下。
由于一些宏定義缺失,需要將lvgl-nes/lv_rtt_port下的lv_conf.h和lv_port.h拷到對應目錄下:
同時,由于我沒有觸摸屏設備,所以注釋掉lv_demo.c中的觸摸屏初始化代碼。
在用戶態代碼根目錄下,編譯用戶態應用,執行腳本制作root文件系統,生成sdroot.bin,最后燒錄文件系統。
scons ./mksdcard.sh xfel.exe sd write 8388608 sdroot.bin
![b24f0f58-b2c2-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/52/wKgaomTnaPCACkBnAACruyQi5Ec417.png)
燒錄完成后重啟,就可以用調試口看到目錄下有lvgl.elf。執行點亮屏幕
./lvgl.elf
![b260d2ba-b2c2-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/99/52/wKgaomTnaPGAULpvAAJ1WSXQgmE805.jpg)
Part.4
感想
總體而言,RISC-V的生態在廠商和開源社區的努力下逐步完善起來。芯片,開發板,操作系統都有諸多選擇,工具鏈也可以較透明的無縫移植。
但是感觸比較深的還是缺少更多的文檔和入門教程,對于新人不會像樹莓派等有開箱即用的效果(當然樹莓派現在的性價比就不說了)。
另外,scons編譯確實較方便,不過針對一些復雜的基于makefile的開源項目,移植到scons較為繁復。在用RISCV工具鏈編譯一些基于makefile的開源項目時,也遇到了一些坑,之后會寫文章分享。當然RISCV的發展不是一蹴而就的事,仍需業界和開源社區大力支持。
-
處理器
+關注
關注
68文章
19440瀏覽量
231322 -
芯片
+關注
關注
456文章
51283瀏覽量
427823 -
Linux
+關注
關注
87文章
11351瀏覽量
210513 -
開發板
+關注
關注
25文章
5134瀏覽量
98338 -
RISC-V
+關注
關注
45文章
2328瀏覽量
46680
原文標題:D1s RDC2022紀念版開發板開箱評測及點屏教程
文章出處:【微信號:gh_79acfa3aa3e3,微信公眾號:全志在線】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
Made with KiCad(十六):全志RISC-V 64 SoC F133/D1s開發板
![Made with KiCad(十六):全志RISC-V 64 SoC F133/<b class='flag-5'>D1s</b><b class='flag-5'>開發板</b>](https://file1.elecfans.com//web1/M00/F4/D3/wKgZoWcy16-AJbiIAApv8-eIc1s991.png)
評論