Skip to content

Instantly share code, notes, and snippets.

@lupyuen
Last active December 29, 2023 05:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lupyuen/09e653cbd227b9cdff7cf3cb0a5e1ffa to your computer and use it in GitHub Desktop.
Save lupyuen/09e653cbd227b9cdff7cf3cb0a5e1ffa to your computer and use it in GitHub Desktop.
Nim on Apache NuttX RTOS and QEMU 64-bit RISC-V: Build Log. See https://github.com/lupyuen/nuttx-nim
* Executing task: cd nuttx && ../run.sh
+ git pull
Already up to date.
+ git status
On branch nim
Your branch is up to date with 'origin/nim'.
nothing to commit, working tree clean
++ git rev-parse HEAD
+ hash1=a69aadf6adac60011ac83b347fcdde300f8ca96c
+ pushd ../apps
/workspaces/bookworm/apps /workspaces/bookworm/nuttx
+ git pull
Already up to date.
+ git status
On branch nim
Your branch is up to date with 'origin/nim'.
nothing to commit, working tree clean
++ git rev-parse HEAD
+ hash2=1c8af3517d6b7ce7dcf71c562cc3e5d7b634b54a
+ popd
/workspaces/bookworm/nuttx
+ echo NuttX Source: https://github.com/apache/nuttx/tree/a69aadf6adac60011ac83b347fcdde300f8ca96c
+ echo NuttX Apps: https://github.com/apache/nuttx-apps/tree/1c8af3517d6b7ce7dcf71c562cc3e5d7b634b54a
+ riscv-none-elf-gcc -v
Using built-in specs.
COLLECT_GCC=riscv-none-elf-gcc
COLLECT_LTO_WRAPPER=/workspaces/bookworm/xpack-riscv-none-elf-gcc-13.2.0-2/bin/../libexec/gcc/riscv-none-elf/13.2.0/lto-wrapper
Target: riscv-none-elf
Configured with: /__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/sources/gcc-13.2.0/configure --prefix=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/application --with-sysroot=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/application/riscv-none-elf --with-native-system-header-dir=/include --infodir=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install/share/info --mandir=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install/share/man --htmldir=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install/share/html --pdfdir=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install/share/pdf --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=riscv-none-elf --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libsanitizer --disable-libssp --disable-nls --disable-shared --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install --with-newlib --with-pkgversion='xPack GNU RISC-V Embedded GCC x86_64' --with-gnu-as --with-gnu-ld --with-system-zlib --with-abi=ilp32 --with-arch=rv32imac --enable-multilib
Thread model: single
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (xPack GNU RISC-V Embedded GCC x86_64)
+ nim -v
Nim Compiler Version 2.1.1 [Linux: amd64]
Compiled at 2023-12-22
Copyright (c) 2006-2023 by Andreas Rumpf
git hash: 4b1a84170786653f60313f7bdf56efa3928c2a3a
active boot switches: -d:release
+ build_nuttx
+ pushd ../nuttx
/workspaces/bookworm/nuttx /workspaces/bookworm/nuttx
+ make -j 8
Create version.h
LN: platform/board to /workspaces/bookworm/apps/platform/dummy
Register: leds
Register: hello_nim
Register: hello
Register: nsh
Register: sh
Register: ostest
read_config: /workspaces/bookworm/nuttx/.config
line=CONFIG_DEBUG_SYMBOLS=y
line=CONFIG_DEBUG_FULLOPT=y
line=CONFIG_ARCH="risc-v"
@["keyval=", "ARCH", "\"risc-v\""]
keyval[1]="risc-v"
line=CONFIG_RAM_SIZE=33554432
* arch: riscv64
* opt: oSize
* debug: true
* ramSize: 33554432
* isSim: false
Hint: used config file '/home/vscode/.choosenim/toolchains/nim-#devel/config/nim.cfg' [Conf]
Hint: used config file '/home/vscode/.choosenim/toolchains/nim-#devel/config/config.nims' [Conf]
Hint: used config file '/workspaces/bookworm/apps/config.nims' [Conf]
....................................................................................................................................
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim(99, 6) Hint: 'launch' is declared but not used [XDeclaredButNotUsed]
Hint: mm: orc; opt: size; options: -d:danger
93011 lines; 1.375s; 137.637MiB peakmem; proj: /workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim; out: /workspaces/bookworm/apps/.nimcache/hello_nim_async.json [SuccessX]
CC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: libelf/libelf_read.c /home/vscode/.choosenim/toolchains/nim-#devel/lib/system/memory.nim: In function 'nimCopyMem':
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system/memory.nim:8:87: warning: variable 'T1_' set but not used [-Wunused-but-set-variable]
8 | proc nimCopyMem*(dest, source: pointer, size: Natural) {.nonReloadable, compilerproc, inline.} =
| ^~~
CC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sli
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system/memory.nim: In function 'nimCopyMem':
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system/memory.nim:8:87: warning: variable 'T1_' set but not used [-Wunused-but-set-variable]
8 | proc nimCopyMem*(dest, source: pointer, size: Natural) {.nonReloadable, compilerproc, inline.} =
| ^~~
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system/memory.nim: In function 'nimSetMem__systemZmemory_u7':
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system/memory.nim:19:94: warning: variable 'T1_' set but not used [-Wunused-but-set-variable]
19 | proc nimSetMem*(a: pointer, v: cint, size: Natural) {.nonReloadable, inline.} =
| ^
CC: net/lib_accept.c /home/vscode/.choosenim/toolchains/nim-#devel/lib/system/excpt.nim: In function 'auxWriteStackTrace__system_u4178':
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system/excpt.nim:291:4: warning: variable 'j' set but not used [-Wunused-but-set-variable]
291 | for j in 1..skipped:
| ^
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system/excpt.nim:242:4: warning: variable 'kX60gensym215_' set but not used [-Wunused-but-set-variable]
242 | for k in 1..max(1, 25-(s.len-oldLen)): add(s, ' ')
| ^~~~~~~~~~~~~~
CC: obstack/lib_obstack_init.c /home/vscode/.choosenim/toolchains/nim-#devel/lib/system.nim: In function 'showErrorMessage__system_u3895':
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system.nim:379:187: warning: label 'LA7_' defined but not used [-Wunused-label]
379 | proc `=destroy`*(x: string) {.inline, magic: "Destroy".} =
| ^
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system.nim:379:122: warning: label 'LA5_' defined but not used [-Wunused-label]
379 | proc `=destroy`*(x: string) {.inline, magic: "Destroy".} =
| ^
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system/excpt.nim: In function 'dollar___system_u4154':
/home/vscode/.choosenim/toolchains/nim-#devel/lib/system/excpt.nim:242:4: warning: variable 'kX60gensym206_' set but not used [-Wunused-but-set-variable]
242 | for k in 1..max(1, 25-(s.len-oldLen)): add(s, ' ')
| ^~~~~~~~~~~~~~
CC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: ../../.nimcache/@m..@s..@s..@s..@s..@shome@svscode@s.choosenim@stoolchains@snim-@hdevel@sliCC: signal/sig_kill.c /workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim: In function 'blink_led__hello95nim95async_u13':
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:24:26: warning: passing argument 1 of 'echoBinSafe' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
24 | echo "Opening /dev/userleds"
| ^~~~~
../../.nimcache/@mhello_nim_async.nim.c:46:57: note: expected 'NimStringV2 *' but argument is of type 'const NimStringV2 *'
46 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
| ~~~~~~~~~~~~~^~~~~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:27:28: warning: passing argument 1 of 'echoBinSafe' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
27 | echo "Failed to open /dev/userleds"
| ^~~~~~~~~~~~
../../.nimcache/@mhello_nim_async.nim.c:46:57: note: expected 'NimStringV2 *' but argument is of type 'const NimStringV2 *'
46 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
| ~~~~~~~~~~~~~^~~~~~~
CC: hello_nim_main.c /workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:34:26: warning: passing argument 1 of 'echoBinSafe' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
34 | echo "Set LED 0 to 1"
| ^
../../.nimcache/@mhello_nim_async.nim.c:46:57: note: expected 'NimStringV2 *' but argument is of type 'const NimStringV2 *'
46 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
| ~~~~~~~~~~~~~^~~~~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:37:28: warning: passing argument 1 of 'echoBinSafe' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
37 | echo "ioctl(ULEDIOC_SETALL) failed"
| ^~~~~~~~~~~~
../../.nimcache/@mhello_nim_async.nim.c:46:57: note: expected 'NimStringV2 *' but argument is of type 'const NimStringV2 *'
46 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
| ~~~~~~~~~~~~~^~~~~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:36:21: warning: variable 'T12_' set but not used [-Wunused-but-set-variable]
36 | if ret < 0:
| ^
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:41:26: warning: passing argument 1 of 'echoBinSafe' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
41 | echo "Waiting..."
| ^
../../.nimcache/@mhello_nim_async.nim.c:46:57: note: expected 'NimStringV2 *' but argument is of type 'const NimStringV2 *'
46 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
| ~~~~~~~~~~~~~^~~~~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:45:26: warning: passing argument 1 of 'echoBinSafe' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
45 | echo "Set LED 0 to 0"
| ^
../../.nimcache/@mhello_nim_async.nim.c:46:57: note: expected 'NimStringV2 *' but argument is of type 'const NimStringV2 *'
46 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
| ~~~~~~~~~~~~~^~~~~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:48:28: warning: passing argument 1 of 'echoBinSafe' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
48 | echo "ioctl(ULEDIOC_SETALL) failed"
| ^~~~~~~~~~~~
../../.nimcache/@mhello_nim_async.nim.c:46:57: note: expected 'NimStringV2 *' but argument is of type 'const NimStringV2 *'
46 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
| ~~~~~~~~~~~~~^~~~~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:47:21: warning: variable 'T18_' set but not used [-Wunused-but-set-variable]
47 | if ret < 0:
| ^
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:52:26: warning: passing argument 1 of 'echoBinSafe' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
52 | echo "Waiting..."
| ^
../../.nimcache/@mhello_nim_async.nim.c:46:57: note: expected 'NimStringV2 *' but argument is of type 'const NimStringV2 *'
46 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
| ~~~~~~~~~~~~~^~~~~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:56:9: warning: variable 'T23_' set but not used [-Wunused-but-set-variable]
56 | proc hello_nim() {.exportc, cdecl.} =
| ^~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:53:81: warning: label 'LA7_' defined but not used [-Wunused-label]
53 | c_usleep(1000_000)
| ^
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:35:14: warning: variable 'T13_' set but not used [-Wunused-but-set-variable]
35 | var ret = c_ioctl(fd, ULEDIOC_SETALL, 1)
| ^~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:25:15: warning: variable 'T6_' set but not used [-Wunused-but-set-variable]
25 | let fd = c_open("/dev/userleds", O_WRONLY)
| ^~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim: In function 'hello_nim':
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:62:26: warning: passing argument 1 of 'echoBinSafe' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
62 | echo "Hello Nim!"
| ^
../../.nimcache/@mhello_nim_async.nim.c:46:57: note: expected 'NimStringV2 *' but argument is of type 'const NimStringV2 *'
46 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
| ~~~~~~~~~~~~~^~~~~~~
/workspaces/bookworm/apps/examples/hello_nim/hello_nim_async.nim:65:4: warning: variable 'loop' set but not used [-Wunused-but-set-variable]
65 | for loop in 0..19:
| ^~~~
CPP: /workspaces/bookworm/nuttx/boards/risc-v/qemu-rv/rv-virt/scripts/ld.script-> /workspaces/bCC: etctmp.c qemu_rv_appinit.c: In function 'board_app_initialize':
qemu_rv_appinit.c:125:13: warning: implicit declaration of function 'userled_lower_initialize' [-Wimplicit-function-declaration]
125 | int ret = userled_lower_initialize("/dev/userleds");
| ^~~~~~~~~~~~~~~~~~~~~~~~
LD: nuttx
riscv-none-elf-ld: warning: /workspaces/bookworm/nuttx/nuttx has a LOAD segment with RWX permissions
CP: nuttx.hex
+ popd
/workspaces/bookworm/nuttx
+ riscv-none-elf-size nuttx
text data bss dec hex filename
217810 881 21292 239983 3a96f nuttx
+ riscv-none-elf-objcopy -O binary nuttx nuttx.bin
+ cp .config nuttx.config
+ riscv-none-elf-objdump --syms --source --reloc --demangle --line-numbers --wide --debugging nuttx
+ set +e
+ set -e
+ qemu-system-riscv64 -semihosting -M virt,aclint=on -cpu rv64 -smp 8 -bios none -kernel nuttx -nographic
ABCboard_app_initialize:
board_userled_initialize:
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
NuttShell (NSH) NuttX-12.0.3
nsh> uname -a
NuttX 12.0.3 a69aadf6ada Dec 29 2023 05:19:03 risc-v rv-virt
nsh> hello_nim
Hello Nim!
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Opening /dev/userleds
Set LED 0 to 1
board_userled_all: ledset=0x1
board_userled_all: led=0, val=1
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
Set LED 0 to 0
board_userled_all: ledset=0x0
board_userled_all: led=0, val=0
board_userled_all: led=1, val=0
board_userled_all: led=2, val=0
Waiting...
nsh> help
help usage: help [-v] [<cmd>]
. cd exec ifup ps true
[ cp exit kill pwd truncate
? cmp false ls rm uname
alias dirname fdinfo mkdir rmdir umount
unalias dd free mkrd set unset
arp df help mount sleep uptime
basename dmesg hexdump mv source usleep
break echo ifconfig pidof test xd
cat env ifdown printf time
Builtin Apps:
hello_nim leds nsh ostest sh
nsh> ls /dev
/dev:
console
null
ttyS0
userleds
zero
nsh> free
total used free maxused maxfree nused nfree
Umem: 33312264 11944 33300320 47544 33300320 38 1
nsh>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment