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
>

Reply via email to