Anonymous
Alexey
https://ali.onl/1IgH
Это туда
https://ali.onl/1IgI
Это обратно
Alexey
Первые попавшиеся приеры
Dmitrij
Доброго дня!
Dmitrij
Столкнулся с проблемой, при прошивке ESP8266 для народного мониторинга. Первый раз прошил всё отлично. На второй раз, после смены вайфай сети модуль в порт начал выдавать коды(на фото). Никакие танцы с бубном не могут заставить его начать адекватно работать. Блинк работает нормально. Подскажите куда рыть?
Dmitrij
ㅤ
ㅤ
Пыстышку грубо говоря
ㅤ
Только потом прошивать нормальной прошивкой
Dmitrij
А можно с этого момента подробнее.
Dmitrij
Какой бланк?
Dmitrij
Моргания светодиодом? Прошу прощения я просто ещё нуб
Sergey
Dmitrij
Блинк работает без вопросов
Sergey
глюк при работе с вайфаем, первым делом смотреть питание модуля
Dmitrij
пробовал делать вот по этому примеру. ничего не помогло
https://codedevice.ru/archives/411
ㅤ
ㅤ
Пустой файл
Sergey
Бланк
в смысле стереть совсем? )
Dmitrij
ㅤ
Толи с нулями он толи с FF
Sergey
ㅤ
Он нужен для корректного стирания всей флеши
ㅤ
Флеш какого размера у вас?
ㅤ
Найдите в инете blank.bin есть на 512кб есть на 1мб
Dmitrij
начинается сдвиг с мертвого места. Вроде 4мб. а как узнать точно?
Sergey
ㅤ
Еще у некотрых прошивальщиков есть функция стереть флеш тогда можно без blank.bin
Dmitrij
Dmitrij
Которая?
Sergey
под крышкой..
Sergey
Serial.println(ESP.getFlashChipSize());
Sergey
попробуй
Dmitrij
минуточку
Anonymous
Которая?
А при старте разве не пишет в порт я то-то, то-то, размер памяти у меня такой-то
Anonymous
Которая?
После ресета что в порт выдает?
Dmitrij
ets Jan 8 2013,rst cause:2, boot mode:(3,7)
load 0x4010f000, len 3584, room 16
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld
Dmitrij
это при старте
Dmitrij
Sergey
Sergey
шей бланк метровый по адресам 0x000000, 0x100000, 0x200000 0x300000
Sergey
или может 4х метровый есть где )
Sergey
Dmitrij
Вот сейчас у меня крышу покосило ))) я очень звиняюсь. а какэто стелать по адресам?
Sergey
а чем шьешь?
Sergey
Sergey
например во так, стрелочкой адрес. его меняешь просто
Dmitrij
Вот! теперь я понял. Спасибо. Сейчас попробую!
Dmitrij
Увы не помогло! 😔Только что проверил на другой плате прошивка рабочая.
Алексей
Dmitrij
Сейчас попробую
Alexey
python esptool.py -р COMx erase_flash
Должно делать тоже самое, что и прошивка бланка, только esptool сам определит размер
Dmitrij
Anonymous
В чем разница, стереть флешь и записать файл с единицами размером в память?
Anonymous
Перед записью ведь сначала стирается флеш, потом пишется.
Alexey
Кроме того, если на флешке есть NVS или образ файловой системы, то при перепрошивке они не затираются
Anonymous
Не понимаю. У флеш памяти есть команды: стереть сектор, стереть блок секторов, стереть всю. Это команды которые исполнят флеш чип самостоятельно. После стирания в ячейках получается 0xFF. Да, команды эти исполняются довольно долго, но все равно быстрей записи. При записи поверх FF записываются байты данных. Запись идёт постранично или какой буфер есть в чипе. Но в любом случае запись происходит побайтно
Anonymous
В зависимости от чипа может быть разный набор команд стирания, но постраничное стирание как бы сама суть флеш-памяти
Anonymous
Ну и сама запись в флеш-память без стирания довольно безсмысленное занятие, получается новые данные ложатся поверх старых,
Anonymous
Хотя может быть команда записи странницы со стиранием сразу
Dmitrij
Я прошу прощение. а может быть что во время стирания просто записывается, что ячейки с такими адресами пустые, а во время записи пустых строк они становятся реально пустыми. Может поэтому?
Anonymous
Перед записью во флеш-памяти должны быть FF , это состояние стёртой ячейки. Но конструктивно, для увеличения плотности памяти, отдельно каждая ячейка не имеет адресации при стирании, а адресуется сразу страница.
Во время записи 0xAC
Получится 0xFF & 0xAC = 0xAC
Anonymous
При записи большинство чипов тоже не дают адресовать данную ячейку, адресуется страница. Команда 'записать страницу' и заполняешь буфер. А потом смотришь статус исполнения в регистре статуса
Anonymous
У а есп ведь есть память на кристалле и отдельный флеш чип. Может в этом дело
Anonymous
Alexey
тогда лоадер может грузить данные во флеш как ему вздумается
Он так и делает, это и задаётся в аргументах esptool. Так же в документации на esp есть такая штука как esp memory map - где что должно лежать, чтобы все работало как надо.
Я уже не помню низкоуровневое апи самой флешки, но в даташите точно написано, необходимо ли стирание перед новой записью.
Sergey
Anonymous
И прям так в вашем даташите написано? Команд для стирания памяти нет, команд для записи нет?
Anonymous
Anonymous
В строчках указан код команды
Dmitrij
Не хочу беспокоить на ночь глядя. но у меня новый ребус. BME280 не могу подконектить. Я уже прочитал адрес 0х76 и вставил его в библиотеку, а тест показывает ничего. есть какойто секрет?
Resident
Resident
Какую либу используете?)
Dmitrij
Либа это я так понимаю библиотека? ))
Dmitrij
Стандартную