Hi Tomek, I think 6502 compiler are evolving, but I don't know if they are compatible.
There is a interesting comparison here: https://gglabs.us/node/2293 CC. Gabriele here, since I don't know if here is in our list! BR, Alan On 10/8/22, Tomek CEDRO <to...@cedro.info> wrote: > 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 >