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

Тестирование DevKit v2.0.7

CHERTS

Moderator
Команда форума
Что и как протестировать?
Сборку собственных прошивок новым компилятором и их работу. По моим тестам GCC 5.1 стал чуток больше оставлять свободного IRAM по сравнению с 4.8. Хотелось бы услышать мнения других. Ну и баги, глюки, стала ли прошивка работать стабильнее или все так же или хуже чем на gcc 4.8
 

pvvx

Активный участник сообщества
Последнее редактирование:

Oakim

New member
Сборку собственных прошивок новым компилятором и их работу. По моим тестам GCC 5.1 стал чуток больше оставлять свободного IRAM по сравнению с 4.8. Хотелось бы услышать мнения других. Ну и баги, глюки, стала ли прошивка работать стабильнее или все так же или хуже чем на gcc 4.8
Поставилось пример скомпилировался, вроде работает, большего пока сказать не могу (OS Win8.1)
 

CHERTS

Moderator
Команда форума
Да, и патч SSL уже новый для SDK 1.2.0 http://bbs.espressif.com/viewtopic.php?f=5&t=708
В esptool.py ошибки:
в строке 388 - надо сдвинуть строку под второй if.
в строке 420 - изменить хоть так: proc = subprocess.Popen([tool_nm, '-g', self.name], stdout=subprocess.PIPE)
Fixed, спасибо. Но китайцы блин... что они напихали в libssl, она была +100k сейчас уже +400k :/

Почему не работают? Вы пробовали?
 

pvvx

Активный участник сообщества
C:\Espressif\examples\nodemcu-firmware:
../libc/c_stdlib.h:16:0: error: "__INT_MAX__" redefined [-Werror]
Добавлять [HASHTAG]#undef[/HASHTAG] __INT_MAX__ ?

Причина удаления ESPWebFramework в том, что не лезет в IRAM? С обгрызанными либами libgcc.a и libc.a прекрасно вписывался... а уж с опцией 48 k IRAM...

Итоги прошлой версии и новой:
Код:
   Section|                   Description| Start (hex)|   End (hex)|Used space
------------------------------------------------------------------------------
      data|        Initialized Data (RAM)|    3FFE8000|    3FFE8AE8|    2792
    rodata|           ReadOnly Data (RAM)|    3FFE8AE8|    3FFE8AF0|       8
       bss|      Uninitialized Data (RAM)|    3FFE8B68|    3FFF2970|   40456
      text|            Cached Code (IRAM)|    40100000|    4010A7BC|   42940
irom0_text|           Uncached Code (SPI)|    4020C000|    40268CAC|  380076
Total Used RAM : 43256
Free RAM : 38664
Free IRam : -10154 (+16384)

   Section|                   Description| Start (hex)|   End (hex)|Used space
------------------------------------------------------------------------------
      data|        Initialized Data (RAM)|    3FFE8000|    3FFE8AE8|    2792
    rodata|           ReadOnly Data (RAM)|    3FFE8AE8|    3FFE8AF0|       8
       bss|      Uninitialized Data (RAM)|    3FFE8B68|    3FFF2960|   40440
      text|            Cached Code (IRAM)|    40100000|    4010A7F8|   43000
irom0_text|           Uncached Code (SPI)|    4020C000|    40268C68|  380008
Total Used RAM : 43240
Free RAM : 38680
Free IRam : -10214 (+16384)
Различия менее 1%
(Отрицательный размер "свободного IRAM" прикалывает в рабочем проекте :) )
+ esptool.py всё равно надо исправлять полностью, к примеру как тут
 
Последнее редактирование:

Oakim

