pvvx
Активный участник сообщества
Всё работает на ESP-01. Последние дополнения как раз писал и тестил на ESP-01.pvvx, возможно как-то откатить самому, чтобы вернулась поддержка ESP-01? У меня пока только эта модель(везде в магазинах только такие), а с алиэкспресса посылка может идти 50 дней, сами знаете )
Для поддержки os_strcat надо подключать ещё либу типа libmicroc.a или совсем толстую libc.a. Потом раскоментить //#define os_strcat strcat в osapi.h и описать прототип strcat()...Увидел, что закомментирована функция os_strcat, она приводит к проблемам? У меня она пока работает...
А это включение отжирает килобайты, просто так, на какие-то никому не нужные заголовки и иниты для данных либ ... и процедуры из данных либ не могут работать с данными в IRAM или FLASH. Остальное необходимое, кроме этой strcat(), всё есть уже. Проще написать свою strcat() - меньше отожрет RAM + IRAM + FLASH.
Код:
char *strcat(char *dest, const char *src)
{
os_strcpy(dest + os_strlen(dest), src);
return dest;
}
Если увеличиваете объем кода и данных в проекте, то необходимо:
Странслировать проект и посмотреть полученный размер esp8266web\bin\0x00000.bin. Если он больше 0x06000, тогда вычислить и изменить:
[inline]SizeSeg0 = ((размер 0x00000.bin)+0xFFF)&0x7F000[/inline]
В файле eagle.app.v6.ld вычислить и заменить:
[inline]irom0_0_seg : org = (0x40200000 + SizeSeg0), len = (0x79000 - SizeSeg0)[/inline]
В корневом файле проекта Makefile заменить на вычисленное значение:
[inline]ADDR_FW2 = (SizeSeg0)[/inline]
Далее, для вычисления нового стартового адреса файловой системы на 512к Flash, только если используете прошивку его в Eclipse, то проще снова странслировать проект и посмотреть конечный адрес irom0_text в консоли транслятора:
[inline]irom0_text| Cached Code (SPI)| 40206000| 40238700| 206592[/inline]
к нему (0x38700) прибавить 4096 и обнулить 12 бит:
[inline]addr_webfs = (addr+0x1000)&7F000[/inline]
После этого, в корневом файле проекта Makefile исправить:
[inline]USERFADDR=(addr_webfs)[/inline]
Последнее редактирование: