Александр
в ес32
Александр
только внешний епром? или еще какие то варианты?
Ruslan
переписать код плотнее, но лучше начать с партишенов
Александр
с чего начинать?
Ruslan
с партишенов, на нашем - с разделов на флеше
Slava
Александр
нет. я вообще не занимался есп плотно
Александр
слышал. пойду гуглить
Александр
примерно как это работает интересно
Ruslan
ну в общем, партишены как на дисках, как разобьёшь, столько и будет, в пределах физических возможностей твоего чипа
Slava
Как разделы на дисках по русски
Leonid
флеш же имеет ресурс на стирание раз в 10 меньше, чем еепром
Александр
Leonid
про ESP не знаю, в AVR написано eeprom 100 000 циклов
Leonid
а флеш, да, около 10 000
Ruslan
я уже полгода активно пишу прошивку, около 1000 циклов набрал, судя по количеству регистраций в облаке )
Leonid
да в целом и 10к - это много
но есть же гениальные программисты, которые с частотой 10 Гц в EEPROM что-то пишут
Александр
Всем доброго дня.
Столкнулся с такой проблемой - ESP-WROOM-32 с AT-прошивкой в процессе работы иногда чудит:
1. безо всякой видимой причины после нескольких минут нормальной работы перестаёт принимать команды AT+CIPSEND. модуль при этом работает в режиме эхо, в данном случае эхо также отсутствует, то есть модуль просто молчит. После 30-60 секунд после этого эффекта внезапно как ни в чём ни бывало возвращается к нормальной работе. Передаю пакеты от 32 байт до 1000.
2. модуль, опять же работая в режиме эхо, иногда вместо корректного приёма AT команды возвращает её с ошибочным символом. UART терминал подключённый к этому же пину ESP показывает, что команду я выдал корректную. То есть, на терминале, например: "AT+CIPSEND...", а ESP мне возвращает "AT+*IPSEND..." и, соответственно, ERROR.
Сталкивался ли кто из присутствующих с подобными проблемами?
iҚØN🐾🐾
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, где не будет интренета
Slava
iҚØN🐾🐾
А вообще кто-то встречал либу для записи во внешний eeprom типа at16cxxx по типу nvs, а не записывая в ячейки по адресу, длине и оффсету?
iҚØN🐾🐾
iҚØN🐾🐾
Пример
Slava
iҚØN🐾🐾
Slava
Пример
Ну да, тут настроек 3 штуки. Это не тяжело для есп.
ㅤ
iҚØN🐾🐾
Ну это только управление, а в настройках там куча другого
iҚØN🐾🐾
Я ссл кстати не собирал
iҚØN🐾🐾
Не, я имел ввиду как слой к http-серверу
iҚØN🐾🐾
А, ясно, думал придется собирать какой-нибудь bearssl
ok-home
iҚØN🐾🐾
iҚØN🐾🐾
Вот на счет рестарта ядра тоже не понял 😊
iҚØN🐾🐾
iҚØN🐾🐾
Оно-то единое так-то, но без мьютексов можно напороться на получение адреса данных на ядре1, которого уже уже нет в ядре 2)
Александр
Блин
Александр
Я думал можно ядра отдельно перезагружать
iҚØN🐾🐾
Вообще, если нет сильно больших операций - можно использовать совместно, но вообще ловил крэши
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 одновременно
Александр
Интересно что будет если две есп32 подключить к 1 spi sdram
Ruslan
Александр
Общий буфер будет ?
Александр
Ruslan
iҚØN🐾🐾
Рестартануть можно. Вообще весь МК. Ядро отдельно нельзя или я не знаю как)
Ruslan
iҚØN🐾🐾
iҚØN🐾🐾
В теории можно написать обвязку около xTaskCreatePinnedToCore и записывать хэндлы тасок, которые создаются и потом им делать vTaskDelete из списка ядра