Hi Mario,
Thanks for the clarification. Very useful.
So I followed your advice, which I also think is the best approach. Please let me know if I understood correctly.
I decided to use version 3 so I'm using the V1.0 commit from Sep 28, 2019.
I installed the preconfigured toolchain. I'm not using Eclipse, just the mingw32 command line.
I fixed the component.mk paths to match mine.
All but one of the "not found" errors went away, this file wasn't found, and I checked and the include_priv folder doesn't exist, maybe its modified code?:
#include "bootloader_support/include_priv/bootloader_random.h"
So I changed it to:
#include "bootloader_support/include/bootloader_random.h"
Which "worked", but now I got all these "missing references":
jorge@LAPTOP-8KUK39EP MINGW32 ~/esp/Glo_v1
$ make all
Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5
Compiler version: 5.2.0
Python requirements from C:/msys32/home/jorge/esp/esp-idf/requirements.txt are satisfied.
App "app-template" version: 9273e6a-dirty
LD build/app-template.elf
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z25filtered_channel_add_echov+0x0): undefined reference to `echo_buffer_ptr0'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z25filtered_channel_add_echov+0x4): undefined reference to `echo_dynamic_loop_length'
...
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z16filtered_channeliiif+0x10c): undefined reference to `global_settings'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z16filtered_channeliiif+0x110): undefined reference to `tempo_bpm'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z16filtered_channeliiif+0x170): undefined reference to `IIR_Filter::iir_filter_multi_sum_w_noise(float, IIR_Filter**, int, float*, unsigned short, float)'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z16filtered_channeliiif+0x174): undefined reference to `add_reverb'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z16filtered_channeliiif+0x184): undefined reference to `sd_write_sample'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z16filtered_channeliiif+0x188): undefined reference to `Filters::start_update_filters_pairs(int*, float*, int)'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z16filtered_channeliiif+0x1a0): undefined reference to `codec_set_mute'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o):(.literal._Z16filtered_channeliiif+0x1a4): undefined reference to `Filters::release()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(FilteredChannels.o): In function `filtered_channel(int, int, int, float)':
C:/msys32/home/jorge/esp/Glo_v1/main/FilteredChannels.cpp:132: undefined reference to `IIR_Filter::iir_filter_multi_sum_w_noise_and_wind(float, IIR_Filter**, int, float*, unsigned short, float, int)'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(glo_config.o):C:/msys32/home/jorge/esp/Glo_v1/main/glo_config.c:1850: more undefined references to `error_blink' follow
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0x1c): undefined reference to `process_buttons_controls_whale'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0x2c): undefined reference to `remapped_channels'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0x30): undefined reference to `remapped_channels_found'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0x44): undefined reference to `glo_run'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0x4c): undefined reference to `channel_loop'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0x50): undefined reference to `channel_loop_remapped'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xac): undefined reference to `codec_reset'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xb0): undefined reference to `whale_init_power'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xb4): undefined reference to `i2c_master_init'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xb8): undefined reference to `init_deinit_TWDT'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xbc): undefined reference to `generate_random_seed'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xc0): undefined reference to `whale_init_RGB_LED'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xc4): undefined reference to `whale_init_buttons_GPIO'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xc8): undefined reference to `RGB_LEDs_blink'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xcc): undefined reference to `init_echo_buffer'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xd0): undefined reference to `init_accelerometer()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xd4): undefined reference to `init_i2s_and_gpio'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xd8): undefined reference to `codec_init'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xe4): undefined reference to `channel_bytebeat()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xe8): undefined reference to `channel_chopper()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xec): undefined reference to `channel_dekrispator()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xf0): undefined reference to `channel_drum_kit()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xf4): undefined reference to `codec_select_input'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o):(.literal.app_main+0xf8): undefined reference to `gecho_test_MIDI_input'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(main.o): In function `app_main':
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:36: undefined reference to `codec_reset'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:40: undefined reference to `whale_init_power'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:40: undefined reference to `i2c_master_init'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:46: undefined reference to `init_deinit_TWDT'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:49: undefined reference to `generate_random_seed'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:66: undefined reference to `whale_init_RGB_LED'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:75: undefined reference to `whale_init_buttons_GPIO'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:76: undefined reference to `RGB_LEDs_blink'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:78: undefined reference to `init_echo_buffer'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:79: undefined reference to `init_accelerometer()'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:123: undefined reference to `init_i2s_and_gpio'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:143: undefined reference to `codec_init'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:248: undefined reference to `channel_bytebeat()'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:253: undefined reference to `channel_chopper()'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:255: undefined reference to `channel_dekrispator()'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:256: undefined reference to `channel_drum_kit()'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:258: undefined reference to `codec_select_input'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:260: undefined reference to `codec_select_input'
C:/msys32/home/jorge/esp/Glo_v1/main/main.cpp:262: undefined reference to `gecho_test_MIDI_input'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z8DCO_playPv+0x4): undefined reference to `BUTTONS_SEQUENCE_TIMEOUT'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z8DCO_playPv+0x8): undefined reference to `channel_running'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z8DCO_playPv+0x18): undefined reference to `DCO_Synth::DCO_Synth()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z8DCO_playPv+0x1c): undefined reference to `DCO_Synth::v1_init()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z8DCO_playPv+0x20): undefined reference to `DCO_Synth::v1_play_loop()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z8DCO_playPv+0x24): undefined reference to `DCO_Synth::~DCO_Synth()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z18channel_antarcticav+0x4): undefined reference to `volume_ramp'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z18channel_antarcticav+0xc): undefined reference to `song_of_wind_and_ice()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z11channel_dcov+0xc): undefined reference to `Delay'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z16channel_granularv+0x0): undefined reference to `granular_sampler_simple()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z14channel_reverbv+0x0): undefined reference to `start_MCLK'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z14channel_reverbv+0x4): undefined reference to `decaying_reverb()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z14channel_reverbv+0x8): undefined reference to `stop_MCLK'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z17channel_mi_cloudsv+0x0): undefined reference to `clear_unallocated_memory'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z17channel_mi_cloudsv+0x4): undefined reference to `clouds_main(int)'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z12pass_throughv+0x10): undefined reference to `event_next_channel'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z12pass_throughv+0x14): undefined reference to `sampleCounter'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o):(.literal._Z12pass_throughv+0x18): undefined reference to `ADC_sample'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o): In function `DCO_play(void*)':
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:47: undefined reference to `DCO_Synth::DCO_Synth()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o): In function `channel_antarctica()':
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:100: undefined reference to `song_of_wind_and_ice()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o): In function `channel_dco()':
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:136: undefined reference to `Delay'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o): In function `channel_granular()':
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:152: undefined reference to `granular_sampler_simple()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o): In function `channel_reverb()':
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:164: undefined reference to `start_MCLK'
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:165: undefined reference to `decaying_reverb()'
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:166: undefined reference to `stop_MCLK'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(ChannelsDef.o): In function `channel_mi_clouds()':
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:174: undefined reference to `init_i2s_and_gpio'
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:176: undefined reference to `clouds_main(int)'
C:/msys32/home/jorge/esp/Glo_v1/main/ChannelsDef.cpp:181: undefined reference to `init_i2s_and_gpio'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0x78): undefined reference to `REVERB_MIXING_GAIN_MUL'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0x7c): undefined reference to `REVERB_MIXING_GAIN_DIV'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0x84): undefined reference to `reverb_buffer'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0x88): undefined reference to `reverb_buffer_ptr0'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0x8c): undefined reference to `limiter_coeff'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0x90): undefined reference to `play_button_cnt'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0x98): undefined reference to `auto_power_off'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0xa8): undefined reference to `error_blink'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0xac): undefined reference to `get_tempo_by_BPM'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0xb0): undefined reference to `get_delay_by_BPM'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z12channel_initiiiifiii+0xb4): undefined reference to `gecho_init_MIDI'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z14channel_deinitv+0x20): undefined reference to `short_press_button_play'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z14channel_deinitv+0x24): undefined reference to `long_press_button_play'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z14channel_deinitv+0x28): undefined reference to `event_channel_options'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z14channel_deinitv+0x30): undefined reference to `Filters::~Filters()'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o):(.literal._Z14channel_deinitv+0x34): undefined reference to `gecho_deinit_MIDI'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o): In function `channel_init(int, int, int, int, float, int, int, int)':
C:/msys32/home/jorge/esp/Glo_v1/main/InitChannels.cpp:155: undefined reference to `error_blink'
C:/msys32/home/jorge/esp/Glo_v1/main/InitChannels.cpp:258: undefined reference to `get_tempo_by_BPM'
C:/msys32/home/jorge/esp/Glo_v1/main/InitChannels.cpp:276: undefined reference to `get_delay_by_BPM'
C:/msys32/home/jorge/esp/Glo_v1/main/InitChannels.cpp:288: undefined reference to `gecho_init_MIDI'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(InitChannels.o): In function `channel_deinit()':
C:/msys32/home/jorge/esp/Glo_v1/main/InitChannels.cpp:291: undefined reference to `codec_set_mute'
C:/msys32/home/jorge/esp/Glo_v1/main/InitChannels.cpp:415: undefined reference to `Filters::~Filters()'
C:/msys32/home/jorge/esp/Glo_v1/main/InitChannels.cpp:474: undefined reference to `gecho_deinit_MIDI'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(Binaural.o): In function `binaural_program(void*)':
C:/msys32/home/jorge/esp/Glo_v1/main/Binaural.cpp:205: undefined reference to `Delay'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(Chaos.o):(.literal.shuffle_octaves+0x0): undefined reference to `random_value'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(Chaos.o):(.literal.shuffle_octaves+0x4): undefined reference to `new_random_value'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(Chaos.o):(.literal.get_music_from_noise+0x8): undefined reference to `fill_with_random_value'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(Chaos.o): In function `shuffle_octaves':
C:/msys32/home/jorge/esp/Glo_v1/main/Chaos.c:144: undefined reference to `new_random_value'
C:/msys32/home/jorge/esp/Glo_v1/build/main\libmain.a(Chaos.o): In function `get_music_from_noise':
C:/msys32/home/jorge/esp/Glo_v1/main/Chaos.c:75: undefined reference to `fill_with_random_value'
C:/msys32/home/jorge/esp/Glo_v1/main/Chaos.c:67: undefined reference to `new_random_value'
collect2.exe: error: ld returned 1 exit status
make: *** [C:/msys32/home/jorge/esp/esp-idf/make/project.mk:483: /home/jorge/esp/Glo_v1/build/app-template.elf] Error 1
I had to erase more than half of the console output because of the forums 2000 character limit, FYI.
What can I be missing?
Thank you Mario.
Jorge