Skip to content

Commit 969f523

Browse files
committed
boards/risc-v: Add lvgl64_vector configuration for RISC-V QEMU
Add new RISC-V 64-bit QEMU configuration with: - 64-bit RISC-V (RV64) architecture support - RISC-V Vector Extension (RVV/V-extension) enabled - LVGL graphics framework integration - VirtIO GPU and input device support - NSH shell with built-in applications This configuration enables developers to build and test LVGL graphical applications on 64-bit RISC-V targets with Vector extension support, providing a foundation for future SIMD optimization work. Includes: - defconfig: Complete configuration file with all necessary options - Updated index.rst: Build and run instructions with QEMU launch command Signed-off-by: rongyichang <rongyichang@xiaomi.com>
1 parent c84e2eb commit 969f523

File tree

2 files changed

+144
-0
lines changed
  • Documentation/platforms/risc-v/qemu-rv/boards/rv-virt
  • boards/risc-v/qemu-rv/rv-virt/configs/lvgl64_vector

2 files changed

+144
-0
lines changed

Documentation/platforms/risc-v/qemu-rv/boards/rv-virt/index.rst

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,44 @@ To run it with QEMU, use the following command::
143143
-mon chardev=con,mode=readline \
144144
-bios none -kernel nuttx
145145

146+
lvgl64_vector
147+
-------------
148+
149+
This configuration uses the LVGL graphics framework with RISC-V 64-bit support
150+
and Vector Extension (V-extension) enabled. It allows developers to create
151+
graphical applications with LVGL on RISC-V QEMU while leveraging the Vector
152+
extension for potential SIMD optimization.
153+
154+
Features:
155+
156+
- 64-bit RISC-V architecture (RV64)
157+
- RISC-V Vector Extension (RVV/V-extension) support
158+
- LVGL graphics framework with 32-bit color depth
159+
- VirtIO GPU device for framebuffer access
160+
- NSH shell with built-in applications
161+
162+
To build it::
163+
164+
$ ./tools/configure.sh rv-virt:lvgl64_vector
165+
$ make -j$(nproc)
166+
167+
To run it with QEMU with graphics output::
168+
169+
$ qemu-system-riscv64 -semihosting -M virt,aclint=on -cpu rv64,v=true -smp 1 \
170+
-chardev stdio,id=con,mux=on \
171+
-serial chardev:con \
172+
-device virtio-gpu-device,xres=640,yres=480,bus=virtio-mmio-bus.0 \
173+
-device virtio-mouse-device,bus=virtio-mmio-bus.1 \
174+
-mon chardev=con,mode=readline \
175+
-bios none -kernel nuttx
176+
177+
After booting into the NSH shell, you can run the LVGL demo with::
178+
179+
nsh> lvgldemo
180+
181+
This configuration is suitable for developing and testing LVGL applications
182+
on 64-bit RISC-V targets with Vector extension support.
183+
146184
knetnsh64
147185
---------
148186

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
#
2+
# This file is autogenerated: PLEASE DO NOT EDIT IT.
3+
#
4+
# You can use "make menuconfig" to make any modifications to the installed .config file.
5+
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
6+
# modifications.
7+
#
8+
# CONFIG_LV_BUILD_EXAMPLES is not set
9+
CONFIG_16550_ADDRWIDTH=0
10+
CONFIG_16550_UART0=y
11+
CONFIG_16550_UART0_BASE=0x10000000
12+
CONFIG_16550_UART0_CLOCK=3686400
13+
CONFIG_16550_UART0_IRQ=37
14+
CONFIG_16550_UART0_SERIAL_CONSOLE=y
15+
CONFIG_16550_UART=y
16+
CONFIG_ALLOW_BSD_COMPONENTS=y
17+
CONFIG_ARCH="risc-v"
18+
CONFIG_ARCH_BOARD="rv-virt"
19+
CONFIG_ARCH_BOARD_QEMU_RV_VIRT=y
20+
CONFIG_ARCH_CHIP="qemu-rv"
21+
CONFIG_ARCH_CHIP_QEMU_RV64=y
22+
CONFIG_ARCH_CHIP_QEMU_RV=y
23+
CONFIG_ARCH_CHIP_QEMU_RV_ISA_A=y
24+
CONFIG_ARCH_CHIP_QEMU_RV_ISA_C=y
25+
CONFIG_ARCH_CHIP_QEMU_RV_ISA_M=y
26+
CONFIG_ARCH_CHIP_QEMU_RV_ISA_V=y
27+
CONFIG_ARCH_FLOAT_H=y
28+
CONFIG_ARCH_INTERRUPTSTACK=2048
29+
CONFIG_ARCH_RISCV=y
30+
CONFIG_ARCH_STACKDUMP=y
31+
CONFIG_BOARD_LOOPSPERMSEC=6366
32+
CONFIG_BUILTIN=y
33+
CONFIG_DEBUG_FULLOPT=y
34+
CONFIG_DEBUG_SYMBOLS=y
35+
CONFIG_DEV_SIMPLE_ADDRENV=y
36+
CONFIG_DRIVERS_VIDEO=y
37+
CONFIG_DRIVERS_VIRTIO=y
38+
CONFIG_DRIVERS_VIRTIO_GPU=y
39+
CONFIG_DRIVERS_VIRTIO_MMIO=y
40+
CONFIG_DRIVERS_VIRTIO_SERIAL=y
41+
CONFIG_ELF=y
42+
CONFIG_EXAMPLES_FB=y
43+
CONFIG_EXAMPLES_HELLO=m
44+
CONFIG_EXAMPLES_LVGLDEMO=y
45+
CONFIG_EXAMPLES_LVGLDEMO_STACKSIZE=32768
46+
CONFIG_FAT_LCNAMES=y
47+
CONFIG_FAT_LFN=y
48+
CONFIG_FS_FAT=y
49+
CONFIG_FS_FATTIME=y
50+
CONFIG_FS_HOSTFS=y
51+
CONFIG_FS_LARGEFILE=y
52+
CONFIG_FS_PROCFS=y
53+
CONFIG_GRAPHICS_LVGL=y
54+
CONFIG_IDLETHREAD_STACKSIZE=2048
55+
CONFIG_INIT_ENTRYPOINT="nsh_main"
56+
CONFIG_INIT_STACKSIZE=4096
57+
CONFIG_INPUT=y
58+
CONFIG_INTELHEX_BINARY=y
59+
CONFIG_IOB_BUFSIZE=1534
60+
CONFIG_IOB_NBUFFERS=24
61+
CONFIG_IOB_NCHAINS=24
62+
CONFIG_IOB_THROTTLE=2
63+
CONFIG_LIBC_ENVPATH=y
64+
CONFIG_LIBC_EXECFUNCS=y
65+
CONFIG_LIBC_PERROR_STDOUT=y
66+
CONFIG_LIBC_STRERROR=y
67+
CONFIG_LV_COLOR_DEPTH_32=y
68+
CONFIG_LV_USE_CLIB_MALLOC=y
69+
CONFIG_LV_USE_CLIB_SPRINTF=y
70+
CONFIG_LV_USE_CLIB_STRING=y
71+
CONFIG_LV_USE_DEMO_WIDGETS=y
72+
CONFIG_LV_USE_LOG=y
73+
CONFIG_LV_USE_NUTTX=y
74+
CONFIG_LV_USE_NUTTX_TOUCHSCREEN=y
75+
CONFIG_MM_IOB=y
76+
CONFIG_MQ_MAXMSGSIZE=64
77+
CONFIG_NSH_ARCHINIT=y
78+
CONFIG_NSH_BUILTIN_APPS=y
79+
CONFIG_NSH_FILEIOSIZE=512
80+
CONFIG_NSH_FILE_APPS=y
81+
CONFIG_NSH_READLINE=y
82+
CONFIG_NSH_SYMTAB=y
83+
CONFIG_NSH_SYMTAB_ARRAYNAME="g_symtab"
84+
CONFIG_NSH_SYMTAB_COUNTNAME="g_nsymbols"
85+
CONFIG_PATH_INITIAL="/system/bin"
86+
CONFIG_RAM_SIZE=33554432
87+
CONFIG_RAM_START=0x80000000
88+
CONFIG_READLINE_CMD_HISTORY=y
89+
CONFIG_RISCV_SEMIHOSTING_HOSTFS=y
90+
CONFIG_RR_INTERVAL=200
91+
CONFIG_SCHED_HAVE_PARENT=y
92+
CONFIG_SCHED_HPWORK=y
93+
CONFIG_SCHED_LPWORK=y
94+
CONFIG_SCHED_WAITPID=y
95+
CONFIG_SERIAL_UART_ARCH_MMIO=y
96+
CONFIG_STACK_COLORATION=y
97+
CONFIG_START_DAY=17
98+
CONFIG_START_MONTH=12
99+
CONFIG_START_YEAR=2025
100+
CONFIG_SYMTAB_ORDEREDBYNAME=y
101+
CONFIG_SYSLOG_TIMESTAMP=y
102+
CONFIG_SYSTEM_NSH=y
103+
CONFIG_SYSTEM_NSH_STACKSIZE=3072
104+
CONFIG_TESTING_GETPRIME=y
105+
CONFIG_TESTING_OSTEST=y
106+
CONFIG_VIDEO_FB=y

0 commit comments

Comments
 (0)