Fixed email!
On 10/8/22, Alan C. Assis <acas...@gmail.com> wrote: > 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 >> >