пока не вижу откуда Rapid Loader берет адрес 0x07000..
А он и сделан по другому. Не для Ардуринщиков и жалеет размер flash.
Он прилепляется к проекту простым копированием к первому блоку стандартного загрузчика и грузит код, находящийся за собой, чтобы не тратить целый сектор на 4096 байт.
[HASHTAG]#define[/HASHTAG] next_flash_header_addr 0x402000c0 - это указатель от куда грузить и передается процедуре
https://github.com/pvvx/Rapid_Loader/blob/master/app/loader/loder_flash_boot.s#L8 в регистре a2.
0x402000c0 - это выходит адрес в flash стандартного загрузчика, после копирования в начало к нему RapidLoader-а.
Вы предлагаете написать вам загрузчик под ваши условия?
Китайский вариант с выбором загрузчика мне не нравиться - он имеет недостаток: стирает/пишет сектора и если на ходу выключить питание, то модуль становиться мертвым. Кроме того, он в некоторых случаях переписывает байты в заголовке последних секторов с WiFi конфигурацией, но контрольную сумму не исправляет. Это приводит к потере прошлой WiFi конфигурации и прочего для SDK.
Так-же мне не нравиться подход содержания дублей SDK библиотек в и так малой "кешируемой" области flash в 1 мегабайт. Это обходиться, но пока не сделано... Больше склоняюсь к созданию системы подгрузки оверлев в IRAM с едиными SDK либами во Flash...