• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Назначение целей сборки flash,flashinit и flashonefile

nikolz

Well-known member
Добрый вечер,
в UDK есть цели:
flash,flashboot,flashinit и flashonefile.
Где бы подробнее прочитать о их назначении.
Спасибо
 

CHERTS

Moderator
Команда форума
Добрый вечер,
в UDK есть цели:
flash,flashboot,flashinit и flashonefile.
Где бы подробнее прочитать о их назначении.
Спасибо
Первым делом открываете Makefile и смотрите на эти цели, далее думаю будет сразу все понятно

Цель flashinit - прошивает модуль следующими файлами для начальной инициализации модуля базовыми параметрами:
$(SDK_BASE)/bin/clear_eep.bin ------------------------------->0x79000
$(SDK_BASE)/bin/esp_init_data_default.bin --------------->0x7c000
$(SDK_BASE)/bin/blank.bin ------------------------------------>0x7e000

Цель flashboot - прошивает модуль 2nd загрузчиком версии 1.1 или 1.3 в зависимости от параметра BOOT в самом начале Makefile
Если BOOT?=none, то APP должен быть = 0 (APP?=0), тем самым прошивка будет состоять из 2 файлов eagle.flash.bin + eagle.irom0text.bin, которые шьются по адресам 0x00000 и 0x40000
Если BOOT?=new или old, то APP должен быть = 1 или 2 тем самым прошивка будет состоять из 1 файла и в зависимости от параметра BOOT?=new или BOOT?=old будет прошиваться по разным адресам, 0x01000 или 0x41000 или 0x81000 (0x41000 или 0x81000 зависит еще и от размера flash, см. параметр SPI_SIZE)

Цель flash - собирает прошивку и прошивает модуль. В зависимости от параметра BOOT это может быть 1 или 2 файла прошивки.

Цель flashonefile - собирает прошивку в один файл и прошивает модуль. Файл eagle.app.flash.bin шьется по адресу 0x00000. По сути цель собирает единый файл прошивки из 2-х файлов eagle.flash.bin + eagle.irom0text.bin

Цель all - запускает только сборку прошивки. В зависимости от параметра BOOT на выходе получается 1 или 2 файла прошивки.

Цель clean - очищает каталог проекта от собранных файлов прошивки и промежуточных файлов сборки.

Цель rebuild - запускает цель clean, а потом all
 
Последнее редактирование:

pvvx

Активный участник сообщества
Цель flashboot - прошивает модуль 2nd загрузчиком версии 1.1 или 1.3 в зависимости от параметра BOOT в самом начале Makefile
Если BOOT?=none, то APP должен быть = 0 (APP?=0), тем самым прошивка будет состоять из 2 файлов eagle.flash.bin + eagle.irom0text.bin, которые шьются по адресам 0x00000 и 0x40000
Если BOOT?=new или old, то APP должен быть = 1 или 2 тем самым прошивка будет состоять из 1 файла и в зависимости от параметра BOOT?=new или BOOT?=old будет прошиваться по разным адресам, 0x01000 или 0x41000 или 0x81000 (0x41000 или 0x81000 зависит еще и от размера flash, см. параметр SPI_SIZE)
Сама цель или назначение flashboot (?) - для обновления ПО официальной прошивки c сайта Espressif и поддержки их отладочной платы. Т.е. никому не нужная фича, раз уж работаете с UDK :)
 

nikolz

Well-known member
CHERTS,
спасибо за информацию.
еще вопрос.
Хотел бы сделать библиотеку драйверов для датчиков , можно ли
это сделать вашим UDK ? Если можно, то каким образом.
Т е собирать отдельно библиотеки а потом добавлять их в сборки
Спасибо
 

JustACat

Moderator
Команда форума
Хотел бы сделать библиотеку драйверов для датчиков
Обратите внимание на Sming. Там как раз уже есть некий набор библиотек, например, есть для DS18B20. Пока их немного совсем. Но зато как раз по примеру можно понять, как оно там делается.
Это если конечно вас интересуют просто Сишные библиотеки. А если вы хотите некую скомпилированную библиотеку на выходе получить - тогда я не знаю, извините.
 

nikolz

Well-known member
Добрый день,
Спасибо за инфу, тоже интересно,
но меня интересует создание объектных библиотек для подключения при линковке.
 

CHERTS

Moderator
Команда форума
Сама цель или назначение flashboot (?) - для обновления ПО официальной прошивки c сайта Espressif и поддержки их отладочной платы. Т.е. никому не нужная фича, раз уж работаете с UDK
Кто или что мешает использовать это в своей прошивке? В теории это работает, на практике вдруг кому может пригодиться.

Спасибо за инфу, тоже интересно,
но меня интересует создание объектных библиотек для подключения при линковке.
Посмотрите пример C:\Espressif\examples\lwip_lib там как раз собирается библиотека.
 

pvvx

Активный участник сообщества
Кто или что мешает использовать это в своей прошивке? В теории это работает, на практике вдруг кому может пригодиться.
Всё может пригодиться, но новых исходников libupgrade.a нет, а там живопись Espressif.
Для работоспособности данной опции необходимы коды boot-ов на СИ в UDK. А так - это нужно только Espressif.
А чтобы писать свои загрузчики - необходимы все заголовки процедур из ROM-BIOS. Сейчас они раскиданы по всем *.h и переплетены с процедурами SDK. Это полное безобразие и его никто не исправит из-за совместимости исходников. Если от этой совместимости ради опен-сорцов с Espressif отказаться, то всё пойдет.
Не забывайте – многие уже используют модуль как простой дешевый MCU без WiFi, и SDK от Espressif только мешает и не нужно.
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
Я так думаю, что пока нет ни одного коммерческого продукта на ESP, он не пойдет в массы. Или продукты есть? Но я что то не находил их.
 
Сверху Снизу