Hello. Project generated for AB32VG1 board does not compile because of errors. No custom code added, just a clean generated project with default "PE.1" Blink example.
RT-Thread Studio Version: 2.2.6 Build id: 202211231640
RT-Thread 4.1.1 (intalled using SDK Manager)
Risc-V GCC Toolchain (intalled using SDK Manager, path in Project->Properties->MCU->Toolchain point to correct place)
Board: Prougen AB32VG1
Console Output in IDE:
make -j2 all2
riscv64-unknown-elf-gcc "../rt-thread/components/libc/compilers/common/cstdlib.c"
riscv64-unknown-elf-gcc "../libraries/hal_drivers/drv_common.c"
../rt-thread/components/libc/compilers/common/cstdlib.c: In function 'ltoa':
../rt-thread/components/libc/compilers/common/cstdlib.c:64:19: error: 'NULL' undeclared (first use in this function)
64 | if (string == NULL)
| ^~~~
../rt-thread/components/libc/compilers/common/cstdlib.c:18:1: note: 'NULL' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
17 | #include <rtdbg.h>
+++ |+#include <stddef.h>
18 |
../rt-thread/components/libc/compilers/common/cstdlib.c:64:19: note: each undeclared identifier is reported only once for each function it appears in
64 | if (string == NULL)
| ^~~~
../rt-thread/components/libc/compilers/common/cstdlib.c: In function 'ultoa':
../rt-thread/components/libc/compilers/common/cstdlib.c:119:19: error: 'NULL' undeclared (first use in this function)
119 | if (string == NULL)
| ^~~~
../rt-thread/components/libc/compilers/common/cstdlib.c:119:19: note: 'NULL' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
make: *** [rt-thread/components/libc/compilers/common/subdir.mk:33: rt-thread/components/libc/compilers/common/cstdlib.o] Error 1
make: *** Waiting for unfinished jobs....
../libraries/hal_drivers/drv_common.c:19:12: error: expected declaration specifiers or '...' before string constant
19 | RT_SECTION(".irq.uart")
| ^~~~~~~~~~~
../libraries/hal_drivers/drv_common.c:26:12: error: expected declaration specifiers or '...' before string constant
26 | RT_SECTION(".irq.uart")
| ^~~~~~~~~~~
../libraries/hal_drivers/drv_common.c:33:12: error: expected declaration specifiers or '...' before string constant
33 | RT_SECTION(".irq.uart")
| ^~~~~~~~~~~
make: *** [libraries/hal_drivers/subdir.mk:24: libraries/hal_drivers/drv_common.o] Error 1
"make -j2 all2" terminated with exit code 2. Build might be incomplete.
First please find rtconfig_preinc.h
than write the following to the file:
#define RT_USING_LIBC
#define RT_USING_NEWLIBC
#define _POSIX_C_SOURCE 1
Second
There might be some mistakes as follow
RT_SECTION(".irq.uart")
Please send all the'RT_ SECTION'was replaced with'rt_ section'
These methods could solve the problem, but they were not the best way
Current better solutions:
https://club.rt-thread.org/ask/article/217556894c4f8f19.html
when I just run the sample code(after followed two steps of error correction) on RT-Thread with AB32VG1 board. Stuck with these errors....Please help
15:41:39 Incremental Build of configuration Debug for project loud
make -j2 all2
riscv64-unknown-elf-gcc "../board/board.c"
riscv64-unknown-elf-gcc "../applications/blehr_app.c"
../board/board.c: In function 'exception_isr':
../board/board.c:284:66: error: 'struct rt_thread' has no member named 'name'
284 | rt_kprintf(stack_info, rt_thread_self()->sp, rt_thread_self()->name);
| ^~
make: * [board/subdir.mk:21: board/board.o] Error 1
make: * Waiting for unfinished jobs....
"make -j2 all2" terminated with exit code 2. Build might be incomplete.
15:41:40 Build Failed. 3 errors, 0 warnings. (took 1s.139ms)