By the way, I also found some tools for MOS6502 in the ports tree :-) # make quicksearch key="6502" Port: acme-0.97.r319,1 Path: /usr/ports/devel/acme Info: Crossassembler for 6502, 65c02 and 65816 processors
Port: cc65-2.19 Path: /usr/ports/devel/cc65 Info: Cross-compiler for 6502-based systems Port: dxa65-0.1.4 Path: /usr/ports/devel/dxa65 Info: Disassembler for MOS 6502 and compatible CPUs Port: vasm-1.8c Path: /usr/ports/devel/vasm Info: Portable 6502 6800 arm c16x jagrisc m68k ppc vidcore x86 z80 assembler Port: xa65-2.3.11 Path: /usr/ports/devel/xa65 Info: Two-pass cross-assembler for MOS 6502 and compatible CPUs Port: p5-Acme-6502-0.77_2 Path: /usr/ports/emulators/p5-Acme-6502 Info: Pure Perl 65C02 simulator Port: nesasm-20040314_1 Path: /usr/ports/lang/nesasm Info: 6502 assembler with specific NES support Not sure about dedicated toolchain for MC68000 (16-bit Atari and Amiga) if there needs to be one or generic compiler can cross compile that target.. but I will know that in some time as I have both Amiga 600 and Atari ST Mega1 :-) Best regards :-) Tomek On Sat, Oct 8, 2022 at 3:15 PM Tomek CEDRO <to...@cedro.info> wrote: > > 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 -- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info