Re: Arduino IDF -> make/automake based environment

From: FreeBSD User <freebsd_at_walstatt-de.de>
Date: Wed, 29 Dec 2021 12:06:41 UTC
On Wed, 29 Dec 2021 09:10:02 +0200
Daniel Braniss <danny@cs.huji.ac.il> wrote:

> > On 29 Dec 2021, at 01:25, FreeBSD User <freebsd@walstatt-de.de> wrote:
> > 
> > On Mon, 20 Dec 2021 14:35:10 +0100
> > Marc Fonvieille <blackend@freebsd.org <mailto:blackend@freebsd.org>> wrote:
> >   
> >> Le 19.12.2021 21:03, Andrew Stevenson a écrit :  
> >>> 
> >>>   
> >>>> On 19. Dec 2021, at 12:18, FreeBSD User <freebsd@walstatt-de.de> wrote:
> >>>> 
> >>>> environment. Since I'm interested in coding for some smaller AMTEL MCUs and ESP32
> >>>> and like to digg a bit deeper than simply clicking a host base from a menu, I'm not
> >>>> afraid of doing some larger basic setup if needed.    
> >>> 
> >>> If by small AMTEL MCUs you mean AVRs then avr-gcc and avrdude are in ports.
> >>>   
> >> 
> >> For ESP32, you should look at:
> >> https://wiki.freebsd.org/electronics/arduino/esp32  
> > 
> > Following these instructions with the most recent required ports on the latest
> > 13-STABLE, results in an linker error:
> > 
> > /usr/local/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld:
> > cannot find crt1-sim.o: No such file or directory
> > /usr/local/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld:
> > cannot find _vectors.o: No such file or directory
> > collect2: error: ld returned 1 exit status
> > 
> >   
> >> and
> >> https://forums.freebsd.org/threads/a-guide-for-installing-esp32-board-for-arduino-on-freebsd12-update-2021-08-17.78408/
> >> <https://forums.freebsd.org/threads/a-guide-for-installing-esp32-board-for-arduino-on-freebsd12-update-2021-08-17.78408/>
> >>  
> i gave up compiling the xtensa stuff, specially after espressif came out with a riscv
> version. so I downloaded the oficial idf and under FreeBSD-13 it almost worked  out of
> the box, if you want I can search my notes …
> 
> danny
> 

Hello.

I think, that will be the first step in the right direction (using the official eps-idf).
Since I didn't come along with the salvation of the linker error reported earlier, I
switched back to an older project from January this year. It is also based on the
official FreeBSD Arduino 1.8.5 port and the xtensa compiler 5.2.0 from ports, but I used
within sketchbook/hardware/esp32 the esp32 git branch release/v1.0 instead of master on
which I faced the crt1-sim.o error. The goal is to compile HyperionLED (as a side
product) with the recommended libraries for this project.
It doesn't compile with ESP32 branch release/v1.0, the error is now

[...]
libraries/FastLED/src/platforms/esp/32/clockless_rmt_esp32.h:149:33: error:
'cpu_hal_get_cycle_count' was not declared ...
[...]

which lead me to the conclusion that a more recent version is required. With the recent
version of ESP32 stuff in place, I face the mentioned crt1-sim.o error.

Searching the web for that error leads to a discrepancy of ESP-IDF and the compiler stuff.

I'll try the original esp-idf as you suggested (it is a pity it is backed by cmake, I'm
not quite familiar with cmake yet).

Any advice is highly appreciated.

Kind regards,
oh