RT-Thread on D1H. LCD work, USB in progress.
-
Hi all,
I successfully build and ran RT-Thread (a small embedded OS) on the RISC-V Allwinner D1H SoC.
Experimenting on ClockworkPi DevTerm R-01 device and Sipeed Lichee RV board.
Also @jusentari made ClockworkPi uConsole R-01 display work in RTT (experimental parameters, use with caution).Intention was to make RT-Thread portable terminal with working display and keyboard.
I manage to:
- Create a working LCD MIPI DSI Display driver with frame buffer.
- Create a working LCD RGB Display driver with frame buffer.
- Make some progress on a USB keyboard driver.
- Boot from SD card and communicate via UART
- Debugging with GDB
The code is available at: https://github.com/ylyamin/RT-Thread-on-Allwinner-D1H
If you enjoy brainteaser and some low-level stuff, you’re welcome.Ready images for SD card:
- DevTerm R01: sd_image_devterm.img
- uConsole R01: sd_image_uconsole.img (experimental display parameters, use with caution)
- Sipeed Lichee RV: sd_image_lichee.img
Please note: The DevTerm/uConsole battery charging/discharging controller is not yet configured in the driver, so I’m unsure how it affects the battery. I suggest not using the battery with RT-Thread and powering it via USB instead.
I’m writing a series of articles covering the knowledge and experience I’ve gained:
- D1-1. Introduction - Motivation and intention.
- D1-2. Boot process - Existing Allwinner D1H bootloaders best practice in example with booting Linux and RT-Thread, also JTAG and GDB.
- D1-3. RT-Thread overview and Build - Overview of RT-Thread structure and libraries. Compile RT-Thread for Allwinner D1H platform.
- D1-4. Makefile and Hardware changes - My repository structure, Makefile and Hardware changes was needed to be done.
- D1-5. LCD Display driver - Display driver for DevTerm R-01, uConsole R-01 and Sipeed Lichee RV.
- D1-6. USB Keyboard - USB Keyboard driver for ClockworkPi DevTerm, still not working.
Finally, I dare to ask for help from the community, please:
I’m really stuck with the USB driver. It can detect device connections, but communication has not started.<br>
Perhaps someone would enjoy diving deep into the USB driver to solve this riddle. Ready for issue reports and pull requests.Picture of LCD Display test in RT-Thread running on uConsole R-01:
Picture of LCD Display test in RT-Thread running on Devterm R-01:
-
@ylyamin 在 RT-Thread on D1H. LCD work, USB in progress. 中说:
I’m really stuck with the USB driver. It can detect device connections, but communication has not started.<br>
Perhaps someone would enjoy diving deep into the USB driver to solve this riddle. Ready for issue reports and pull requests.
Picture of LCD Display test in RT-Thread running on uConsole R-01:nice work!
I'd like to help, and just bought a Sipeed Lichee RV board. -
@zoenggit Thank you for your enthusiasm and support !
-
@ylyamin 在 RT-Thread on D1H. LCD work, USB in progress. 中说:
I’m writing a series of articles covering the knowledge and experience I’ve gained:
D1-1. Introduction - Motivation and intention.
D1-2. Boot process - Existing Allwinner D1H bootloaders best practice in example with booting Linux and RT-Thread, also JTAG and GDB.
D1-3. RT-Thread overview and Build - Overview of RT-Thread structure and libraries. Compile RT-Thread for Allwinner D1H platform.
D1-4. Makefile and Hardware changes - My repository structure, Makefile and Hardware changes was needed to be done.
D1-5. LCD Display driver - Display driver for DevTerm R-01, uConsole R-01 and Sipeed Lichee RV.
D1-6. USB Keyboard - USB Keyboard driver for ClockworkPi DevTerm, still not working.Detailed article,nice
Copyright © 2023 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号