Сборку собственных прошивок новым компилятором и их работу. По моим тестам GCC 5.1 стал чуток больше оставлять свободного IRAM по сравнению с 4.8. Хотелось бы услышать мнения других. Ну и баги, глюки, стала ли прошивка работать стабильнее или все так же или хуже чем на gcc 4.8Что и как протестировать?
Поставилось пример скомпилировался, вроде работает, большего пока сказать не могу (OS Win8.1)Сборку собственных прошивок новым компилятором и их работу. По моим тестам GCC 5.1 стал чуток больше оставлять свободного IRAM по сравнению с 4.8. Хотелось бы услышать мнения других. Ну и баги, глюки, стала ли прошивка работать стабильнее или все так же или хуже чем на gcc 4.8
Fixed, спасибо. Но китайцы блин... что они напихали в libssl, она была +100k сейчас уже +400k :/Да, и патч 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)
Почему не работают? Вы пробовали?A другие диалекты (-std=) не работают? https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html
И то хорошо, на Win 8.1 значит работает DevKit, у меня то Win 7. Спасибо.Поставилось пример скомпилировался, вроде работает, большего пока сказать не могу (OS Win8.1)
Ещё нет и хотел заранее узнать.Почему не работают? Вы пробовали?
-std=c99 и -std=gnu90 точно работают, проверял, остальные были как то не нужны.Ещё нет и хотел заранее узнать.
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)
Всё там нормально.Пример 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
Привет @CHERTS,Прошу всех кто может потестировать новую версию DevKit v2.0.7
../../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
Нет, достаточно закомментироватьC:\Espressif\examples\nodemcu-firmware:
../libc/c_stdlib.h:16:0: error: "__INT_MAX__" redefined [-Werror]
Добавлять #undef __INT_MAX__ ?
Причина удаления - потому, что автор не хочет переезжать на новую RTOS-SDK и да, не влазит в IRAM.Причина удаления ESPWebFramework в том, что не лезет в IRAM? С обгрызанными либами libgcc.a и libc.a прекрасно вписывался... а уж с опцией 48 k IRAM...
У меня при сборке nodemcu на старом gcc 4.8 на 5.1 разница была поболее в пользу 5.1Различия менее 1%
Fixed в репозитарииПример esp_rtos_sdk_examples некомпилируется пишет что INADDR
В файле nodemcu-firmware\app\libc\c_stdlib.h закомментироватьчто не правильно делаю?
Отлично, тогда на этом все, всем спасибо за тестирование. Выпускаю в релиз.Windows 10. Примеры компилируются.
Спасибо, собралось.В файле nodemcu-firmware\app\libc\c_stdlib.h закомментировать
//#define __INT_MAX__ 2147483647
и должно все собраться
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):