New member
Пример esp_rtos_sdk_examples некомпилируется пишет что INADDR_ANY и server_addr.sin_addr.s_addr - not be resolved :-( кажется не хватает файла inet.h
 

pvvx

Активный участник сообщества
Пример esp_rtos_sdk_examples некомпилируется пишет что INADDR_ANY и server_addr.sin_addr.s_addr - not be resolved :-( кажется не хватает файла inet.h
Всё там нормально.
Код:
mingw32-make.exe -f E:/ESP8266/workspace/esp_rtos_sdk_example/Makefile all
CC user/user_main.c
AR build/app_app.a
LD build/app.out
Run objcopy, please wait...
objcopy done
Run gen_appbin.exe
c:/Espressif/utils/gen_appbin_old.exe build/app.out v6
text start_addr 0x40100004
data start_addr 0x3ffe8000
rodata start_addr 0x3ffe8670
text size77c0
data size670
rodata size154c
header size is 8 block header size 18 total size is 939d pad is 0x3 blocks
chksum text 9a
chksum data 15
chksum all 3d
text load_addr 0x40100000 len 0x77c0
data load_addr 0x3ffe8000 len 0x670
rodata load_addr 0x3ffe8670 len 0x154c
40100004
3ffe8000
3ffe8670
C:\Espressif\utils\genflashbinv6 eagle.app.v6.text.bin 40100004 eagle.app.v6.data.bin 3ffe8000 eagle.app.v6.rodata.bin 3ffe8670
ren eagle.app.flash.bin eagle.app.v6.flash.bin
Generate eagle.flash.bin and eagle.irom0text.bin successully in folder firmware.
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x40000
Done
Это редактор Eclipse не видит inet.h.
Измените конфиг в Eclipse на данный проект, добавьте строчку, и редактор успокоится:
esp_rtos_sdk_ex.gif
UDK имеет двойные настройки. Одни, для компиляции, описываются в makefile к проекту, другие в среде для Eclipse.
Настройки для Eclipse никак не влияют на трансляцию и наоборот - настройки в makefile никак не влияют на среду Eclipse.
Причина банальна - никто не хочет писать/корректировать плагин конфигуратора к Eclipse, чтобы в нем автоматически создавались makefile и управление проектом происходило в среде Eclipse, в окошках.
 
Последнее редактирование:
Прошу всех кто может потестировать новую версию DevKit v2.0.7
Привет @CHERTS,
Спасибо за проект
Поставил.
Проект C:\Espressif\examples\nodemcu-firmware
Код:
../../Makefile:226: recipe for target '.output/eagle/debug/obj/user_main.o' failed
mingw32-make[2]: Leaving directory 'C:/Espressif/examples/nodemcu-firmware/app/user'
mingw32-make[2]: *** [.output/eagle/debug/obj/user_main.o] Error 1
mingw32-make[1]: *** [.subdirs] Error 2
../Makefile:215: recipe for target '.subdirs' failed
mingw32-make[1]: Leaving directory 'C:/Espressif/examples/nodemcu-firmware/app'
C:/Espressif/examples/nodemcu-firmware/Makefile:215: recipe for target '.subdirs' failed
mingw32-make.exe: *** [.subdirs] Error 2
что не правильно делаю?
esptool.py ??
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
C:\Espressif\examples\nodemcu-firmware:
../libc/c_stdlib.h:16:0: error: "__INT_MAX__" redefined [-Werror]
Добавлять #undef __INT_MAX__ ?
Нет, достаточно закомментировать
//#define __INT_MAX__ 2147483647

Fixed в репозитарии

Причина удаления ESPWebFramework в том, что не лезет в IRAM? С обгрызанными либами libgcc.a и libc.a прекрасно вписывался... а уж с опцией 48 k IRAM...
Причина удаления - потому, что автор не хочет переезжать на новую RTOS-SDK и да, не влазит в IRAM.

Различия менее 1%
У меня при сборке nodemcu на старом gcc 4.8 на 5.1 разница была поболее в пользу 5.1

Пример esp_rtos_sdk_examples некомпилируется пишет что INADDR
Fixed в репозитарии


что не правильно делаю?
В файле nodemcu-firmware\app\libc\c_stdlib.h закомментировать
//#define __INT_MAX__ 2147483647
и должно все собраться
 
В файле nodemcu-firmware\app\libc\c_stdlib.h закомментировать
//#define __INT_MAX__ 2147483647
и должно все собраться
Спасибо, собралось.
Осталась маленькая проблема- не работает ни на каких модулях. esp07-12-12e, боард v1.0.
Поток на UART, синий диод горит постоянно вот лог:
Код:
Fatal exception (0):
epc1=0x40105840, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
epc1=0x40105840, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
 
Сверху Снизу