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

UDK: Запрос/обсуждение нового функционала

CHERTS

Moderator
Команда форума
15:02:54 Build Finished (took 1s.140ms)
Куда копать?
Сегодня-завтра выпущу новуй релиз с исправлением этой беды, она только на WinXP возникает, питон странная штука, вроде как собирал exe-файлы 32-разрядным питоном под Win7, но это дело бонально не работает под WinXP, если собрать тем же питоном но под WinXP, то все работает.
 

CHERTS

Moderator
Команда форума
не по теме, но как наблюдение.
Ваш форум самый тяжелый в инете. Он так грузит трафик что блокирует все остальное.
Или он неудачно написан либо перегружен рекламой.
Хорошо бы сделать его полегче.
Это вопрос к администрации форума, вроде есть отдельный топик для обсуждения проблем форума.
 

CHERTS

Moderator
Команда форума
Версия 2.2.1
Не получается распечатать распределение памяти вот этой командой
$(Q) $(ESPTOOL) elf2image $(TARGET_OUT) -o$(FW_BASE)/ $(flashimageoptions) в $(TARGET_OUT): $(APP_AR)
В старых версиях выводится.
Что изменить, чтобы было?
Наверно не в то место common_nonos.mk вводите эту команду.
И кстате говоря, она не распечатывает распределение памяти, это команды создания бинарников прошивки из elf
 

CHERTS

Moderator
Команда форума
относительно XTENSA я неточно выразился. Конечно он собирает, но разве его изменения связаны с выходом нового SDK или с примерами? Я полагаю, что нет. Изменения XTENSA вроде бы связаны с новыми разработками XTENSA.
Т е причины обновления компилятора не связаны с появлением нового SDK для ESP. Или это не так?
С выходом новой SDK нет, не связаны. Но например в 2.2.0 я пересобирал компилятор с некоторыми доп.опциями и он естественно обновлен в UDK. Возможно что в новой UDK я перейду на новую версию gcc, так что опять возможно обновление компилятора и выносить его за пределы UDK неразумно.
 

nikolz

Well-known member
С выходом новой SDK нет, не связаны. Но например в 2.2.0 я пересобирал компилятор с некоторыми доп.опциями и он естественно обновлен в UDK. Возможно что в новой UDK я перейду на новую версию gcc, так что опять возможно обновление компилятора и выносить его за пределы UDK неразумно.
Ну, я лишь предложил.
Хотя Ваши объяснения не противоречат моему предложению.
Вы сами объяснили, что пересборка компилятора выполняется Вами по разным причинам,
в том числе и не связанным с UDK. Т е обновление этих частей может выполнятся независимо друг от друга
 

CHERTS

Moderator
Команда форума
Относительно программ в каталоге driver. если я правильно понял, то сейчас они каждый раз транслируются и потом все линкуются в прошивку, даже если эту функцию и не используем. Если это так, то хорошо бы собирать их в библиотеку и потом подключать библиотеку в сборку.
Более того, эти программы как правило вообще не изменяются при разработке проекта, но они каждый раз при внесении изменений транслируются. Можно было бы сделать отдельно их сборку типа " собрать драйверы в библиотеку".
В дальнейшем можно вынести все драйверы в единый каталог и собирать в библиотеку. тогда все было бы более компактно и быстрее собиралось бы.
Если Вы один раз сделали make то происходит сборка прошивки, в каталоге build\... появляются соответствующие подкаталоги с *.o файлами (объектный файл или object file) и файлы app_app.a и app.out - это уже результат работы линковщика. В дальнейшем если Вы например поменяли какой либо *.c файл (к примеру user_main.c), то при вызове make произойдет перекомпиляция только этого файла в новый user_main.o и пересборка прошивки. Другие файлы не будут перекомпилироваться. И это логично.
 

CHERTS

Moderator
Команда форума
Народная мудрость гласит: В чужой монастырь со своим уставом не ходят.
Что у Вас пришло в мир Windows из мира UNIX никто в мире WINDOWS не знает.
Вы просто щелкните пару раз на файл с расширением mk и получите загрузку видео студию С.
И зачем это надо?
Затем что VS тоже умеет работать *.mk файлами и они так же могут являться частью проекта VisualStudio. Переопределите приложение для открытия *.mk файлов если Вам так не нравиться что VS их открывает.
 

