Александр
в ес32
Александр
только внешний епром? или еще какие то варианты?
Ruslan
переписать код плотнее, но лучше начать с партишенов
Александр
с чего начинать?
Ruslan
с партишенов, на нашем - с разделов на флеше
Slava
Александр
нет. я вообще не занимался есп плотно
Slava
нет. я вообще не занимался есп плотно
В есп флешка н 4 мегабайта для всего.
Александр
слышал. пойду гуглить
Александр
примерно как это работает интересно
Ruslan
ну в общем, партишены как на дисках, как разобьёшь, столько и будет, в пределах физических возможностей твоего чипа
🛡Aleksej
примерно как это работает интересно
флеш разбит на физические сегменты (страницы), стирать можно только всю страницу. Есть софт эмулирующий епром
Slava
Как разделы на дисках по русски
Leonid
флеш же имеет ресурс на стирание раз в 10 меньше, чем еепром
Slava
флеш же имеет ресурс на стирание раз в 10 меньше, чем еепром
В есп нет еепром, есть только флеш. И если у тебя нет есп с дохлой флеш - то говорить о ресурсе флеш неубедмтельно.
🛡Aleksej
флеш же имеет ресурс на стирание раз в 10 меньше, чем еепром
ну не в 10, примерно также, ~10.000 циклов. если нужно много циклов перезаписи, нужно ФРАМ прикручивать через квадратный интерфейс.
Leonid
про ESP не знаю, в AVR написано eeprom 100 000 циклов
Leonid
а флеш, да, около 10 000
Ruslan
я уже полгода активно пишу прошивку, около 1000 циклов набрал, судя по количеству регистраций в облаке )
Leonid
да в целом и 10к - это много но есть же гениальные программисты, которые с частотой 10 Гц в EEPROM что-то пишут
iҚØN🐾🐾
В есп флешка н 4 мегабайта для всего.
Щас уже есть версии с 16мб, заказал уже для тестов
Александр
Всем доброго дня. Столкнулся с такой проблемой - ESP-WROOM-32 с AT-прошивкой в процессе работы иногда чудит: 1. безо всякой видимой причины после нескольких минут нормальной работы перестаёт принимать команды AT+CIPSEND. модуль при этом работает в режиме эхо, в данном случае эхо также отсутствует, то есть модуль просто молчит. После 30-60 секунд после этого эффекта внезапно как ни в чём ни бывало возвращается к нормальной работе. Передаю пакеты от 32 байт до 1000. 2. модуль, опять же работая в режиме эхо, иногда вместо корректного приёма AT команды возвращает её с ошибочным символом. UART терминал подключённый к этому же пину ESP показывает, что команду я выдал корректную. То есть, на терминале, например: "AT+CIPSEND...", а ESP мне возвращает "AT+*IPSEND..." и, соответственно, ERROR. Сталкивался ли кто из присутствующих с подобными проблемами?
Slava
Щас уже есть версии с 16мб, заказал уже для тестов
А как использовать? Как храненилище?. Умного говнокода всё равно столько не написать, а если и попытаться - оператавки для работы не хватит.
iҚØN🐾🐾
А оно жрет будь здоров)
Slava
Всем доброго дня. Столкнулся с такой проблемой - ESP-WROOM-32 с AT-прошивкой в процессе работы иногда чудит: 1. безо всякой видимой причины после нескольких минут нормальной работы перестаёт принимать команды AT+CIPSEND. модуль при этом работает в режиме эхо, в данном случае эхо также отсутствует, то есть модуль просто молчит. После 30-60 секунд после этого эффекта внезапно как ни в чём ни бывало возвращается к нормальной работе. Передаю пакеты от 32 байт до 1000. 2. модуль, опять же работая в режиме эхо, иногда вместо корректного приёма AT команды возвращает её с ошибочным символом. UART терминал подключённый к этому же пину ESP показывает, что команду я выдал корректную. То есть, на терминале, например: "AT+CIPSEND...", а ESP мне возвращает "AT+*IPSEND..." и, соответственно, ERROR. Сталкивался ли кто из присутствующих с подобными проблемами?
Мы ат прошивками не пользуемся. Не жди ответа.
Александр
хорошо спасибо Всем ребята) а теперь просветите неуча второй вопрос. я слышал про ядра. я могу каждое ядро по отдельности перезагружать в случае каких то событий? и можно ли в одном ядре использовать переменные другого ядра. мне нужно что некоторые данные были общими синхронными
iҚØN🐾🐾
Вообще и для кода уже 4мб мало. Стандартный arduino framework + esp-idf тупо с ходу 17% флэша отжирает на тупом int setup()/loop(). А добавишь 2-3 библиотеки и все, места почти нет
Slava
В файловую систему картинок напихать
Да чё картинок? Давай уж видосы сразу и смотреть на экране полтора дюйма, как в прошлом веке. Помнишь такое? Или тебя сделали уже в этом веке?
iҚØN🐾🐾
Jquery можно обрезать или грузить с cdn
Ну можно что хочешь сделать, но что если нет интернета? У меня как раз коробка, которая рассчитана на первоначальную конфигурацию из-под WiFi AP, где не будет интренета
iҚØN🐾🐾
А вообще кто-то встречал либу для записи во внешний eeprom типа at16cxxx по типу nvs, а не записывая в ячейки по адресу, длине и оффсету?
iҚØN🐾🐾
Свою вэб страничку с настройками делать. Этож элементарно.
Ну вот у меня так и сделано) но там интерфейс а-ля нативное приложение ios/android, а не тупая страница безо всего
iҚØN🐾🐾
iҚØN🐾🐾
Пример
Slava
Ну вот у меня так и сделано) но там интерфейс а-ля нативное приложение ios/android, а не тупая страница безо всего
Фотку покажи, интересненько. И кстати сколько памяти сжигает функционал настройки через андроид и блютуз?
Slava
Пример
Ну да, тут настроек 3 штуки. Это не тяжело для есп.
iҚØN🐾🐾
Ну это только управление, а в настройках там куча другого
iҚØN🐾🐾
Я ссл кстати не собирал
Я ссл кстати не собирал
Там он по умолчанию его подтягивает вроде с авторизацией 802.1x
iҚØN🐾🐾
Не, я имел ввиду как слой к http-серверу
Не, я имел ввиду как слой к http-серверу
Так она по умолчанию там уже есть mbedtls же вроде
iҚØN🐾🐾
А, ясно, думал придется собирать какой-нибудь bearssl
iҚØN🐾🐾
Вот на счет рестарта ядра тоже не понял 😊
ok-home
С последним не соглашусь. Память у ядер разная
пример плиз ? Там единое адресное пространство
iҚØN🐾🐾
пример плиз ? Там единое адресное пространство
Я имел ввиду не единое адресное, а конкуренцию
iҚØN🐾🐾
Оно-то единое так-то, но без мьютексов можно напороться на получение адреса данных на ядре1, которого уже уже нет в ядре 2)
Александр
Блин
Александр
Я думал можно ядра отдельно перезагружать
iҚØN🐾🐾
Вообще, если нет сильно больших операций - можно использовать совместно, но вообще ловил крэши
Александр
Типа подвигло на http post то перезагрузил и все
Александр
1. подключение к брокеру и сбор данных в RAM набор топиков.
Александр
2. передача пост запросом названия и значения топиков на внешний сервер
Александр
3. реализация логики сравнение пременных в райн-тайм режиме с конечным результатом =- например звуковое оповещение и тп
Александр
1 и 3 пункт первое ядро, 2 пункт второе ядро. в каждое ядро свои ватч-доги завязанные на сервер
iҚØN🐾🐾
Если подвис post, то надо там искать проблему, а не перезагружать ядро
Александр
Так хотелось
iҚØN🐾🐾
А еще надо понимать специфику работы ядер. Всякие низкоуровневые операции с сетью (железо wifi и тд) работает на ядре 0 и всякие lwip тоже желательно на 0е ядро вешать, а не на 1е. Вообще, надо посмотреть, мб напутал местами. Но смысл остается тот же: сеть на одно ядро, бизнес-логику на второе
Александр
Грустно. Две esp32 и обмен по UART через контрольные суммы. Подключение к внешнему sdram обоих esp32 одновременно
Ruslan
А оно жрет будь здоров)
Два мегабайта максимум, если полгода писать
Александр
Интересно что будет если две есп32 подключить к 1 spi sdram
Александр
Общий буфер будет ?
ok-home
1 и 3 пункт первое ядро, 2 пункт второе ядро. в каждое ядро свои ватч-доги завязанные на сервер
в 90% случаев планировщик сам раскидает задачи по ядрам. Если вы правильно закрыли мьютексами глобальные переменные (если не смогли от них избавиться) - проблем с конкурентным доступом не будет, ватчдоги можно вешать и на задачи и на отдельные функции.
iҚØN🐾🐾
Рестартануть можно. Вообще весь МК. Ядро отдельно нельзя или я не знаю как)
iҚØN🐾🐾
Рестартуй задачу на ядре
Он хочет все ядро
iҚØN🐾🐾
В теории можно написать обвязку около xTaskCreatePinnedToCore и записывать хэндлы тасок, которые создаются и потом им делать vTaskDelete из списка ядра