Well, toolchain is another thing on the BSD TODO list :-) You either need to have Espressif toolchain installed and in path or you can provide your own or system toolchain by hand durign build.
I am on a trip right now with my backup laptop that is not my main development workstation, sorry, but the summary is below. 1. Because FreeBSD can natively emulate Linux ELF binaries, I did a trick with support of Espressif that allows download and install Linux tools on FreeBSD with ESP-IDF. That works fine.. but it would be perfect to build and distribute also toolchain binaries for FreeBSD by Espressif. So far I have used ESP IDF Linux tools on FreeBSD for initial experiments on ESP32 and ESP32-C3. % uname -a FreeBSD 0xCFMX4 13.1-RELEASE-p2 FreeBSD 13.1-RELEASE-p2 GENERIC amd64 % ls -1 ~/.espressif/tools esp32s2ulp-elf esp32ulp-elf openocd-esp32 riscv32-esp-elf xtensa-esp32-elf xtensa-esp32s2-elf xtensa-esp32s3-elf That gives: % ./xtensa-esp32-elf-gcc -v Using built-in specs. COLLECT_GCC=./xtensa-esp32-elf-gcc COLLECT_LTO_WRAPPER=/ztuff/cd/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/lto-wrapper Target: xtensa-esp32-elf Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-2021r2' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes Thread model: posix gcc version 8.4.0 (crosstool-NG esp-2021r2) % ./riscv32-esp-elf-gcc -v Using built-in specs. COLLECT_GCC=./riscv32-esp-elf-gcc COLLECT_LTO_WRAPPER=/ztuff/cd/.espressif/tools/riscv32-esp-elf/esp-2021r2-8.4.0/riscv32-esp-elf/bin/../libexec/gcc/riscv32-esp-elf/8.4.0/lto-wrapper Target: riscv32-esp-elf Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32imc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-2021r2' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes Thread model: posix gcc version 8.4.0 (crosstool-NG esp-2021r2) % ./openocd -v Open On-Chip Debugger v0.10.0-esp32-20210902 (2021-09-02-09:38) 2. FreeBSD has its own ports and packages with various build toolchains for almost any target out there. For NuttX you need to provide desired toolchain by hand for now but I would like to add this to configure / KConfig so it gets auto-configured to use OS defaults :-) Some examples with versions below :-) % pkg search riscv riscv-isa-sim-g_20211015 Spike, a RISC-V ISA Simulator riscv32-unknown-elf-binutils-2.37_4,1 GNU binary tools riscv32-unknown-elf-gcc-11.3.0 GNU Compiler Collection for bare metal riscv32 cross-development riscv64-binutils-2.37_4,1 GNU binary tools riscv64-freebsd-sysroot-a2021.11.09 FreeBSD 13.0-RELEASE riscv64 sysroot riscv64-gcc-8.3.0_1 Cross GNU Compiler Collection for riscv64 riscv64-gcc12-12.1.0 Cross GNU Compiler Collection for riscv64 riscv64-gcc9-9.5.0 Cross GNU Compiler Collection for riscv64 riscv64-none-elf-binutils-2.37_4,1 GNU binary tools riscv64-none-elf-gcc-11.3.0 GNU Compiler Collection for bare metal riscv64 cross-development riscv64-rust-bootstrap-1.63.0 Create bootstrap compilers for building lang/rust u-boot-qemu-riscv64-2022.04_1 Cross-build das u-boot for model qemu-riscv64 % pkg search mips dynamips-community-0.2.17 Cisco 1700/2600/3600/3700/7200 Simulator edumips64-1.2.10 Free, cross-platform, educational, visual MIPS64 CPU simulator mips-binutils-2.37_4,1 GNU binary tools mips-gcc6-6.5.0_3 Cross GNU Compiler Collection for mips mips-gcc9-9.5.0 Cross GNU Compiler Collection for mips mips64-binutils-2.37_4,1 GNU binary tools mips64-gcc6-6.5.0_3 Cross GNU Compiler Collection for mips64 mips64-gcc9-9.5.0 Cross GNU Compiler Collection for mips64 vmips-1.5.1_1 MIPS R3000 simulator % pkg search arm arm-elf-binutils-2.37 GNU binutils for vanilla ARM cross-development arm-gnueabi-binutils-2.37_4,1 GNU binary tools arm-none-eabi-binutils-2.37_4,1 GNU binary tools arm-none-eabi-gcc-11.3.0 GNU Compiler Collection for bare metal arm cross-development arm-none-eabi-gcc492-4.9.2_5 GNU Compiler Collection for bare metal arm cross-development arm-none-eabi-newlib-2.4.0_1 Newlib distribution for arm-none-eabi targets armv6-freebsd-sysroot-a2021.11.09 FreeBSD 12.2-RELEASE armv6 sysroot armv6-gcc12-12.1.0 Cross GNU Compiler Collection for armv6 armv6-gcc9-9.5.0 Cross GNU Compiler Collection for armv6 armv6-rust-bootstrap-1.63.0 Create bootstrap compilers for building lang/rust armv7-freebsd-sysroot-a2021.11.09 FreeBSD 12.2-RELEASE armv7 sysroot armv7-gcc12-12.1.0 Cross GNU Compiler Collection for armv7 armv7-gcc9-9.5.0 Cross GNU Compiler Collection for armv7 armv7-rust-bootstrap-1.63.0 Create bootstrap compilers for building lang/rust gcc-arm-embedded-10.3.20210921 Complete gcc-based toolcahin for embedded ARM development u-boot-qemu-arm-2022.04_1 Cross-build das u-boot for model qemu-arm u-boot-qemu-arm64-2022.04_1 Cross-build das u-boot for model qemu-arm64 u-boot-rpi-arm64-2022.04_1 Cross-build das u-boot for model rpi-arm64 % pkg search powerpc powerpc-binutils-2.37_4,1 GNU binary tools powerpc-freebsd-sysroot-a2021.11.09 FreeBSD 13.0-RELEASE powerpc sysroot powerpc-gcc12-12.1.0 Cross GNU Compiler Collection for powerpc powerpc-gcc9-9.5.0 Cross GNU Compiler Collection for powerpc powerpc-rust-bootstrap-1.63.0 Create bootstrap compilers for building lang/rust powerpc64-binutils-2.37_4,1 GNU binary tools powerpc64-elfv1-freebsd-sysroot-a2021.11.09 FreeBSD 12.2-RELEASE powerpc64 elfv1 sysroot powerpc64-elfv1-rust-bootstrap-1.63.0 Create bootstrap compilers for building lang/rust powerpc64-elfv2-freebsd-sysroot-a2021.11.09 FreeBSD 13.0-RELEASE powerpc64 elfv2 sysroot powerpc64-elfv2-rust-bootstrap-1.63.0 Create bootstrap compilers for building lang/rust powerpc64-gcc12-12.1.0 Cross GNU Compiler Collection for powerpc64 powerpc64-gcc6-6.5.0_3 Cross GNU Compiler Collection for powerpc64 powerpc64-gcc9-9.5.0 Cross GNU Compiler Collection for powerpc64 powerpc64le-binutils-2.37_4,1 GNU binary tools powerpc64le-freebsd-sysroot-a2021.11.09 FreeBSD 13.0-RELEASE powerpc64le sysroot powerpc64le-rust-bootstrap-1.63.0 Create bootstrap compilers for building lang/rust % pkg search avr arduino-avrdude-6.3_4 Program for programming the on-chip memory of Atmel AVR Arduino CPUs avr-binutils-2.37_4,1 GNU binary tools avr-gcc-11.2.0 FSF GCC for Atmel AVR 8-bit RISC cross-development avr-gdb-7.3.1_6 GNU GDB for the AVR target avr-libc-2.0.0_4,1 C and math library for the Atmel AVR controller family avra-1.4.2 Macro Assembler for Atmel AVR microcontrollers avrdude-7.0_2 Program for programming the on-chip memory of Atmel AVR CPUs simavr-1.7_2 Simulator for several Atmel AVR chips % pkg search z80 p5-CPU-Z80-Assembler-2.18 Z80 assembler written in Perl z80-asm-2.4.p3 Z80 assembly code assembler and disassembler z80asm-1.8 Assembler for the Z80 microprocessor z80ex-1.1.21 ZiLOG Z80 CPU emulator library z80pack-1.37 Complete CP/M-80 emulator % pkg search openocd openocd-0.11.0_1 Open On-Chip Debugger And many many more :-) Best regards :-) Tomek On Sat, Oct 8, 2022 at 2:33 PM Alan C. Assis wrote: > > Thank you very much Tomek! > > when you get NuttX compiled on FreeBSD, please run the similar > commands like these: > > $ xtensa-esp32-elf-gcc -v > Using built-in specs. > COLLECT_GCC=xtensa-esp32-elf-gcc > COLLECT_LTO_WRAPPER=/usr/local/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/lto-wrapper > Target: xtensa-esp32-elf > Configured with: > /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/configure > --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu > --target=xtensa-esp32-elf > --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf > --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf > --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/include > --with-newlib --enable-threads=no --disable-shared > --with-pkgversion='crosstool-NG esp-2021r2-patch3' > --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections > --disable-libgomp --disable-libmudflap --disable-libmpx > --disable-libssp --disable-libquadmath --disable-libquadmath-support > --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools > --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools > --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools > --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools > --enable-lto --enable-target-optspace --without-long-double-128 > --disable-nls --enable-multiarch --enable-languages=c,c++ > --disable-libstdcxx-verbose --enable-threads=posix > --enable-gcov-custom-rtio --enable-libstdcxx-time=yes > Thread model: posix > gcc version 8.4.0 (crosstool-NG esp-2021r2-patch3) > > > If you send just the last line above it fine, we only need to know the > toolchain version and characteristic. > > $ xtensa-esp32-elf-size nuttx > text data bss dec hex filename > 75231 320 7736 83287 14557 nuttx > > > BR, > > Alan > > On 10/8/22, Tomek CEDRO <to...@cedro.info> wrote: > > Hey there Alan :-) > > > > I am working on FreeBSD / BSD: > > 1. kconfig-frontends is now in the FreeBSD ports and packages. > > 2. I need to fix the SEDvsGSED issue. > > 3. Have some ideas on how to unify MAKEvsGMAKE. > > 4. KConfig work to add BSD also needs to be done. > > 5. All 2 to 4 would point to GNUvsBSD build tools unification so > > things work out of the box on both GNU and BSD in the same way with no > > local modifications. > > > > This is not yet into this release, but lots of other work is done, and > > this seems to be a release that others also wait to go out in order to > > add their patches.. thus +1 from me not to block the works.. otherwise > > no rush from me as things are done when they are done :-) > > > > Best regards :-) > > Tomek > > > > > > > > > > > > On Sat, Oct 8, 2022 at 1:37 PM Alan C. Assis <acas...@gmail.com> wrote: > >> > >> Hi everyone, > >> > >> As suggestion when voting for a new release, please send together the > >> information about what compiler was used and the output of your > >> toolchain "size". > >> > >> This is just a suggestion, but help us to know that you really tested > >> the release and also it is used as reference to know if the size > >> increased too much or if there is some discrepancies between different > >> toolchains. > >> > >> Thank you for understanding. > >> > >> BR, > >> > >> Alan > >> > >> On 10/8/22, Tomek CEDRO <to...@cedro.info> wrote: > >> > +1 from me :-) > >> > > >> > -- > >> > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > >> > > > > > > > > > -- > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > -- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info