CHERTS

Moderator
Команда форума
Т е обновление этих частей может выполнятся независимо друг от друга
Может, только зачем усложнять все? Так у меня 1 каталог в котором все живет и автоматически собирается в один инсталятор, а по вашей идее нужно держать 2 инаталятора, помоему это геморой.
Я согласен, что при очередном обновлении UDK не всегда обновляется компилятор и его не нужно повторно распаковывать на диск как это делается сейчас.
Просто у меня сценарий установки написан в простом варианте - удаляем все старое, ставим все новое.
Можно переписать скрипт инсталятора чтобы он реально обновлял только те файлы, которые изменились и не трогал все остальные, если какой-то файл или папку нужно удалить, то инсталятор бы удалял их выборочно, но это огромное усложнение самого кода инсталлятора Inno Setup, человек же может обновлять UDK с 1.x.x версии до 2.x.x а там мама не горюй изменений и нужно вести лог изменений с любой предыдущей версии до текущей обновляемой. Если бы в UDK было 10-20 файлов, то да, можно бы было заморочиться и сделать такой инсталятор, а когда файлов 2700+ то как бы уупс... это очень сложно, я не представляю как в Inno Setup нужно написать сценарий такой установки.
 

CHERTS

Moderator
Команда форума
Вопрос, что сделать, чтобы работало у меня на XP.
Нет, это неправильный вопрос. Что сделать в WinXP или как её установить так по особому, чтобы оно не работало так же как и у Вас?
Если я не могу повторить ваши ошибки и вашу конфигурацию, приводящую к ошибкам, то как я что-то починю?
 

CHERTS

Moderator
Команда форума
Если нет , так и скажите.
Зачем эта демагогия - нет нет так сказать, не так сидите.
Сами же рапортуете о проблеме, и тут же взад пятки. Ладно, скажу НЕТ, но проблемы это не решит.
Вы WinXP запускаете на реальном железе или виртуалке?
WinXP с SP3 ? Разрядность?
 

CHERTS

Moderator
Команда форума
Run objcopy, please wait...
# @ c:/Espressif/xtensa-lx106-elf/bin/xtensa-lx106-elf-objdump -h -j .data -j .rodata -j .bss -j .text -j .irom0.text .output/app/debug/bin/eagle.app.v6.bin
usage: esptool elf2image [-h] [--output OUTPUT] [--version {1,2}]
[--flash_freq {40m,26m,20m,80m}]
[--flash_mode {qio,qout,dio,dout}]
[--flash_size {4m,2m,8m,16m,32m,16m-c1,32m-c1,32m-c2}]
input
esptool elf2image: error: too few arguments
Что это за вызов esptool elf2image ? У меня такого нет в DevKit. Снесите папку Espressif, поставьте DevKit 2.2.1 и будет Вам счастье, а если правите сами Makefile, да еще и с ошибками, то простите, я то тут причем, зачем писать что в DevKit какая-то проблема?
 

nikolz

Well-known member
Что это за вызов esptool elf2image ? У меня такого нет в DevKit. Снесите папку Espressif, поставьте DevKit 2.2.1 и будет Вам счастье, а если правите сами Makefile, да еще и с ошибками, то простите, я то тут причем, зачем писать что в DevKit какая-то проблема?
Спасибо, исправил.
 

RRRLock

New member
Добрый день.
Начиная с версии UDK 2.1.0 не работают примеры прошивок. У меня NodeMCU с ESP-12E. Устанавливаю новый UDK, добавляю примеры, прошиваю. Не работает. Соединение даже не появляется. Ставлю UDK 2.0.9. Примеры снова работают. Подскажите пожалуйста, в чем может быть дело?
 

RRRLock

New member
Внес коррекции в файл, но не помогло. После внесения всех правок, ещё какие-то изменения нужно сделать?
 
Сверху Снизу