Allright, except for the FreeBSD works, I would like to have a working
 reference point based on Linux Debian 10.10, so I have created a VM.

I could not find detailed information on how to setup RISC-V toolchain
except just using "generic toolchain":
https://nuttx.apache.org/docs/latest/platforms/risc-v/esp32c3/index.html

So I have installed pre-built generic toolchain according to Debian Wiki:
https://wiki.debian.org/RISC-V#Pre-built_toolchains

I have configured ESP32-C3 target with:
./tools/configure.sh esp32c3-devkit:ble

Then during `make` it seems that `esp32c3-devkit` requires different toolchain?

$ make
Create .version
Create version.h
make[1]: Entering directory '/home/user/work/nuttx/nuttx.git/nuttx/boards'
make[1]: Nothing to be done for 'dirlinks'.
make[1]: Leaving directory '/home/user/work/nuttx/nuttx.git/nuttx/boards'
make[1]: Entering directory '/home/user/work/nuttx/nuttx.git/apps'
make[2]: Entering directory '/home/user/work/nuttx/nuttx.git/apps/platform'
LN: platform/board to /home/user/work/nuttx/nuttx.git/apps/platform/dummy
make[2]: Leaving directory '/home/user/work/nuttx/nuttx.git/apps/platform'
make[1]: Leaving directory '/home/user/work/nuttx/nuttx.git/apps'
make[1]: Entering directory '/home/user/work/nuttx/nuttx.git/nuttx/boards'
make[2]: Entering directory
'/home/user/work/nuttx/nuttx.git/nuttx/boards/risc-v/esp32c3/esp32c3-devkit/src'
make[2]: riscv64-unknown-elf-gcc: Command not found
make[2]: *** [Makefile:118:
/home/user/work/nuttx/nuttx.git/nuttx/boards/risc-v/esp32c3/esp32c3-devkit/scripts/esp32c3_out.ld]
Error 127
make[2]: Leaving directory
'/home/user/work/nuttx/nuttx.git/nuttx/boards/risc-v/esp32c3/esp32c3-devkit/src'
make[1]: *** [Makefile:105: context] Error 2
make[1]: Leaving directory '/home/user/work/nuttx/nuttx.git/nuttx/boards'
make: *** [tools/Makefile.unix:341: context] Error 2

OS is Debian 10.10:
uname -a
Linux vboxdebian 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29)
x86_64 GNU/Linux

Following tools are installed:
$ riscv64-linux-gnu-
riscv64-linux-gnu-addr2line     riscv64-linux-gnu-gcc
riscv64-linux-gnu-gcov-8        riscv64-linux-gnu-objcopy
riscv64-linux-gnu-ar            riscv64-linux-gnu-gcc-8
riscv64-linux-gnu-gcov-dump     riscv64-linux-gnu-objdump
riscv64-linux-gnu-as            riscv64-linux-gnu-gcc-ar
riscv64-linux-gnu-gcov-dump-8   riscv64-linux-gnu-pkg-config
riscv64-linux-gnu-c++filt       riscv64-linux-gnu-gcc-ar-8
riscv64-linux-gnu-gcov-tool     riscv64-linux-gnu-ranlib
riscv64-linux-gnu-cpp           riscv64-linux-gnu-gcc-nm
riscv64-linux-gnu-gcov-tool-8   riscv64-linux-gnu-readelf
riscv64-linux-gnu-cpp-8         riscv64-linux-gnu-gcc-nm-8
riscv64-linux-gnu-gprof         riscv64-linux-gnu-size
riscv64-linux-gnu-elfedit       riscv64-linux-gnu-gcc-ranlib
riscv64-linux-gnu-ld            riscv64-linux-gnu-strings
riscv64-linux-gnu-g++           riscv64-linux-gnu-gcc-ranlib-8
riscv64-linux-gnu-ld.bfd        riscv64-linux-gnu-strip
riscv64-linux-gnu-g++-8         riscv64-linux-gnu-gcov
riscv64-linux-gnu-nm


On FreeBSD there is just one system package for riscv32 and riscv64 so
name / package confusion is possible.

On Zephyr there is a `west` utility to manage project, it has
`espressif` subcommand that can fetch, install, and update local
toolchain and utilities. It uses `idf_tools.py` sctipt from ESP-IDF.
Recently it was simplified and it just fetches all development for the
ESP32 chips (openocd-esp32 riscv32-esp-elf xtensa-esp32-elf
xtensa-esp32s2-elf ) into `~/.espressif/tools/zephyr`. I have also
sent patches to the upstream that allows FreeBSD to use Linux
binaries.

https://github.com/espressif/esp-idf/blob/master/tools/idf_tools.py

Maybe this tool could be  integrated with NuttX or should I use it by
hand before using NuttX? :-)

-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

Reply via email to