Прошивка eeprom: ПЕРЕПРОШИВКА FLASH И EEPROM

ПЕРЕПРОШИВКА FLASH И EEPROM

В последнее время, снова как и раньше, мне пришлось частично вернуться к самозанятости по ремонтам электроники. Получив на основном месте работы избыток свободного времени, правда немного в ущерб стабильности дохода, получил взамен хорошую возможность развиваться как  мастер-ремонтник. Сотрудничаю параллельно с маленькой мастерской по ремонту электроники, находящейся в проходном месте, как совместитель, плюс выкупаю технику на Авито и Юле, привожу в норму и реализую там же. Через мои руки проходит много материнских плат, блоков питания АТХ, ЖК мониторов и ТВ, и другой электронной техники. 

Значительная часть современной техники является цифровой, а следовательно, содержит в своем составе микроконтроллер или процессор управляющий работой устройства. Но все эти устройства должны где-то хранить управляющую программу и настройки техники, выставленные пользователем в меню. Несмотря на то, что микроконтроллеры зачастую имеют встроенную EEPROM память, обычно для хранения настроек используется небольшая по объему отдельная микросхема памяти.

EEPROM память

На современной технике обычно эти микросхемы идут в планарном исполнении, типа поверхностный монтаж. Ремонт техники, помимо замены деталей на плате, а иногда и вместе с ними, включает в себя условно программную часть ремонта, перепрошивку данной микросхемы. 

Микросхема EEPROM SMD

Зачастую нам даже не приходится браться за паяльник для того чтобы совершить перепрошивку, достаточно просто использовать специальную клипсу для прошивания, подключающуюся к программатору. Но здесь есть один важный нюанс, который касается перепрошивки микросхем 24 и 25 серии, соответственно EEPROM и Flash памяти. 

Первая (моя) версия программатора

Flash память 25 серия, часто используется для хранения прошивки BIOS устройств, таких как материнские платы, видеокарты, цифровые приставки, недорогие ЖК ТВ и современные мониторы. Так вот, особенность прошивания микросхем без выпаивания заключается в том, что иногда прошиваемое устройство у нас запитывается по линии 3.3 вольта через клипсу для прошивания. И если материнские платы можно шить обычно без выпаивания микросхемы, за редким исключением, то роутеры, на которых кстати установлена точно такая же микросхема памяти, в большинстве случаев, по крайней мере на современных моделях, таким способом прошить уже проблематично. 

Микросхема BIOS

Но если будет очень нужно есть один способ про который я читал в интернете: он заключается в двойном запитывании микросхемы BIOS, то есть мы сначала включаем питание устройства и микросхема запитывается штатно от блока питания устройства, а затем подключаем клипсу программатора к прошиваемой микросхеме и подключаем программатор к порту USB. 

Способ этот опасен тем, что мы можем коротнуть что-нибудь на плате, не правильно, немного криво прицепив клипсу. Иначе говоря устроить короткое замыкание при подключении клипсы и сжечь как все устройство, так и прошиваемую микросхему, а в особо тяжелом случае может не поздоровиться даже и программатору. 

Вторая версия программатора

Про худшее, короткое замыкание в USB порту, с последующим возможным выходом подгоранием Южного моста, я стараюсь не думать. Которое все же очень маловероятно, так как в программаторе используется буферная микросхема и в случае форс-мажора, скорее всего все ограничится только ее сгоранием. Причем даже если вы захотите использовать этот способ, у вас не будет 100 процентной уверенности в правильности сохранения Бекапа прошивки перед перепрошивкой устройства, так как во включенном устройстве на выводах микросхемы в момент сохранения прошивки может быть какая-то активность. 

роутер микросхема с прошивкой

Предпочитаю пользоваться другим способом, тогда, когда это реально необходимо, перепрошивкой микросхемы с выпаиванием, то есть уже демонтированной микросхемы и последующим запаиванием обратно. На самом деле при наличии опыта все эти операции можно провести максимум за 30-40 минут. 

Но как быть если у вас в мастерской нет паяльного фена? В таком случае сплав Вуда или Розе нанесенный на все ножки, с целью снижения температуры плавления припоя, с обоих сторон микросхемы, и обычный паяльник типа ЭПСН 40 ватт, помогут вам. Микросхема буквально отлетает от платы в два касания паяльника, попеременно прогревая обе стороны микросхемы. 

После остается только пройтись оловоотсосом а затем оплеткой по выводам как микросхемы, так и контактных площадок на плате и мы можем спокойно шить микросхему программатором, а затем запаять обратно. Причем если вы занимаетесь ремонтом монитора и если подозрение на слетевшую прошивку – не торопитесь сразу начинать шить микросхему BIOS, для начала можно поискать на спец сайтах дамп EEPROM памяти микросхемы сохранения настроек. 

Интерфейс программы

Если же по каким-то причинам сохраненный ранее кем-то дамп найти не удалось, встречал в интернете на специализированных сайтах по ремонту электроники рекомендацию сохранить родной дамп EEPROM памяти, очистить микросхему и затем залить снова родной дамп. Не совсем понятно в чем смысл этой процедуры, но видимо раз люди пишут, это все таки имеет смысл. 

Цифровая приставка – микросхема с прошивкой

В самом крайнем случае можно попробовать включить монитор или другую технику просто очистив EEPROM память от старых данных, при включении устройства, в нее, если это было запланировано производителем сохранятся текущие настройки. Если же вы пытаетесь сохранить родной дамп и оболочка для прошивания выдает ошибку, либо при верификации, мы получаем каждый раз несоответствие залитого или сохраненного дампа с дампом прошивки, который загружен в буфер программы оболочки для прошивания, и такая микросхема однозначно требует замены на новую или как минимум проверенную с донора. 

Стоимость микросхем EEPROM памяти

Это касается как микросхем Flash, так и EEPROM памяти. Причем микросхемы EEPROM памяти, так как имеют очень небольшой объем, стоят новые в радиомагазине копейки. Большинство микросхем как 24, так и 25 серии, имеющие одинаковые объем и напряжение питания, являются взаимозаменяемыми. То есть теоретически вы можете демонтировать микросхему Flash 25 серии объемом 4 МБ с нерабочего роутера и восстановить с ее помощью цифровую DVB-T2 приставку с микросхемой, например, погоревшей из-за грозы. 

Как минимум слет прошивки после грозы на подобных приставках, имеющих внешние ДМВ антенны, которые часто устанавливают в частных домах за городом, там, где прием сигнала не уверенный, очень частое явление.

Подведём итог

В данной статье все нюансы восстановления прошивки устройств разобрать просто не возможно, но могу сказать, что перепрошивка программатором это один из самых легких видов ремонта, не требует вложений в ЗИП, по крайней мере дорогостоящий. 

Прошивки мониторов на сайте

И если дамп прошивки есть в открытом доступе на специализированных сайтах, проблема с восстановлением устройства часто бывает решена уже в первый час выполнения ремонта. Причем для выполнения данного вида ремонта не требуется быть опытным мастером – любой человек выполнивший данную операцию хотя бы три-четыре раза будет совершать его в дальнейшем уже машинально, на автоматизме. Всем удачных ремонтов – AKV.

LG 47LB650V слетает прошивка EEPROM — Технофлейм

48 минут назад, manjak сказал:

Очень даже уместно. Я бы в первую очередь сделал. Симптомы похожи, при записи обрывает шину, почему нет?

А еще, я бы проверил массу между БП и майном. Помнится у них были проблемы, если масса плохая, вплоть до вылета оперативки и процессора.

По поводу массы проверю — со стороны материнки втыкали вытыкал безсчитанное количество раз, там уже контакты как от наждачки должны быть, а вот со стороны БП ни разу не снимал…

По поводу проца — вариант, но все же подозрительно что именно эти пару пятаков на EEPROM в плавающем отвале… Как последнее действие от безысходности можно проц шатнуть, но только шатнуть. Тут палка о двух концах — убивать время и силы на конкретно реболл нет вообще желания так как нет уверенности в успешности сей операции, поэтому можно только шатнуть, но при этом не факт что окисленные пятаки схватятся…

А какие сипмтомы вылета оперативки на этом шасси?

 

 

47 минут назад, Aleh сказал:

Блок питания ещё не проверил, смотри дежурку.

То же вариант, можно в процессе включения осликом глянуть, но чуйка подсказывает что там все прекрасно)

 

 

44 минуты назад, verniy68 сказал:

… майны 4004 , 7003 , 7004 — там процы бывает дохнут , либо в отвале — если не поможет , то смотри в сторону EMMC

EMMC я уже поменял на новый, при чем с родной и со сторонней прошивкой пробовал — дефекта в той стороне нет. Процы дохнут в смысле совсем или с такими глюками?

 

22 минуты назад, Alex1101 сказал:

Почему для начала не попробовать так:

после записи еепром (желательно перед первым включением) поднять 7 pin (WP) и кинуть его на питание (8 pin)

 

Просто, оригинально, может поможет. Нада попробовать 

Edited by Dizzzel

Прочесть память. Как крадут прошивку устройств и как от этого защищаются

Все мы в детс­тве воору­жались отвер­тка­ми и раз­бирали какой‑нибудь при­бор, что­бы понять, как он работа­ет. Для кого‑то это ста­ло про­фес­сией, но годы, ког­да подопыт­ные при­боры не соп­ротив­лялись изу­чению, уже прош­ли. Теперь каж­дая кофевар­ка пыта­ется все­ми силами сде­лать так, что­бы ты не смог ее изу­чить. Есть ли выход? Да! Сегод­ня мы пос­мотрим, как вытас­кивать про­шив­ку из раз­ных устрой­ств и как раз­работ­чики меша­ют это­му.

info

Статья написа­на по мотивам док­лада Демида Узень­кова — спе­циалис­та ком­пании ИНФО­РИОН. Выс­тупле­ние сос­тоялось на кон­ферен­ции RuCTFE 2020. За помощь в под­готов­ке пуб­ликации редак­ция бла­года­рит коман­ду «Ха­кер­дом».

Как ты пом­нишь, у лам­повых при­емни­ков не было никаких про­шивок, а единс­твен­ное, что мог­ло помешать тво­ему любопытс­тву, — это анод­ное нап­ряжение, которое, впро­чем, хотя бы не напада­ло на тебя само. Сей­час же все по‑дру­гому: мне попада­лись устрой­ства, которые агрессив­но про­тиво­дей­ство­вали мне с самого начала, еще на эта­пе раз­борки кор­пуса. С него мы и нач­нем.

 

Вскрытие

Пер­вое, что тебя может ждать на пути к завет­ной памяти с про­шив­кой, — это хорошо зак­рытый кор­пус. Вро­де бы никаких проб­лем: взял крес­товую отвер­тку… Пос­той, а точ­но ли крес­товую? Сей­час сущес­тву­ет минимум пара десят­ков форм головок вин­тов, и, конеч­но, далеко не все они откру­чива­ются нор­маль­ными челове­чес­кими инс­тру­мен­тами. Для раз­борки одно­го устрой­ства, нап­ример, мне приш­лось над­филем выпили­вать из плос­кой отвер­тки нуж­ную фор­му.

До­пус­тим, ты подоб­рал (или сде­лал) отвер­тку нуж­ной фор­мы. Молодец! Откру­тил вин­ты, под­нял крыш­ку, пос­лышал­ся треск тек­сто­лита — и устрой­ство мож­но отправ­лять на помой­ку. Все потому, что пла­та в тво­ем гад­жете не прос­то бол­тает­ся внут­ри кор­пуса, а слож­ным обра­зом объ­еди­нена с раз­ными его час­тями. Обыч­но это дела­ется с помощью спе­циаль­ных защелок, которые встав­ляют­ся в отвер­стия пла­ты, а при раз­борке кор­пуса лома­ют ее, делая даль­нейшее изу­чение бес­полез­ным.

Или треск не пос­лышал­ся. Тог­да ты под­клю­чаешь­ся к тому, что обна­ружил, чита­ешь память, а чита­ются одни нули. Как такое мог­ло про­изой­ти? Сов­ремен­ные тех­нологии поз­воля­ют про­изво­дить кро­хот­ные SMD-фото­эле­мен­ты, вро­де фотот­ранзис­торов, которые обыч­но при­меня­ются в такой защите. Ког­да устрой­ство обна­ружи­вает, что на его пла­ту попада­ет хоть нем­ного све­та (даже через малень­кое отвер­стие в кор­пусе), про­шив­ка кон­трол­лера сти­рает­ся, а тебе оста­ется нефун­кци­ональ­ное устрой­ство. И хорошо, если защита не спа­лит чего‑нибудь физичес­ки!

info

В некото­рые устрой­ства, нап­ример бло­ки питания компь­юте­ров, про­изво­дите­ли встра­ивают сиг­наль­ную дымовую шаш­ку, которая сооб­щает о полом­ке. При ее сра­баты­вании аро­мат­ный синий дым отпра­вит тебя в магазин за новым бло­ком питания.

Де­ло в том, что неп­ривыч­ный к подоб­ным фокусам взор не может сра­зу отли­чить фотот­ранзис­тор от того же све­тоди­ода, да и при­выч­ный тоже вряд ли с ходу спра­вит­ся. Если вооб­ще заметит.

 

Осмотр платы

Ес­ли вскры­тие не показа­ло, что паци­ент умер от вскры­тия, я сна­чала осматри­ваю пла­ту в поис­ках пинов отла­доч­ных интерфей­сов — обыч­но это JTAG или UART. Глав­ная проб­лема не в том, что нуж­ные кон­такты могут быть в очень неожи­дан­ных мес­тах, а в том, что обыч­но они отклю­чены. Конеч­но, даже в 2021 году все еще хва­тает уни­кумов, которые отправ­ляют в прод устрой­ства с вклю­чен­ным UART, но количес­тво таковых стре­митель­но пада­ет.

Ес­ли тебе не повез­ло — вари­антов нем­ного: или пла­кать в подуш­ку, или искать чип памяти на бор­ту и читать его непос­редс­твен­но.

И вот с этим тебя ожи­дает уйма инте­рес­ного! Думал, нуж­но прос­то вытащить вось­миногую мик­руху в DIP-кор­пусе, похожую на ста­рый чип с BIOS? Как бы не так! Сей­час есть минимум четыре отно­ситель­но широко при­меня­емых вида памяти, и некото­рые из них могут быть похожи друг на дру­га так, что не раз­личишь.

 

Память

Преж­де чем я рас­ска­жу, что и как делать с памятью, давай сна­чала раз­берем­ся, какая она вооб­ще быва­ет и как ее отли­чить от дру­гих ком­понен­тов на пла­те.

По опы­ту про­цес­сор (на скрин­шоте выше по цен­тру) обыч­но квад­ратной фор­мы и исполня­ется в BGA, а память пря­моуголь­ная и дела­ется в SOP-кор­пусах.

Час­то в уль­тра­пор­татив­ных вычис­литель­но мощ­ных устрой­ствах (смар­тфо­нах, нап­ример) исполь­зует­ся бутер­брод из про­цес­сора и памяти — так мень­ше раз­меры и задер­жки при работе. Форм‑фак­тор, конеч­но, BGA — прос­то потому, что ничего дру­гого в кро­хот­ный кор­пус запих­нуть нель­зя.

ROM — пос­тоян­ную память — отли­чить доволь­но лег­ко. Пред­положим, чип с ней ты уже нашел. Теперь давай раз­берем­ся, какая она быва­ет.

Нас инте­ресу­ет EEPROM (Electrically Erasable Programmable Read-Only Memory), FRAM (сег­нето­элек­три­чес­кая память) и NOR/NAND flash — они тебе уже и так зна­комы. Из них ты мог не слы­шать толь­ко о FRAM — ее начали при­менять око­ло пяти лет назад, так что она еще не осо­бо популяр­на.

 

EEPROM

Сре­ди осо­бен­ностей этой памяти — побай­товые чте­ние и запись. Такая память самая дол­говеч­ная: по рас­четам, она может сох­ранять информа­цию в течение при­мер­но двух­сот лет! Но за надеж­ность при­ходит­ся пла­тить — глав­ным обра­зом объ­емом, с которым у это­го вида памяти все пло­хо: типич­ный объ­ем такого чипа изме­ряет­ся в килобай­тах. Из‑за низ­кого объ­ема для хра­нения про­шивок этот тип памяти поч­ти не при­меня­ется. Ну а раз загово­рили о минусах — сто­ит и о низ­кой ско­рос­ти ска­зать.

Ус­трой­ство ячей­ки памяти EEPROM

Ре­сурс ячей­ки — око­ло мил­лиона цик­лов переза­писи. По срав­нению с сов­ремен­ными ячей­ками NAND, у которых этот показа­тель находит­ся в пре­делах нес­коль­ких десят­ков тысяч цик­лов, EEPROM-память прос­то нере­аль­но надеж­ная.

Прошивка eeprom

Установка драйвера. Для начала использования программатора нужно сначала подключить его к USB порту компьютера, можно даже без установленного чипа в колодке. Если программатор рабочий и с USB разъёмом компьютера всё в порядке, то на корпусе программатора должен загореться светодиод, сигнализирующий о поступлении питания, и Ваш компьютер издаст звук, оповещающий Вас, что вставлено новое USB устройство. После этого операционная система должна начать поиск драйверов и в результате их скорее всего НЕ обнаружит. Ничего страшного в этом нет. Установка драйвера программатора такая же, как у любого USB девайса.


Поиск данных по Вашему запросу:

Схемы, справочники, даташиты:

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам. ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Программатор Ch441A и прищепка для пере прошивки AliExpress !!! Тест программатора !!!

Ищу прошивку eeprom на телевизор Sharp LC-42LE40RU


В продолжение записи о считывании прошивок из микросхем приборок. Жму считать, прошивка считывается ура , но не узнаю её в «гриме»! Какая-то аброкадабра. Меняю в программе чип 93C86 8bit на 93C86 16bit и: Считалась 93C86 Уже ближе на правду, но всё равно какая-то полузашивфованная аброкадабра, так как знаю, что номер приборки в строках адресов должен быть 1JA, но там написано JA5, то есть байты перевернуты.

Сначала думал переворачивать руками или поискать эту функцию в winhex, но пригляделся в программе и увидел кнопку Swap Byte swap указанную по-русски как «Замена», хотя правильнее будет «Перевернуть» или «Поменять местами». После нажатия её получаем: Вот так всё правильно и понятно в прошивке. Сохраняем прошивку дамп на диск, задача по считыванию чипа 93C86 — выполнена. Немного лирики по поводу 93 L C Погуглил этот тип микросхемы и нашел, что буква L обозначает пониженное напряжение вроде 2.

Почему же так мало информации в интернете под данной теме? Или я разучился гуглить. Подсобите пожалуйста дельным советом… Имеется программатор EZP 3. Сложно что-то посоветовать, разве что проверять, считываются ли данные те что записаны? Приборка какого года? Она случайно не криптованная? Какой номер приборки? Лаконичный номер приборки Думаю вот эта запись поможет вернуть приборку к жизни www. Найти дамп от приборки с таким номером, и экспериментально подобрать криптомаску. Всё восстановимо!

Дамп есть с этой приборки сохраненный ранее но как его записать повторно? Audi VDO Crypto не хочет его открывать. Дамп расшифрованный скачанный vag eeprom programmer? Если да, то по ссылке выше делай криптованный с разными криптомасками и заливай в чип программатором. Если VIN действительно прописывается в дампе, дай конкретные адреса, плиз.

И вообще, не мог бы поделиться информацией об информации, какая и где «лежит» в дампах? Интересует 93с66 от GX Купить машину на Дроме. VampireLo на мобильном. Провел испытания на остатках приборки от Юбилейки иммо 2 с чипом 93C Зарегистрироваться или войти:.

От чего происходит swap? Как его распознать, если не знаешь наверняка? По моему криптованная. Я тоже так думаю, но этот факт к сожалению не исправляет ситуацию. Я брал с диска по моему. На последнем фото vin номера нет, точне вместо него написано xxxxx. Кроме vag никакими машинами не увлекаюсь. Получается CHA не сможет прочитать 93 серию?


Программатор USB на Ch441A для чипов 24 EEPROM и 25 SPI FLASH

Все файлы присланы участниками нашего форума Учитывайте, что смена прошивки требует не только наличия программатора, но и технических знаний В данном разделе собрана огромнейшая коллекция прошивок — дампов памяти memory dump для телевизоров Philips. Для отображения списка файлов другого брэнда, выберите его из средней колонки. В результате неисправности микросхем памяти или сетевых сбоев, возможно нарушение программы, находящийся в самой микросхеме. Для обновления или замены содержимого памяти перепрошивки возникает необходимость в наличии дампа памяти от конкретной модели телевизора. Перед обновлением, крайне рекомендуется сохранить старый дамп на случай несовместимости версий ПО. Все файлы и информация рассчитаны на специалистов в области ремонта. Если вы таковым не являетесь, советуем не экспериментировать.

Вот и решил я попробовать прошить EEPROM спидометра, а кусок кремния который там стоит называется ST93C Но вот проблема.

Прошивки телевизоров Philips

В БИОС хранится первичный программный код включения и инициализации компьютера, пароль на BIOS, а так же параметры узлов и элементов материнской платы Вашего компьютера или ноутбука. Информация в CMOS всегда сохраняется благодаря наличию литиевой батарейки на материнской плате. В ноутбуках существует ещё и код прошивки матрицы. Одна из частых причин перепрошивки BIOS — замена старых компонентов новыми, неизвестными системе ввода-вывода. Эти параметры отвечают за быстродействие компьютерной системы. Нередко из-за воздействия самых разных факторов в BIOS происходят изменения, которые в итоге нарушают работу компьютера. Это может проявляться следующим образом: неожиданные перезагрузки; нетипичные запросы системы; полный отказ в работе компьютера — компьютер не включается , черный экран. Обновление средствами BIOS поддерживается не всеми материнскими платами — самый простой вариант 2. Обновление из операционной системы программами от производителя материнской платы.

Привет! Мне нужна прошивка (EEPROM) для Bosch WAS28722IT

Забыли пароль? Показано с 1 по 17 из Опции темы Подписаться на эту тему…. Надо прошить микросхемку MX25LE. Пришёл в приличное общество во втором часу ночи — неча материться, веди себя прилично.

Сейчас этот форум просматривают: visualer и 17 гостей.

Прошивка Anet_A_8 ,EEprom

Одной из распространённых неисправностей современных ЖК-телевизоров является «слёт» прошивки. При этом телевизор не выходит из дежурного режима в рабочий. Не реагирует на нажатие кнопок и команды с пульта. В большинстве случаев устранить такую неисправность можно перепрошивкой микросхемы SPI-Flash памяти. Телевизор не включается, хотя индикация дежурного режима имеется. Индикатор светится.

Прошивка flash-памяти 25xxx через программатор USBasp

Закрепи теорию на практике в действующем сервисном центре, получи опыт и советы профессиональных мастеров, возьми в руки инструмент и получи больше полезной информации и связей для освоения профессии мастера бытовых услуг. Место: г. Дата: Воскресенье. Участники: 2 из 5. Огромный выбор запчастей для стиральных машин и холодильников с ценами для мастеров. Инструменты собственного производства.

Прошивки LCD/PDP TV производитель T-CON EEPROM.

ПЕРЕПРОШИВКА FLASH И EEPROM

В продолжение записи о считывании прошивок из микросхем приборок. Жму считать, прошивка считывается ура , но не узнаю её в «гриме»! Какая-то аброкадабра. Меняю в программе чип 93C86 8bit на 93C86 16bit и: Считалась 93C86 Уже ближе на правду, но всё равно какая-то полузашивфованная аброкадабра, так как знаю, что номер приборки в строках адресов должен быть 1JA, но там написано JA5, то есть байты перевернуты.

Холодными зимними вечерами… нет… в дождливую Питерскую погоду нашел интересное дополнительное хобби. Всё, что сказано ниже — не является инструкцией к действию! Если хотите повторить — это на Ваш риск! Стало интересно как считать напрямую из приборок дамп, на данную мысль натолкнули записи pvc1 Заказал с али: Программатор CHA для eerom 24 и 25 серий , Клипса Щипцы для подключения напрямую к 8ми ножковым микросхемам , Программатор EZP, так как посмотрел на приборках VDO установлены eeprom серии Вообще перечень eeprom возможных в приборках собран тут ссылка. Всё приехало и нужно было протестировать.

Микросхемы флеш-памяти eeprom серии 25xxx широко применяются в микроэлектронике.

Прошу прощения, случайно отправил не полный вопрос. Контроллер Attiny Простите я не очень силён в программирование, могу выполнять только замые простые функции, записать, считать. Скажите, а как можно расшифровать данные? Я думаю попросту стирание eeprom, ни к чему хорошему не приведёт. Или расшифровать не получится и только менять число и снова считать память в поисках изменившихся ячеек памяти?

Раздел проверенных рабочих прошивок с рабочих аппаратов, а также возможности просмотра прошивки с применяемым процессором на данном аппарате.. Вход Новый пользователь? Регистрация Помощь. Файлы Ccылки Расширенный.


Программатор для EPROM на Arduino / Хабр

Понадобилось при изучении и ремонте компьютеров, которые старше меня, прошивать ПЗУшки. Тесты оперативной памяти и периферии проводить. Нормального программатора у меня на тот момент не было.

Собрать на логике для LPT порта, конечно, можно, но данный вариант был отброшен, так как для использования пришлось бы включать ещё какого-нибудь старичка. В современных компах все ещё встречается данный интерфейс (правда не полноценный разъем, а на гребенке) да и купить плату в PCI слот тоже не проблема, но возникают уже сложности с софтом. Он был написан очень давно, когда работа с портами ввода/вывода в операционных системах велась иначе. Соответственно, в современных версиях Windows ПО не будет работать.

Сразу стоит оговориться, что про существование TL866 знаю. И даже в процессе разработки все же его купил себе, но он не в состоянии прошить микросхемы, которые требуют высокое напряжение программирования. Максимум 18 вольт (TL866+ или 21 для предыдущей версии).

Беглое гугление привело меня к данному репозиторию. Собрав программатор, я смог сдампить пару интересующих чипов. А вот с прошивкой все оказалось куда сложнее… Софт этого просто не умеет… Его, конечно, можно обмануть, выставив неправильный чип, но работает это не во всех случаях и явно не наш метод

Очень сильно огорчил пользовательский интерфейс, который, вместо классического варианта с предоставлением права выбора порта пользователю, проходился по всем доступным последовательным интерфейсам. Соответственно, все устройства перезагружаются. Особенно обидно, наверное, когда у тебя 3D принтер уже часов 10 печатает детальку с флешки, а тут такая подстава…

Мир OpenSource прекрасен тем, что ты можешь взять проект и дописать его под свою задачу. В данном случае исходных кодов к графическому интерфейсу нет. По крайней мере я их не нашел, хотя можно было написать разработчику. Стало интересно и появился небольшой повод для изучения Qt. Так что софт будет кросплатформенный.

Берем за основу схему из предыдущего проекта и дорабатываем устройство до требуемого функционала. Решил пожертвовать поддержкой EEPROM в софте. Возможно, это не совсем удачное решение, но для электрически стираемых чипов уже не нужно такое высокое напряжение. При доработке опирался на самую объемную микросхему (27C512 для DIP28) и убрал всю путаницу относительно адресных ножек. Весь адрес будет задаваться исключительно при помощи сдвиговых регистров (74HC595). Это освободит дополнительные ноги самого микроконтроллера, которые понадобятся для управления подачей напряжения программирования. А все необходимые сигналы (PRG) можно получить модификацией адреса перед загрузкой в регистры.

Принцип подачи напряжения программирования остался прежним. Изменения только в области защиты выводов микроконтроллера и сдвиговых регистров. Заменил резисторы (1 КОм) на диоды с подтяжкой к лог. 0. Это менее агрессивный вариант. Хотя, справедливости ради, и резисторы работают.

Изучив документацию на все интересующие чипы, определил, что требуется три точки подачи Vpp:

  1. 27C16 на 21 ногу микросхемы (23 ногу DIP28 сокета)
  2. 27C32 и 27C512 на сигнал #OE (Output Enable)
  3. 27C64, 27C128, 27C256 на 1 ногу микросхем

Микросхемы 27C16 и 27C32 от остальных отличаются корпусом, так что им требуется подавать напряжение питания на 26 ножку сокета. Это адресная нога A13 для более емких собратьев. Тока с выхода сдвигового регистра должно хватить для работы, но на время загрузки данных его выходы переходят в Z состояние. Подобный режим допустим, но включение на чтение или запись одной ячейки вряд ли является нормой. Поэтому под управление питания установлен дополнительный транзистор. И ещё один потребовался для 27C16, которому на время чтения необходимо подать на вход Vpp 5 вольт. Можно, конечно, на время чтения выставить напряжение программирования на значения 5 вольт, но переключаться между 25 и 5 вольтами неудобно.

Если есть свободные ноги АЦП, то почему бы не измерять напряжение программирования? Плата разведена под Arduino Nano. На нем имеются два дополнительных входа, которые кроме как для АЦП использовать нельзя. На самом деле это особенность многих микроконтроллеров AVR в корпусе для поверхностного монтажа. На китайских Arduino UNO частенько есть входы A6 и A7. С учетом того, что напряжение может быть до 30 вольт (вроде больше всего хотят отечественные РФ5, 25 вольт), рассчитываем делитель из того, что есть в наличии. Точность в 0.5 вольта для данной задачи вполне достаточна. Эта функция — защита от дурака, а не вольтметр.

Можно, конечно, было заморочиться и выступать в качестве ШИР (широтно импульсное регулирование) контроллера, но ножек свободных не осталось. Поэтому на печатной плате есть посадочное место для преобразователя DC-DC Step Up на чипе MT3608, которые за копейки доступны на али.

По схеме на этом все.


Алгоритм работы с данными микросхемами очень прост. С ним можно ознакомится в небольшом видео.

Схемы и софт доступны в репозитории на GitHub: https://github.com/walhi/arduino_eprom27_programmer. При сборке можно спокойно менять номиналы резисторов. Правда с делителем потребуется немножко исправить код скетча.

Полезные программы для ПК — radiohlam.ru

Программирование и прошивка микроконтроллеров и микросхем памяти

MPLAB v5.70.40 Популярная среда разработки для PIC контроллеров, прямая ссылка для скачивания с официального сайта
Размер: 13 Мбайт официальный сайт программы: microchip.com
IC-Prog 1.05D Программа для прошивания контроллеров PIC, AVR и микросхем EEPROM
Размер: 482 Кбайт официальный сайт программы: ic-prog.com
PonyProg2000 v.2.07c Программа для прошивания контроллеров PIC, AVR и микросхем EEPROM
Размер: 545 Кбайт официальный сайт программы: lancos.com
Flash Loader Demonstrator Бесплатная программа для прошивания контроллеров STM32 по USART интерфейсу с помощью встроенного фирменного bootloader-а.
Размер: 6,38 Мбайт официальный сайт программы: st.com
I2C Programmer v.2.0 Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве программатора I2C EPROM. Скачать исходники (С++ Builder 6; 799 Кбайт). Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 384 Кбайт официальный сайт программы: radiohlam.ru
SPI Programmer v.2.0 Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве программатора SPI EPROM. Скачать исходники (С++ Builder 6; 918 Кбайт). Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 430 Кбайт официальный сайт программы: radiohlam.ru
SPI-flash (W25Qxx) Programmer Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве программатора SPI-flash серии W25Qxx.
Скачать исходники (С++ Builder 6; 1,8 Мбайт).
Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 378 Кбайт официальный сайт программы: radiohlam.ru
AVR Serial Programmer v.3.1f Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве программатора микроконтроллеров AVR.
Скачать исходники (С++ Builder 6; 1,4 Мбайт).
Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 799 Кбайт официальный сайт программы: radiohlam.ru

Проектирование печатных плат

Sprint Layout 6.0 Программа для проектирования печатных плат, ссылка на демоверсию с официального сайта (там же можно скачать бесплатный viewer)
Размер: 6,2 Мбайт официальный сайт программы: abacom-online.de
DipTrace 2.0.07 Отличная программа для проектирования печатных плат (бесплатная версия), на официальном сайте также можно скачать библиотеки 3D-моделей
Размер: 16 Мбайт официальный сайт программы: diptrace.com

Работа с COM-портом

RH_Com Бесплатная программа для работы с COM-портом, ASCII и HEX режимы редактора. Скачать исходники (С++ Builder 6; 4,4 Мбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 583 Кбайт официальный сайт программы: radiohlam.ru
RH_COM_tester Бесплатная программа для тестирования COM-порта. Скачать исходники (С++ Builder 6; 4,4 Мбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 661 Кбайт официальный сайт программы: radiohlam.ru
CP210xBaudRateAliasConfig Программа, позволяющая настроить USB-to-UART преобразователь на базе чипа cp2102 на нестандартные скорости обмена
Размер: 851 Кбайт официальный сайт программы: silabs.com

Прочее

PIExpertSuite ссылка 1
PIExpertSuite ссылка 2
Пакет программ для проектирования импульсных блоков питания на микросхемах фирмы Power Integrations, прямые ссылки для скачивания с официального сайта
Размер: 27 Мбайт официальный сайт программы: powerint.com
DiagramDesigner Простенькая, но удобная программка для рисования алгоритмов
Размер: 1,32 Мбайт официальный сайт программы: meesoft.logicnet.dk
i2c_spi_1w_common Бесплатная программа, демонстрирующая общие возможности UART to I2C/SPI/1W шлюза (RH-0004). Скачать исходники (С++ Builder 6; 764 Кбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 663 Кбайт официальный сайт программы: radiohlam.ru
rh0004.dll Бесплатная dll-ка для облегчения программирования под UART to I2C/SPI/1W шлюз (RH-0004). Скачать исходники (С++ Builder 6; 109 Кбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 78 Кбайт официальный сайт программы: radiohlam.ru
1W Key Reader Бесплатная программа, демонстрирующая возможности UART to I2C/SPI/1W шлюза (RH-0004) по считыванию ключей-таблеток по однопроводной шине. Скачать исходники (С++ Builder 6; 662 Кбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 497 Кбайт официальный сайт программы: radiohlam.ru
USB Thermometer Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве USB-термометра (совместно с DS18B20). В программу встроен http-сервер, что позволяет считывать температуру по сети с удалённого компьютера. Скачать исходники (С++ Builder 6; 704 Кбайт). Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 515 Кбайт официальный сайт программы: radiohlam.ru

Собственные разработки сайта radiohlam.ru

I2C Programmer v.2.0 Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве программатора I2C EPROM. Скачать исходники (С++ Builder 6; 799 Кбайт).Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 384 Кбайт официальный сайт программы: radiohlam.ru
SPI Programmer v.2.0 Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве программатора SPI EPROM. Скачать исходники (С++ Builder 6; 918 Кбайт). Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 430 Кбайт официальный сайт программы: radiohlam.ru
SPI-flash (W25Qxx) Programmer Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве программатора SPI-flash серии W25Qxx.
Скачать исходники (С++ Builder 6; 1,8 Мбайт).
Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 378 Кбайт официальный сайт программы: radiohlam.ru
AVR Serial Programmer v.3.1f Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве программатора микроконтроллеров AVR.
Скачать исходники (С++ Builder 6; 1,4 Мбайт).
Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 799 Кбайт официальный сайт программы: radiohlam.ru
RH_Com Бесплатная программа для работы с COM-портом, ASCII и HEX режимы редактора. Скачать исходники (С++ Builder 6; 4,4 Мбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 583 Кбайт официальный сайт программы: radiohlam.ru
RH_COM_tester Бесплатная программа для тестирования COM-порта. Скачать исходники (С++ Builder 6; 4,4 Мбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 661 Кбайт официальный сайт программы: radiohlam.ru
i2c_spi_1w_common Бесплатная программа, демонстрирующая общие возможности UART to I2C/SPI/1W шлюза (RH-0004). Скачать исходники (С++ Builder 6; 764 Кбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 663 Кбайт официальный сайт программы: radiohlam.ru
rh0004.dll Бесплатная dll-ка для облегчения программирования под UART to I2C/SPI/1W шлюз (RH-0004). Скачать исходники (С++ Builder 6; 109 Кбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 78 Кбайт официальный сайт программы: radiohlam.ru
1W Key Reader Бесплатная программа, демонстрирующая возможности UART to I2C/SPI/1W шлюза (RH-0004) по считыванию ключей-таблеток по однопроводной шине. Скачать исходники (С++ Builder 6; 662 Кбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 497 Кбайт официальный сайт программы: radiohlam.ru
USB Thermometer Бесплатная программа, демонстрирующая возможности работы UART to I2C/SPI/1W шлюза (RH-0004) в качестве USB-термометра (совместно с DS18B20). В программу встроен http-сервер, что позволяет считывать температуру по сети с удалённого компьютера. Скачать исходники (С++ Builder 6; 704 Кбайт). Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 515 Кбайт официальный сайт программы: radiohlam.ru
parser Бесплатный парсер файлов, содержащих данные трендов SCADA-системы Vijeo Citect от компании Schneider Electric. Скачать исходники (С++ Builder 6; 660 Кбайт).
Страница с описанием
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 528 Кбайт официальный сайт программы: radiohlam.ru
Radiohlam USB HID Application Бесплатный терминал для работы с устройствами USB HID в ОС Windows. Скачать исходники (С++ Builder 10; 9,6 Мбайт).
Желающих допилить / перепилить / спросить / предложить / исправить / дополнить — жду на форуме, rhf-admin
Размер: 1,1 Мбайт официальный сайт программы: radiohlam.ru

EEPROM. Avrdude. Снова про работу с контроллерами. Как считать и записать данные

В прошлый раз, когда я писал свой «развёрнутый ответ на вопрос» о том, как забэкапить прошивку с «Меги» меня упрекнули, что я не упомянул про бэкап EEPROM. В тот раз я не сделал этого сознательно, т.к. справедливо рассудил, что не стоит всё усложнять на этапе первоначального «подхода к снаряду». Дело в том, что не для всех очевиден тот факт, что EEPROM не прошивается при компиляции и заливки прошивки из Arduino IDE. То есть, это означает, что абсолютно ничего в EEPROM не заливается, когда прошивка заливается из IDE. А манипуляции с EEPROM (если его использование вообще включено в прошивке) производятся абсолютно на другом уровне. И следовательно, для бэкапа голой прошивки без тонких настроек, которые ВОЗМОЖНО (только возможно) могут храниться в EEPROM, вполне было достаточно сохранить только голую прошивку. Но раз уж возник вопрос, то почему бы его не «разжевать». Давайте пройдёмся по порядку.

Что такое EEPROM и зачем вести о нём речь?

EEPROM — (Electrically Erasable Programmable Read-Only Memory) область энергонезависимой памяти микроконтроллера, в которую можно записать и прочитать информацию. Зачастую его используют для того, чтобы хранить настройки программы, которые могут меняться в процессе эксплуатации, и которые необходимо хранить при отключенном питании.

Пример использования EEPROM в 3D принтере

Рассмотрим на примере прошивки Marlin. В Marlin Firmware «из коробки» EEPROM не используется. Параметры конфигуратора (Configuration.h), которые включают возможность его использования, по умолчанию, закомментированы.2]

  • Ускорение
  • Ускорение при ретракте
  • Настройки PID
  • Отступ домашней позиции
  • Минимальная скорость подачи во время перемещения [мм/с]
  • Минимальное время участка [мс]
  • Максимальный скачок скорости по осям X-Y [мм/с]
  • Максимальный скачок скорости по оси Z [мм/с]
  • Редактировать эти настройки можно, используя экран принтера и органы управления. При включенном использовании EEPROM, в меню должны отображаться пункты:

    • Store memory
    • Load memory
    • Restore Failsafe

    Так же, можно использовать GCode для работы напрямую (через Pronterface).

    • M500 Сохраняет текущие настройки в EEPROM до следующего запуска или выполнения команды M501.
    • M501 Читает настройки из EEPROM.
    • M502 Сбрасывает настройки на значения по-умолчанию, прописанные в Configurations.h. Если выполнить после неё M500, в EEPROM будут занесены значения по-умолчанию.
    • M503 Выводит текущие настройки – »Те, что записаны в EEPROM.»

    О EEPROM в Repitier firmware можно почитать здесь.

    Как считать и записать данные в EEPROM?

    Аналогично, описанному в статье про бэкап, методу бэкапа прошивки, используя ключ -U. Только в данном случае после него будет указатель на то, что считывать нужно EEPROM.

    avrdude.exe -p atmega2560 -c wiring -PCOM5 -b115200 -Ueeprom:r:»printer_eeprom».eep:i

    Этой командой производится чтение данных EEPROM’а в файл «printer_eeprom.eep». В случае успеха, на экране вы увидите примерно следующее.

    Запись тоже не представляет из себя ничего сложного и выполняется аналогичной командой, которая отличается только тем, что в ключе -U стоит не «r», а «w».

    avrdude.exe -p atmega2560 -c wiring -PCOM5 -b115200 -Ueeprom:w:»printer_eeprom».eep:i

    В случае успеха, на экране вы увидите примерно следующее сообщение.

    Как и зачем стирать EEPROM?

    Для начала,- «зачем это делать?». Стирать EEPROM нужно в том случае, если предыдущая прошивка тоже его использовала, и в памяти мог остаться мусор. Где-то я уже натыкался на людей с проблемами, что после перехода с одной прошивки на другую (с Marlin на Repitier ЕМНИП), у них принтер начинал вести себя, скажем так, «творчески». Это связанно с тем, что разные прошивки хранят свои данные под разными адресами. И при попытке читать данные из неверного адреса начинается свистопляска.

    Затереть EEPROM можно только программно из прошивки, но для этого придётся — на время залить в контроллер специальный скетч. Подробно об этом можно прочитать в официальной документации по Arduino.

    Если же стирается EEPROM не в Arduino плате, а в каком-то абстрактном контроллере, то код скетча нужно будет изменить с учётом размера EEPROM в конкретном контроллере на плате. Для этого нужно будет поменять условие окончания в цикле «For». Например, для ATmega328, у которой 1kb памяти EEPROM, цикл будет выглядеть так:

    for (int i = 0 ; i < 1024; i++) {…}

    Вывод

    Я довольно долго распинался, а всё для чего? Для того, чтобы подвести к заключению о том, что при бэкапе прошивки, EEPROM тоже можно сохранить, но только в том случае если вам нужны сохранённые в нём настройки. Если же вы готовы ими пожертвовать, то забейте на это. Так же, если вы меняете одну прошивку на другую, или переходите с версии не версию, не поленитесь очистить EEPROM перед заливкой новой прошивки. Ну и заодно мы узнали много нового.

    rpi-eeprom/release-notes.md на мастере · raspberrypi/rpi-eeprom · GitHub

    10.03.2022 — Повысить бета-версию от 10.03.2022 до ПОСЛЕДНЕЙ/СТАБИЛЬНОЙ

    • Включает новую функцию сетевой установки, включенную по умолчанию для Pi 4 и Pi 400
    • Новый экран загрузки сетевой установки может появиться при загрузке, если место загрузки не может быть найден или если загрузка медленная. Альтернативно нажмите и удерживайте Shift при загрузке, чтобы начать сетевую установку.
    • Новый порядок загрузки HTTP.
    • Экран диагностики загрузчика теперь имеет разрешение 720p, если поддерживается вашим монитором.
    • Режим самообновления теперь включен во время загрузки SD/EMMC.
    • Теперь номер PARTITION можно указать как свойство EEPROM.
    • Разрешить указывать меньшие тайм-ауты обнаружения МСД.
    • Некоторые настройки и исправления сетевой загрузки IPV6.
    • Увеличьте максимальный размер виртуального диска до 128 МБ
    • Увеличить время ожидания ранних команд SD/EMMC до 100 мс

    10 марта 2022 г. — исправление HTTP_PATH — БЕТА

    • Исправление дефектной конфигурации eeprom HTTP_PATH

    28 февраля 2022 г. — Больше изменений в сетевой установке — БЕТА

    Изменения сетевой установки.

    • Сетевая установка запускается при загрузке, если нажата клавиша Shift.
    • Новый порядок загрузки HTTP (7) и параметры конфигурации, HTTP_HOST, HTTP_PATH, HTTP_PORT для установки URL-адреса

    Другие интересные изменения.

    • Увеличьте максимальный размер виртуального диска до 128 МБ
    • Увеличить время ожидания ранних команд SD/EMMC до 100 мс

    16 февраля 2022 г. — Исправления сетевой установки — БЕТА

    Изменения сетевой установки.

    • Избавлен от шага подтверждения, который требовал нажатия, чтобы инициировать сетевую установку.Теперь просто нажмите и удерживайте
    • Обновлен текст на экране, чтобы сделать более очевидным, что устройство все еще попытка загрузки, когда отображается сетевая установка.
    • Исправлена ​​ошибка сетевой установки DHCP, из-за которой мы теряли адрес шлюза.
    • Исправлена ​​ошибка с таймерами uIP, из-за которой сетевая установка могла всегда терпит неудачу.
    • Реализовано возобновление и повторная попытка при сбое загрузки.

    Другие интересные изменения.

    • Разрешить указывать меньшие тайм-ауты обнаружения MSD.
    • Некоторые настройки и исправления сетевой загрузки IPV6.

    08.02.2022 — Исправлена ​​ошибка безопасной загрузки — СТАБИЛЬНАЯ

    • Исправлена ​​регрессия ошибок загрузки на платах, на которых были установлены биты безопасной загрузки OTP.

    04.02.2022 — Сетевая установка — БЕТА

    • Новая функция сетевой установки для загрузчика. Чтобы отключить сетевую установку (например, в промышленном продукте) установите NET_INSTALL_ENABLED=0 в EEPROM конфигурации или HDMI_DISABLE=1.
    • Режим самообновления теперь включен во время загрузки SD/EMMC.Это позволяет rpi-eeprom-update для использования на CM4 / CM4-lite, потому что recovery.bin не требуется. Для промышленных продуктов мы рекомендуем отключить самообновление после первоначальной настройки, установив ENABLE_SELF_UPDATE=0 в конфигурация ЭСППЗУ.
    • Теперь номер PARTITION можно указать как свойство EEPROM. Этот может использоваться для загрузки программного обеспечения обслуживания, если кнопка подключена к GPIO нажат. Номер раздела, указанный при перезагрузке команда или autoboot.txt имеют более высокий приоритет, чем EEPROM имущество.

    25-01-2022 — Повысить pieeprom-25-01-2022 до выпуска ПО УМОЛЧАНИЮ

    Интересные изменения по сравнению с последней версией по умолчанию

    25.01.2022 — Создать новую версию от 20.01.2022 — ПОСЛЕДНЯЯ/СТАБИЛЬНАЯ

    • Пересборка 20 января 2022 г. для новой стабильной версии

    20 января 2022 г. — Некоторые исправления загрузки NVMe — БЕТА

    • Повторная попытка PCIe при ошибке
    • Изменения журнала NVMe
    • NVMe дважды пытается загрузиться
    • Увеличьте максимальный размер памяти графического процессора с 256 МБ до 512 МБ, если загрузочный_рамдиск=0.Это следует использовать только с устаревшей камерой. приложение и FKMS для очень ресурсоемких операций с камерой. Н.Б. Новая библиотека libcamera и драйвер KMS используют CMA вместо памяти графического процессора.

    2021-12-02 — Повысить бета-версию 2021-12-02 до ПОСЛЕДНЕЙ/СТАБИЛЬНОЙ

    • Просто устраняет регрессию с обнаружением MTB, влияющую на заводские испытания

    2021-12-02 — Исправлено обнаружение MTB для заводских испытаний — БЕТА

    • Просто устраняет регрессию с обнаружением MTB, влияющую на заводские испытания

    2021-12-09 — Обновление восстановления по умолчанию.ящик

    • Повысить уровень recovery.bin со стабильного до значения по умолчанию. Это позволяет избежать проблемы где recovery.bin не загружается на больших загрузочных разделах FAT32 размером 32 КБ кластеры.

    29.11.2021 — Повысить статус бета-версии от 22.11.2021 до ПОСЛЕДНЕЙ/СТАБИЛЬНОЙ

    Интересные изменения по сравнению с последней стабильной версией: —

    • Исправление сброса NVMe/PCIe
    • Расширения GPT/FAT
    • Повышение производительности FAT
    • Безопасная загрузка для промышленных клиентов (см. репозиторий usbboot)

    22.11.2021 — Исправление проблемы с перезагрузкой ракеты Sabrent Nano NVMe — БЕТА

    • Устранена проблема с диском Sabrent Rocket Nano NVMe после перезагрузки.Запустите инициализацию pcie еще раз, если есть ошибка.

    27 октября 2021 г. — Улучшения безопасной загрузки — БЕТА

    • Улучшено ведение журнала ошибок, если файл слишком велик и усечен.
    • Увеличьте максимальный размер виртуального диска до 96 МБ.
    • Предварительные изменения для отображения режима загрузки, используемого для загрузки виртуального диска через дерево устройств.

    N.B. Безопасная загрузка рекомендуется только для промышленных клиентов и в настоящее время бета-версия. Это можно включить только через RPIBOOT https://гитхаб.com/raspberrypi/usbboot/blob/master/Readme.md

    05.10.2021 — Обновление последних настроек Broadcom SDRAM — БЕТА

    • Незначительное обновление для последних настроек настройки SDRAM.

    04.10.2021 — Добавлена ​​поддержка GPT FAT16 и увеличено время ожидания USB — БЕТА

    • Обновите обнаружение FAT для поддержки FAT16 для разделов EFI/ESD с GPT вместо FAT32. Также требуется последняя прошивка для аналогичного обновления.
    • Увеличьте время ожидания для команд MSD SCSI, чтобы снизить риск тайм-ауты при проверке емкости медленно запускаемых устройств е.грамм. USB RAID с вращающимися дисками.

    27 сентября 2021 г. — Исправление проблемы с переименованием recovery.bin и сетевой консоли EEPROM — БЕТА

    • Исправление проблемы с переименованием recovery.bin
    • Обновите файл pieeprom-2021-09-27.bin, чтобы исправить ошибку netconsole
    • .

    23.09.2021 — Временно восстановить recovery.bin 22.09.2021 БЕТА/СТАБИЛЬНАЯ

    • Возврат до проверки исправления #367

    23 сентября 2021 г. — Обновления файловой системы загрузчика — БЕТА

    В этом выпуске внесены серьезные изменения в код файловой системы загрузчика, чтобы для поддержки новых функций, и его следует рассматривать как новейшую БЕТА-версию!

    • Улучшить производительность файловой системы, чтобы сократить время загрузки.
    • Предварительная поддержка IPV6 TFTP. Требуется обновленный start4.elf. Подробности далее.
    • Вариант Fix VL805=1 для плат ввода-вывода CM4, которые следуют одному и тому же XHCI дизайн как Pi4B. Start.elf будет обновлен в следующем выпуске rpi-update. и последние версии DTB CM4 требуются для «контроллера сброса XHCI»
    • Предварительная поддержка загрузки подписанных файлов образов загрузки. Требуется обновленная прошивка графического процессора.

    22 сентября 2021 г. — Обновление recovery.bin для устранения проблемы с большими разделами FAT — СТАБИЛЬНАЯ

    • Скачать последнее рекавери.bin из бета-версии в стабильную.

    22 сентября 2021 г. — Обновление recovery.bin для устранения проблемы с большими разделами FAT — БЕТА

    • Устранить проблему, из-за которой ПЗУ не удается загрузить файлы recovery.bin большего размера. на разделах FAT с большими размерами кластера.

    07.07.2021 — Повысить pieeprom-06.07.2021 до стабильной — СТАБИЛЬНАЯ

    • Сделать последнюю бета-версию стабильной. Для пользователей CM4 это добавляет NVMe поддержка загрузки стабильной версии.

    06.07.2021 — Строки отладки Tidyup PXE — БЕТА

    • Удалите лишнюю строку отладки — шестнадцатеричный дамп более удобен для отладки.
    • Незначительные внутренние изменения для производственных испытаний.

    25.06.2021 — Поддержка 256 МБ gpu_mem с загрузочным виртуальным диском — БЕТА

    • Настройте карту адресов так, чтобы загружались виртуальные диски (например, rpiboot -d imager) работать с большими объемами памяти GPU.

    17.06.2021 — Избегайте ненужного зонда PCIe на CM4 — БЕТА

    • Избегайте проверки PCIe/XHCI по умолчанию на CM4, если только это не требуется для текущей загрузки режим (USB_MSD или NVME).
    • Оставьте PCIe RC в состоянии сброса при запуске загрузки.elf кроме режима USB-MSD.

    11.06.2021 — Добавить опцию USB_MSD_STARTUP_DELAY — БЕТА

    • Незначительное обновление настроек BRCM SDRAM.
    • Добавить опцию USB_MSD_STARTUP_DELAY (опция 0 по умолчанию). Это добавляет настраиваемый задержка (в миллисекундах) при первой инициализации хост-контроллера USB перед перечислением устройств. Обычно этого не требуется. Однако некоторые корпуса жестких дисков могут требуется длительная задержка запуска для раскрутки дисков. Без этого команда get-capacity может зависнуть и истечь время ожидания.

    19 мая 2021 г. — Использовать последние настройки BRCM SDRAM — БЕТА

    • Используйте последние настройки BRCM SDRAM.
    • Поддержка FAT12 для небольших образов RAM-дисков загрузчика.
    • Незначительные оптимизации производительности файловой системы.
    • Добавлен параметр recovery.bin config.txt (erase_eeprom=1) для выполнения Операция стирания чипа SPI вместо программирования образа загрузчика.

    2021-04-30 — обновить версию по умолчанию до 2021-04-29

    • Производственный выпуск был обновлен до pieeprom-2021-04-29, поэтому обновите выпуск по умолчанию, чтобы он соответствовал этому.

    29 апреля 2021 г. — Pi400 — уменьшение тактовой частоты MII при проверке физического уровня Ethernet — СТАБИЛЬНАЯ

    • Pi400 — уменьшить тактовую частоту MII при проверке Ethernet PHY — СТАБИЛЬНАЯ

    19.04.2021 — Повысить 18.03.2021 с ПОСЛЕДНЕГО на ПО УМОЛЧАНИЮ — ПО УМОЛЧАНИЮ

    • Отображать строки VC_BUILD_ID вместо хеша SHA256
    • Добавлена ​​поддержка условных фильтров конфигурации [cm4] и [pi400].
    • Изменить сетевую загрузку, чтобы использовать ту же конфигурацию Ethernet PHY «RXID», что и 5.10 ядро ​​
    • TFTP — ответ на дубликат ACKS
    • Пропустить отображение диагностического дисплея HDMI в течение первых 8 секунд, если не произойдет ошибка.
    • Исправление контрольной суммы UDP
    • Добавлена ​​поддержка контроллера BCM2711 XHCI — BOOT_ORDER 0x5
    • Исправления уровня протокола XHCI для контроллеров без VLI
    • Избегайте тайм-аута USB MSD, если имеется только одно устройство
    • Реализовать пробную загрузку для резервного обновления ОС
    • Проверьте отметку времени обновления перед применением обновления в режиме САМООБНОВЛЕНИЯ

    13 апреля 2021 г. — Исправить шаблон ошибки для сбоев HDMI и SDRAM — БЕТА/СТАБИЛЬНАЯ

    • Исправить восстановление.обработчик ошибок bin, так что шаблон ошибки светодиода по-прежнему отображается даже в случае сбоя HDMI или SDRAM.

    18.03.2021 — Исправлена ​​случайная ошибка перезагрузки на Pi4B до версии 1.4 — СТАБИЛЬНАЯ

    • Устранение проблемы со сбросом расширителя GPIO на некоторых платах Pi4B 1.1–1.3

    17 марта 2021 г. — Исправление проблемы с мостами PCIe в Linux — БЕТА

    • Поддержка загрузки NVMe BETA сломала мосты PCIe в Linux. Это должно решить проблему

    04.03.2021 — Поддержка загрузки NVMe — БЕТА

    22.02.2021 — Повышение версии 16.02.2021 до стабильной — СТАБИЛЬНАЯ (ПОСЛЕДНЯЯ)

    • Зависание при стандартном/критическом обновлении.

    16.02.2021 — Изменить информацию о версии VC и исправление TFTP — БЕТА

    • Отображать строки VC_BUILD вместо sha256 файла .elf, чтобы информация такая же, как и «версия vcgencmd»
    • Измените TFTP на блоки данных ACK, которые он уже получил, вместо того, чтобы игнорировать их.
    • Измените загрузку по сети, чтобы использовать ту же конфигурацию «RXID», что и ядро ​​5.10.

    16.01.2021 — Исправлен сброс напряжения 1V8 SD для Pi 4B R1.1 — ПОСЛЕДНЯЯ + БЕТА

    • Исправлена ​​регрессия для изменения сброса расширителя GPIO, которое вызывало сброс PMIC вывести карту из режима 1V8, чтобы ее пропустили.

    14.01.2021 — Повысить pieeprom-11.01.2021 до СТАБИЛЬНОЙ (ПОСЛЕДНЕЙ)

    11.01.2021 — USB-устройства MSD зависли по тайм-ауту — БЕТА

    • Время ожидания команд USB MSD и переход к следующему режиму загрузки, если устройство перестает отвечать.
    • Сброс расширителя GPIO при включении питания.
    • Использовать временную метку сборки загрузчика вместо нуля для временной метки обновления. если он не определен в файле .sig.

    05.01.2021 — Улучшения взаимодействия USB MSD для Pi 4B

    < R1.4 - БЕТА
    • Восстановить задержку питания USB-порта на платах R1.1, чтобы она больше походила на сентябрь 2020 г. производственный выпуск. Проверено с помощью Geekworm X835, USB-адаптера Orico NVME M.2 и беспроводная клавиатура Microsoft.
    • Увеличьте задержку HDMI до 8 секунд.

    2020-12-14 — Повысить pieeprom-2020-12-11.bin до стабильной — СТАБИЛЬНАЯ

    • Замораживание функций для поддержки стабильной версии BCM2711 XHCI boot, tryboot, HDMI_DELAY, улучшения USB MSD.

    11.12.2020 — Условные фильтры CM4/PI400 — БЕТА

    • Добавлена ​​поддержка условных фильтров конфигурации [cm4] и [pi400].
    • Tidyup RPIBOOT USB-дескрипторы.
    • Добавьте зазор перед отображением шаблона ошибки светодиода и измените состояние по умолчанию выключаться после отображения первого шаблона ошибки.
    • Генерировать 0xffff вместо 0x0, если контрольная сумма пакета UDP должна быть передается 0x0.
    • Переименуйте USB-DEV в RPIBOOT в строках режима загрузки. Bootmode был переименован в избежать путаницы с загрузкой USB MSD.

    24.11.2020 BCM2711 Поддержка загрузки xHC — БЕТА

    • Добавлена ​​поддержка загрузки с контроллера BCM2711 XHCI, который является Разъем USB-C на Pi 4B / Pi 400 и разъемы типа A на вычислительном модуле 4 IO плата.Контроллер поддерживает только USB 2.0, и основное использование для поддержки USB-MSD на платах CM 4 без контроллера PCIe XHCI.

      Чтобы использовать это, добавьте «5» к BOOT_ORDER в конфигурации EEPROM для загрузки BCM_USB_MSD.

      Для этого требуется последняя прошивка rpi-update.

      Если start.elf загружается через BCM2711 XHCI (BOOT_ORDER 5), то файл config.txt Для параметра otg_mode будет установлено значение 1, чтобы ОС могла продолжить загрузку. с помощью BCM2711 XHCI. Это означает, что режим устройства/гаджета недоступен при загрузке в этом режиме и нет поддержки переключения обратно в контроллер DWC2 от контроллера BCM2711 XHCI.

    • Обновите поведение остановки на Pi 400, чтобы снова включить кнопку «включение», если ОС сделал сброс вместо использования стандартных команд отключения почтового ящика. Этот переопределяет настройки WAKE_ON_GPIO / POWER_OFF_ON_HALT на Pi 400, потому что у него есть специальная кнопка питания. Если кнопка на GPIO3 действительно требуется, ее можно снова включить, установив WAKE_ON_GPIO=2, но это будет потреблять больше энергии.

    • Исправить короткое мигание перед шаблоном однократной ошибки — #251

    • Проверить SDRAM в режиме восстановления.

    • Исправления уровня протокола XHCI для контроллеров без VLI.

    • Обновлена ​​«пробная загрузка» для новой версии, которая также поддерживает Pi3 и более ранние версии.

    28.10.2020 Отображение диагностики HDMI, временные метки обновления, поддержка пробной загрузки — БЕТА

    • Пропустить отображение экрана диагностики на HDMI_DELAY секунд (по умолчанию 5). Это означает, что для загрузочных устройств SD-card и USB MSD flash диагностика экран не будет виден.

    • На Pi 4B 1.4 (8 ГБ) инициализировать SDRAM во время ожидания питания USB-порта время отключения. Это делает загрузку немного быстрее.

    • Удалить сообщения консоли HDMI, в которых информация дублируется в другом месте на дисплее.

    • Улучшите совместимость с внешними корпусами дисков USB 3.0, перечислив нисходящие концентраторы перед выполнением отключения питания USB-порта. Н.Б. Pi4 8GB автоматически отключает порты USB во время сброса чипа и не нуждается в этом изменении.

    • Не отключать тайм-аут устройства USB MSD после USB_MSD_LUN_TIMEOUT, если нет других Устройства MSD или LUN, чтобы попробовать. Это позволяет избежать ненужных тайм-аутов на очень медленных для инициализации дисков, например. Жесткие диски USB предназначены для резервного копирования.

    • Исправьте аварийное переключение на нулевой раздел, если номер раздела недействителен. Для USB Также требуется загрузка MSD, обновление start.elf.

    • SD-карта — измените количество попыток по умолчанию с 0 на 1, чтобы повысить надежность с помощью несколько старых карт SD v1.

    • Исправлена ​​ошибка, из-за которой загрузка останавливалась, если встречался тип раздела 0x83. перед первым разделом FAT.

    • Режим SELF_UPDATE (сеть, загрузка USB MSD) теперь считывает информацию о метках времени в pieeprom.sig, созданном rpi-eeprom-update, чтобы увидеть, обновлено ли новее, чем текущая «метка времени обновления». Если нет, обновление пропускается во избежание случайной установки устаревших обновлений в сети или на USB-дисках.

      обновления recovery.bin (с SD-карты) не проверяют отметку времени, потому что восстановление.bin переименовывает себя после завершения обновления. Тем не менее, это все еще записывает метку времени обновления в EEPROM.

      Отметка времени обновления — это отметка времени создания обновления. не зависит от метки времени сборки исполняемого файла загрузчика. Видеть rpi-eeprom-update-h

    • Добавлена ​​поддержка функции «tryboot», которая позволяет операционным системам реализовать резервный механизм в случае сбоя обновления ОС. Это работает со всеми загрузочный носитель, но требует обновленной микропрограммы и программного обеспечения ОС.

      Эта функция должна рассматриваться как ЭКСПЕРИМЕНТАЛЬНАЯ и может меняться в зависимости от отзывы от других сопровождающих ОС/дистрибутивов. https://github.com/raspberrypi/linux/commit/757666748ebf69dc161a262faa3717a14d68e5aa

    2020-10-02 Включите образ производственного загрузчика CM4.

    • Включите образ выпуска для справки. Это содержит некоторые незначительные изменения для поддержки производства испытаний.

    14.09.2020 Продвинуть выпуск от 03.09.2020 в качестве образов EEPROM по умолчанию.

    • Рекламировать EEPROM загрузчика 2020-09-03 и VLI 0138A1 по умолчанию релиз (критическая папка).

    Интересные изменения с 16.04.2020:-

    • Добавлена ​​поддержка загрузки с запоминающих устройств USB.
    • Добавлена ​​поддержка обновлений загрузчика для USB MSD или сетевой загрузки (самообновление)
    • Улучшена совместимость с USB-устройствами, которым требуется питание от USB-порта. быть выключенным на некоторое время во время перезагрузки.
    • Добавлена ​​поддержка таблиц разделов GPT и Hybrid MBR.
    • Добавлена ​​поддержка защиты от записи EEPROM.
    • Добавлена ​​возможность циклического переключения между различными режимами загрузки до тех пор, пока не появится загрузочный изображение найдено. По умолчанию используется цикл между SD и USB-MSD.
    • VLI 0138A1 — улучшена поддержка полноскоростных изохронных конечных точек.

    07.09.2020 Повысить версию 03.09.2020 до версии STABLE

    03.09.2020 Использовать только зеленый светодиод для индикации состояния ошибки в загрузчике — БЕТА

    • Включите зеленый светодиод и оставьте его включенным, пока не появится код ошибки.Раньше отображалась активность SD, но это плюс мультиплексирование с SPI CS запутал работу светодиодов. Экран диагностики HDMI теперь предоставляет гораздо более точную информацию. для определения, работает загрузчик или завис.
    • CM4 включает GPIO для питания SD.
    • Имя файла должно быть 2020-09-03

    31.08.2020 Отключить самообновление с SD-карты — БЕТА

    • Поскольку ПЗУ будет загружать recovery.bin с SD-карты, самообновление не требуется. Хотя он работает правильно, есть небольшой устаревший риск. пирогром.файлы upd будут установлены автоматически, например. если Служба rpi-eeprom-update отключена.

    10.08.2020 Повысить выпуск от 31.07.2020 до STABLE

    • Изменение управления питанием USB-порта по сравнению с последней бета-версией улучшается совместимость для устройств, которые во время сброса не сообщают о регрессиях. Сделайте это последней стабильной версией.

    31.07.2020 Стандартизация управления питанием порта USB для всех версий платы — БЕТА

    • Отключить питание USB-порта на 1 секунду независимо от режима загрузки.Это появляется для решения проблемы с версиями платы R1.3 и более старыми, где некоторые USB устройства будут выходить из строя после перезагрузки. На R1.4 питание USB-порта отключено автоматически с помощью PMIC, поэтому он просто удерживается в сбросе дольше. Для в более ранних версиях платы питание USB-порта явно отключается через XHCI. Это можно переопределить через USB_MSD_PWR_OFF_TIME в конфигурации EEPROM.
    • Обновление до последней версии встроенного ПО Broadcom memsys — никаких существенных функциональных изменений.

    20.07.2020 Повысить загрузчик 16.07.2020 и прошивку VL805 0138A1 до стабильной — СТАБИЛЬНАЯ

    • Сделать последнюю бета-версию стабильной в качестве следующего выпуска встроенного ПО кандидат.Основное отличие этой версии от предыдущей стабильной обновление микропрограммы VL805.

    16.07.2020 Обновите VL805 FW до 0138A1 и добавьте дополнительную защиту от записи EEPROM — БЕТА

    • Исправление предыдущего 16 июля 2020 г. от c44ee87f -> 45291ce6 для исправления специфичного для CM4 проблема, которая не влияет на модель B
    • Обновите встроенную/автономную версию FW VL805 до 0138A1.
      • Пользовательские настройки битов ASPM в пространстве конфигурации PCI регистр управления ссылками теперь поддерживается
      • Улучшенная поддержка полноскоростных изохронных конечных точек
    • Добавить конфигурацию eeprom_write_protect.txt переменная, которая, если установлена, настраивает биты регистра энергонезависимого состояния для определения защиты от записи регионы.
      • Если 1, то настройте области защиты от записи для обоих загрузчик и VLI EEPROM для покрытия всего EEPROM.
      • Если ноль, то очистить все биты защиты от записи.
      • Если отсутствует или -1, то не изменять текущее состояние.
    • Защита от записи эффективна только в том случае, если на выводе /WP установлен низкий уровень. например путем замыкания TP5 на землю.
    • ВНИМАНИЕ: Предыдущие версии загрузчика, рекавери.бин и vl805 инструмент НЕ сбрасывает биты энергонезависимого состояния для VL805 SPI EEPROM. Следовательно, установка более старой версии завершится с ошибкой/зависнет, если биты защиты не были предварительно очищены (eeprom_write_protect=0)
    • Обновите инструмент пользовательского пространства vl805, чтобы очистить биты WP.
    • Добавить параметр recovery_wait config.txt, который, если установлено значение 1, принудительно использует EEPROM. спасательный образ и постоянно мигает светодиодный индикатор активности. Это предназначено для использовать с образом SD-карты, который содержит только восстановление.бин + config.txt и используется для установки/сброса WP на нескольких досках.
    • Функция защиты от записи работает в режиме самообновления, однако загрузчик должен быть уже обновлен до версии, поддерживающей сначала защита от записи, т.е. требуется как минимум две перезагрузки.
    • Обновите экран диагностики HDMI, чтобы отображать «RO» после версии EEPROM. если регистр состояния записи для загрузчика SPI EEPROM имеет защиту от записи биты определены. Это НЕ пытается проверить, низкий ли /WP.

    06.07.2020 Настройте питание USB-порта и очистите индикатор ACT после SPI — БЕТА

    • Увеличьте предел отключения питания порта до 5 секунд.
    • Увеличьте время отключения питания порта по умолчанию до 1 секунды. Кажется, это охватывает большинство часто встречающиеся устройства USB MSD, для которых требуется отключить питание USB-порта после сброса микросхемы USB HC.
    • Сброс индикатора активности после доступа к SPI для уменьшения количества ложных миганий светодиода.
    • Добавить код ошибки диагностики ошибки SPI (3 длинных 1 короткая), если время ожидания команд SPI истекло.(Пока такого сбоя на вышедших из строя платах не наблюдалось)

    17.06.2020 Повысить 15.06.2020 до СТАБИЛЬНОЙ

    • Повысить последнюю бета-версию EEPROM и recovery.bin до стабильной и приостановить поддержку USB MSD до тех пор, пока не будет готов производственный релиз.

    15.06.2020 Увеличить задержку питания порта USB по умолчанию — БЕТА

    • Увеличьте задержку отключения питания по умолчанию до 500 мс, следуя более тестирование взаимодействия.
    • Сделать время отключения питания USB-порта настраиваемым с помощью USB_MSD_PWR_OFF_TIME конфиг.Диапазон может быть установлен между 250 и 1000 мс. Ноль означает отсутствие порта выключить.
    • Исправлены некоторые проблемы в конфигурации конечной точки XHCI, где код был неправильным. но не выходит из строя с текущим VL805 FW.

    12.06.2020 Улучшена поддержка устройств USB SATA с питанием — БЕТА

    • Сброс Ethernet MAC + PHY, если окончательный режим загрузки не является сетевой загрузкой См. Предупреждение ядра и сбой сети при попытке использовать сеть после истечения времени ожидания загрузчика. #144
    • Улучшение обработки нескольких загрузочных USB-устройств и удаление USB_MSD_BOOT_MAX_RETRIES
    • Устранение: Нет DHCPACK с агентом ретрансляции DHCP № 58
    • Переключение питания порта корневого концентратора USB на 200 мс при первой попытке загрузки USB MSD См.: Загрузчик не может загрузиться через USB-HDD после перезагрузки системы #151
    • Обновление передачи загрузчика для поддержки uart_2ndstage — требуется новое начало.прошивка elf которая будет через rpi-update.
    • Подтвердите фундаментальный сброс PCIe, если окончательный режим загрузки не был USB-MSD, потому что ОС может не сделать этого до запуска XHCI.

    03.06.2020 Внесены изменения в режим загрузки и устранена проблема с дисками > 4 ТБ — БЕТА

    • Устранение: невозможно загрузиться с USB MSD — резервный жесткий диск Seagate емкостью 5 ТБ № 139
    • Увеличьте время ожидания USB MSD с 10 до 20 секунд.
    • Максимальное число повторных попыток теперь по умолчанию равно нулю, поскольку BOOT_ORDER по умолчанию включает перезапустить (0xf).Таким образом, каждый режим загрузки теперь проверяется один раз перед перемещением. на следующий режим. Механизм повторных попыток теперь в значительной степени избыточен, когда существует режим цикла/перезапуска.
    • Если TFTP терпит неудачу и количество попыток загрузки по сети > 0, подождите 5 секунд, прежде чем повторная попытка избежать перегрузки неправильно настроенного TFTP-сервера.
    • Сопоставьте неопределенные режимы загрузки в BOOT_ORDER с SD (0x1) вместо остановки.
    • Добавить отсутствующий pieeprom-2020-05-28

    28 мая 2020 г. Дополнительное исправление для проблемы с считыванием VL805 — БЕТА

      * Повторная загрузка 28 мая 2020 г. после проблемы с Git
    * rpi-eeprom-update для новых версий платы
      

    27 мая 2020 г. Исправление проблемы с DPI — БЕТА

      * Устранение: сбой DPI после экрана диагностики HDMI в бета-загрузчике № 133
    * Устранение: ошибка обратного чтения VL805 в загрузчике № 134.
      

    2020-05-26 Обновления USB MSD — БЕТА

      * Устранение: загрузка с USB завершается сбоем, если GPT не содержит основных данных или разделов EFI #130
    * Решение: исправить BOOT_ORDER по умолчанию в бета-версии запоминающего устройства № 129.
    * Решение: добавлена ​​поддержка загрузки с "супердискеты" #120.
    * Устранение: сообщение о тайм-ауте USB MSD - неверные единицы измерения #131
    * Решение: Распознать раздел efi (0xef) как действующий загрузочный номер # 126.
    * На экране диагностики HDMI теперь отображаются самые значащие байты.
      SHA-256 конфиг.текстовый файл.
      

    2020-05-26 rpi-eeprom-обновление

      * Отметить USE_FLASHROM как устаревший.
    * Решение: ненужная проверка «*.elf» в BOOTFS #92.
    * Справка по обновлению для FIRMWARE_RELEASE_STATUS.
      

    15.05.2020 Добавлена ​​бета-версия pieeprom-15.05.2020 с загрузкой через USB

      * Загрузка с USB-накопителя НЕ будет работать без обновленной прошивки
      Исполняемые файлы start.elf. Вероятно, они будут выпущены через rpi-update.
      через несколько дней.
      Этот выпуск просто помогает проверить, есть ли регрессии в
      текущие режимы загрузки SD и сети.* SELF_UPDATE и bootloader_update теперь включены по умолчанию.
      

    11.05.2020 Собрать старые бинарные файлы

      * Теперь, когда 16.04.2020 был выпущен как производство по умолчанию
      release переместите старые двоичные файлы в старый (устаревший) каталог.
      Их можно удалить для пакета APT, чтобы уменьшить дисковое пространство.
      

    Рекламировать выпуск EEPROM 2020-04-16 критический

      * Сделать этот выпуск по умолчанию для всех пользователей. Это поддерживает сеть
      загрузку, настраиваемый порядок загрузки и экран диагностики HDMI. 

    16.04.2020 Перейти на стабильную версию

      * Аналоговые изменения PLL в бета-версии так и не стали стабильными.
      Пропустите прямо 2020-04-16, чтобы синхронизировать выпуски.
      

    16.04.2020 Отменить аналоговые изменения PLL

      * Кажется, это вызывает проблемы в некоторых выпусках встроенного ПО, если enable_tvout
      устанавливается из-за различного поведения в управлении PLL.
      

    12.04.2020 Обновление beta+stable recovery.bin

      * Если образ VL805 обновился а загрузчика нет то
      восстановление.bin неправильно переключался на бесконечную активность мигания
      Шаблон светодиодов, используемый в образе восстановления для предотвращения бесконечных перезагрузок.
      Исправьте recovery.bin для перезагрузки в этом случае. Текущий «критический»
      выпуск не имеет этой проблемы.
    * Исправлено ведение журнала uart_2ndstage в бета-версии/стабильном образе восстановления.
    * Измените recovery.bin на перезагрузку вместо отображения шаблона ошибки
      если нет образов EEPROM. Образ Raspberry Pi делает его очень
      трудно создать сломанный образ восстановления, но случайный recovery.bin
      может остановить загрузку Raspbian.* Фикс обнаружения VL805 EEPROM в recovery.bin
    
    Н.Б. Эти файлы recovery.bin используются для критических обновлений и восстановления.
    изображение не страдает от этих ошибок.
      

    09.04.2020 Добавлена ​​бета-версия прошивки 09.04.2020.

      * Экспериментальные настройки аналоговой схемы ФАПЧ для уменьшения джиттера и
      повысить надежность PCIe на более медленном кремнии.
      

    07.04.2020 Превратить бета-версию прошивки 19 марта 2020 г. в стабильную версию.

      * О серьезных ошибках не сообщалось. Повысьте это до стабильной версии в качестве шага
      к включению диагностики HDMI в прошивку по умолчанию
      через критическое обновление. 

    19.03.2020 Добавлена ​​бета-версия прошивки 19.03.2020

      * Мелкие моды для производственного теста.
      

    16.03.2020 Добавлена ​​бета-версия прошивки 16.03.2020

      * Исправлено создание GUID DHCP Option97. Часть MAC LSB ранее была
      всегда ноль.
      

    11.03.2020 Добавлено восстановление прошивки бета-версии 04.03.2020

      * Поддержка конфигурации статического IP-адреса. Следующие поля могут быть
      установить вручную, используя десятичный адрес с точками. Если установлено, то DHCP пропускается.* КЛИЕНТ_IP
       * ПОДСЕТЬ
       * ШЛЮЗ
       * TFTP_IP
    * В случае фатальной ошибки загрузчика отображается экран диагностики HDMI.
      отображается с разрешением VGA/DVI на обоих выходах в течение двух минут.
      Это можно отключить, установив DISABLE_HDMI=1 в EEPROM.
      конфигурация ИЛИ настройка display_splash=1 в config.txt.
    * Разрешить параметру меню PXE соответствовать пользовательской строке, указанной
      PXE_OPTION43. По умолчанию по-прежнему используется «Raspberry Pi Boot».
    * DHCP_OPTION97 — GUID по умолчанию теперь изменен на
      RPI4+BOARD_ID+ETH_MAC_LSB+SERIAL, чтобы упростить
      автоматически идентифицировать компьютеры Raspberry Pi.Старое поведение
      включается установкой DHCP_OPTION97=0, которая просто повторяет последовательный
      число 4 раза.
    * САМООБНОВЛЕНИЕ. Если SELF_UPDATE установлен в 1 в конфигурации EEPROM И
      config.txt содержит bootloader_update=1, тогда загрузчик будет искать
      для pieeprom.upd и vl805.bin и применить эти файлы прошивки, если
      они отличаются от текущего изображения до сброса сторожевого таймера.
      Это должно упростить обновление загрузчика для сети.
      загрузились установки, потому что SD-карта не требуется для восстановления.мусорное ведро
      Как обычно, TFTP следует использовать только в частных сетях, поскольку
      протокол не защищен от спуфинга.
    * recovery.bin. Бета-версия recovery.bin теперь будет отображать зеленый экран.
      через HDMI в случае успеха или красный цвет в случае сбоя.
      

    27 февраля 2020 г. rpi-eeprom-обновление и прошивка

      * Убрать проверку зависимостей для утилиты vl805. Это устарело
      а 64-битной версии нет. Файл по-прежнему доступен на Github.
      для всех, кто хочет продолжить использование USE_FLASHROM или создать свой
      собственные скрипты.* Добавить каталог стабильной прошивки на основе последней бета-версии.
      Стабильный следует интерпретировать как выпуск с замораживанием функций. В этом
      если загрузка основной сети достаточно стабильна для большинства сценариев
      и это снижает риск добавления новых экспериментальных функций в
      папка бета.
      

    22.01.2020 — vl805 00137ad

      * Установите для версии по умолчанию/критической версии vl805 значение 00137ad. Это имеет
      та же экономия энергии, что и у 0137ab, но с исправлениями для веб-камер USB.
      

    17 января 2020 г. — Git 5e86aac5f (БЕТА) RC4

      * Обработка параметра DHCP 0 — заполнение
    * Исправлено обнаружение напряжения SD-карты
      

    14.01.2020 — rpi-eeprom-config

      * Исправлен расчет заполнения
      

    09.01.2020 — Git df0ff18c (БЕТА) RC3

      * Исправлен анализ нескольких пунктов меню в параметрах PXE.* Исправлена ​​регрессия при разборе IP-адресов.
      

    03.12.2019 — Git f0d7269d4 (БЕТА) RC2

      * Исправить обработку нескольких пунктов меню с помощью TFTP Option43
    * Игнорировать неподдерживаемые режимы в BOOT_ORDER вместо остановки.
      

    18.11.2019 — Git b6a7593d6 (БЕТА) RC1

      Первый выпуск-кандидат перед тем, как эта бета-версия будет переведена в серию стабильных выпусков.
    
    * Избегайте сброса префикса TFTP после повторных попыток или если start4.elf не найден.
    * Добавлена ​​опция MAC_ADDRESS, которая позволяет использовать MAC-адрес OTP Ethernet.
      переопределен.Обновление прошивки VideoCore распространит это принудительное
      mac адрес в device-tree/cmdline в ближайшем будущем.
    * Различные внутренние рефакторинги для подготовки к загрузке USB-накопителя MSD в
      следующая бета-серия.
    * Включить высокоскоростной режим для карт EMMC.
      

    2019-10-17 — rpi-eeprom-update + recovery.bin

      * Новая бета-версия recovery.bin, которая может обновлять VLI EEPROM до
      start.elf загружается. Это рекомендуемый и используемый по умолчанию метод.
      поскольку на этом этапе никакие USB-устройства использоваться не будут.* Расширьте конфигурацию USE_FLASHROM, чтобы использовать инструмент vl805.
      для программирования VL805 напрямую.
    * Создание контрольных сумм SHA256 в файлах .sig для загрузчика и
      и изображения VL805. Это требуется новым recovery.bin для
      защита от записи поврежденных файлов в EEPROM.
    * Различные переименования переменных для различения загрузчика
      и изображения VL805.
      

    16.10.2019 — Git 18472066 (БЕТА)

    • Игнорировать конечные символы при синтаксическом анализе в меню загрузки PXE.
    • Улучшена обработка ошибок с неформатированными SD-картами.

    08.10.2019 — Git 26dd3686c (БЕТА)

    • TFTP теперь использует параметр blksize RFC2348 для получения блоков размером 1024 байта, если сервер поддерживает его.
    • Исправлена ​​обработка DHCP SI_ADDR
    • .
    • Параметры TFTP_PREFIX и TFTP_PREFIX_STR для mac-адреса или префикса строкового литерала.
    • Улучшена поддержка карт стандартной емкости и карт SDv1.

    25 сентября 2019 г. — Git 4d9824321 (БЕТА)

    • Увеличьте время ожидания TFTP до 30 секунд по умолчанию и bootconf.текст
    • Устранена проблема периодического зависания/замедления загрузки после загрузки start.elf
    • Не загружать start.elf во время загрузки по сети, если start4.elf существует, но время загрузки истекло.

    23 сентября 2019 г. — Git c67e8bb3 (БЕТА)

    • Добавить поддержку сетевой загрузки
    • Настраиваемый порядок режимов загрузки (повторные попытки BOOT_ORDER и SD/NET_BOOT)

    2019-09-10 — Гит f626c772

    • Настройте контакты Ethernet RGMII при включении питания. Это незначительное изменение, которое что может повысить надежность Ethernet для некоторых пользователей.

    05.09.2019 — Git d8189ed4 — (БЕТА)

    • Обновить настройки SDRAM для снижения энергопотребления.

    15.07.2019 — Git 514670a2

    • Выключение активности зеленого светодиода при остановке.
    • Встроенный файл конфигурации дополнен пробелами для облегчения редактирования конечными пользователями.
    • Halt теперь ведет себя так же, как и более ранние модели Pi, чтобы улучшить поведение питания при остановке для HAT.
    • WAKE_ON_GPIO теперь по умолчанию имеет значение 1 в файле конфигурации EEPROM.
    • В параметре POWER_OFF_ON_HALT добавлено значение по умолчанию, равное нулю.Установите для этого параметра значение 1, чтобы восстановить поведение, при котором «sudo halt» отключает все выходные данные PMIC.
    • Если WAKE_ON_GPIO=1, то POWER_OFF_ON_HALT игнорируется.
    • Загрузите start4db.elf / fixup4db.dat вместо start_db.elf / fixup_db.dat на Pi4.
    • Встроить BUILD_TIMESTAMP в образ EEPROM для облегчения проверки версии.

    10 мая 2019 г. — Git d2402c53 (RC2.1)

    • Первая серийная версия.

    Raspberry Pi 4/400 Руководство по обновлению/восстановлению прошивки EEPROM

    Raspberry Pi 4 со встроенным чипом EEPROM

    Все предыдущие поколения Raspberry Pi содержали все свои прошивки на SD-карте.Начиная с Raspberry Pi 4, устройство фактически имеет встроенную обновляемую прошивку, хранящуюся на микросхеме EEPROM отдельно от вашего хранилища. Обновление этой прошивки очень важно, так как одно из первых выпущенных обновлений снижает энергопотребление Pi на 30%, что также снижает его нагрев.

    В этом руководстве я покажу вам, как обновить прошивку загрузчика (нет, это не обновление apt-get, это новая утилита под названием rpi-eeprom!), а также покажу вам, как сделать SD-карту восстановления, если ваша прошивка портится и требует перепрошивки.

    Если вы ищете информацию о том, как изменить порядок загрузки в новой прошивке загрузчика Raspberry Pi 4, ознакомьтесь с моим Руководством по загрузке нового загрузчика Raspberry Pi 4 USB.

    Обновление прошивки загрузчика

    Требования

    Raspberry Pi 4

    Raspberry Pi 4 доступен с различными конфигурациями памяти вплоть до 8 ГБ. Он размером с кредитную карту и использует чрезвычайно мало энергии, что делает его идеальным для всех видов проектов и идей!

    Ссылки: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon*.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*

    Комплект Raspberry Pi 400

    Комплект Raspberry Pi 400 включает в себя все необходимое для полной сборки рабочего стола Pi 400. Pi 400 — самый быстрый Raspberry Pi из когда-либо выпущенных, и он выполнен в форм-факторе клавиатуры!

    Ссылки: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*

    Для обновления прошивки вы должны использовать последнюю версию Raspberry Pi OS . Не пытайтесь сделать это из другого дистрибутива. Если вы хотите использовать другой дистрибутив после этого, это здорово!

    Поскольку прошивка загрузчика Raspberry Pi хранится на микросхеме устройства, вы можете обновить ее до последней версии с помощью ОС Raspberry Pi, а затем вернуться к использованию всего, что захотите. Лично у меня есть отдельная SD-карта только для ОС Raspberry Pi, которую я использую для периодического подключения и обновления прошивки.

    Прошивка и утилиты вокруг нее меняются так быстро, что вы действительно играете с огнем, не пытаясь сделать это с последним и самым большим официально поддерживаемым дистрибутивом, когда вы говорите о прошивке / бортовых чипах / и т. д.

    С этим словом осторожности в сторону, давайте начнем!

    Установите rpi-eeprom (более старые версии ОС Raspberry Pi / Raspbian)

    Более новые версии ОС Raspberry Pi уже поставляются с этой утилитой, но если вы обновляете / обновили более старую версию, в некоторых случаях она может отсутствовать.Мы можем установить его с помощью следующих команд:

      sudo apt update
    sudo apt полное обновление
    sudo apt install rpi-eeprom  

    После установки утилиты ОС Raspberry Pi при загрузке проверит наличие критических обновлений прошивки загрузчика для вашего Pi.

    Проверка обновлений вручную

    Если вы похожи на меня и не хотите ждать, пока ОС Raspberry Pi решит, следует ли выполнять эти обновления, есть команда для проверки обновлений вручную:

      sudo rpi-eeprom-update  

    Вы увидите такой вывод:

     BCM2711 обнаружен
    Прошивка VL805 в EEPROM загрузчика
    ЗАГРУЗЧИК: обновленный
    ТЕКУЩЕЕ: Чт, 3 сентября, 12:11:43 UTC 2020 (159

    03) ПОСЛЕДНЕЕ: Чт, 3 сентября, 12:11:43 UTC 2020 (159

    03) FW DIR: /lib/firmware/raspberrypi/bootloader/critical VL805: актуальная версия ТЕКУЩИЙ: 000138a1 ПОСЛЕДНЯЯ: 000138a1

    Если прошивка не обновлена, будет указано, что требуется обновление, например:

     BCM2711 обнаружен
    Прошивка VL805 в EEPROM загрузчика
      *** ДОСТУПНО ОБНОВЛЕНИЕ *** 
    ЗАГРУЗЧИК: доступно обновление
    ТЕКУЩЕЕ: Чт, 3 сентября, 12:11:43 UTC 2020 (159

    03) ПОСЛЕДНЕЕ: вторник, 24 ноября, 15:08:04 UTC 2020 (1606230484) FW DIR: /lib/firmware/raspberrypi/bootloader/beta VL805: актуальная версия ТЕКУЩИЙ: 000138a1 ПОСЛЕДНЯЯ: 000138a1

    Теперь мы видим, что для нашего устройства есть обновленная прошивка.Чтобы установить это обновление, мы будем использовать переключатель -a, а также переключатель -d (что означает проверку загрузчика):

      sudo rpi-eeprom-update -d -a  

    Если были доступны обновления, ваш вывод должно выглядеть так:

     Обнаружен BCM2711
    Прошивка VL805 в EEPROM загрузчика
      *** УСТАНОВКА ОБНОВЛЕНИЙ EEPROM *** 
    ЗАГРУЗЧИК: доступно обновление
    ТЕКУЩЕЕ: Чт, 3 сентября, 12:11:43 UTC 2020 (159

    03) ПОСЛЕДНЕЕ: вторник, 24 ноября, 15:08:04 UTC 2020 (1606230484) FW DIR: /lib/firmware/raspberrypi/bootloader/beta VL805: актуальная версия ТЕКУЩИЙ: 000138a1 ПОСЛЕДНИЕ: 000138a1 BOOTFS/загрузка Ожидается обновление EEPROM.Пожалуйста, перезагрузитесь, чтобы применить обновление.

    Перезагрузите Pi, введя sudo reboot, а затем снова запустите sudo rpi-eeprom-update. На этот раз он должен сообщить вам, что теперь он обновлен!

    Изменение канала выпуска rpi-eeprom

    По умолчанию вы будете получать обновления только из «критического» канала ОС Raspberry Pi. Это очень консервативный канал обновления прошивки, который будет предоставлять вам только очень хорошо протестированные обновления прошивки, которые считаются критическими исправлениями для устройства. Другой доступный канал — «стабильный».

    Если вы пытаетесь заставить работать поддержку загрузки с USB и другие недавно добавленные функции, я бы сначала попробовал «стабильный» канал. Он намного лучше протестирован, и у вас меньше шансов столкнуться с какими-либо проблемами с передовыми технологиями.

    Если вы хотите получать самые последние обновления прошивки и исправления, вы можете попробовать «бета-канал». Эти обновления не тестировались так долго и потенциально могут сломать ваш загрузчик, поэтому ОС Raspberry Pi рекомендует использовать его только в том случае, если вам удобно использовать инструмент восстановления для перепрошивки загрузчика, если что-то пойдет не так.Ознакомьтесь с разделом восстановления ниже, чтобы узнать, как это сделать.

    Для перехода на бета-канал отредактируем файл /etc/default/rpi-eeprom-update:

      sudo nano /etc/default/rpi-eeprom-update  

    Изменим строку FIRMWARE_RELEASE_STATUS=» Critical «to:

     to: 

     firmware_relase_status =" Стабильный "

    или альтернативно:

     Firmware_relase_status =" Beta "

    Теперь вы можете запустить:

      Sudo RPI-EEPROM-Update-a  

    , и вы должны увидеть новый обновления доступны.Вам нужно будет перезагрузить Pi, прежде чем обновление будет применено. Я бы порекомендовал перезагрузить его сразу же, запустить проверку еще раз и убедиться, что вы теперь в курсе.

    Просмотреть примечания к исправлениям прошивки загрузчика

    Последние официальные примечания к исправлениям для всех версий и изменений доступны в репозитории rpi-eeprom GitHub

    Отключить автоматические обновления прошивки загрузчика до ОС Raspberry Pi службу автообновления можно отключить с помощью следующей команды:

      sudo systemctl mask rpi-eeprom-update  

    Служба запуска теперь отключена, и автоматические обновления прошивки загрузчика будут применяться только в том случае, если вы это сделаете это вручную.

    Чтобы отменить это и снова включить службу, мы будем использовать команду unmask:

      sudo systemctl unmask rpi-eeprom-update  

    Теперь автоматические обновления прошивки снова включены!

    Восстановление загрузчика

    Недостатком встроенного загрузчика является то, что если что-то сломается, переформатирование вашей SD-карты не исправит . В этом разделе я расскажу, как использовать официальные инструменты для перепрошивки и восстановления загрузчика вашего Pi.

    Требования

    Для этого нам нужно подготовить SD-карту с помощью инструмента восстановления загрузки Raspberry Pi 4 EEPROM.Самый простой способ сделать это — использовать официальный инструмент Raspberry Pi Imager от фонда Raspberry Pi для подготовки образа восстановления.

    Вот как мы создаем образ восстановления внутри утилиты. Выберите категорию «Разные служебные образы», ​​как показано ниже:

    Raspberry Pi Imager — меню «Различные служебные образы»

    Затем выберите «Загрузчик (восстановление заводских настроек по умолчанию и изменение приоритета загрузки)»: Меню «Система»

    Это приведет вас к меню, в котором вы выберете загрузочное устройство по умолчанию для вашего Raspberry Pi следующим образом:

    Raspberry Pi Imager — меню «Загрузчик»

    Обратите внимание, что вы в основном просто выбираете основное загрузочное устройство.Современные версии встроенного ПО будут отступать в случае сбоя основного загрузочного устройства. В первом меню, например, написано «Загрузка с SD-карты, если она доступна, в противном случае загрузка с USB».

    Это означает, что если вы вынули SD-карту, вы все равно можете загрузиться с запоминающего устройства USB, если вы выбрали первый вариант. Выбор варианта USB будет работать аналогичным образом, когда в случае сбоя загрузки с USB-накопителя будет выполнена загрузка с SD-карты. Выберите нужный режим, и вы вернетесь к экрану главного меню, чтобы выбрать устройство хранения для записи.

    Затем выберите SD-карту и нажмите «Запись». Теперь отключите Pi и вставьте только что подготовленную SD-карту. Подключите питание и дайте ему загрузиться. Это вернет ваш загрузчик к настройкам по умолчанию. Вы должны увидеть постоянное быстрое мигание зеленого света. Теперь вы можете отключить питание и вставить исходную SD-карту обратно / переустановить ОС Raspberry Pi и нормально загрузить Pi!

    Когда пытаться восстановить

    Существует простая процедура, позволяющая определить, поврежден ли ваш загрузчик.Полностью выключите Pi и извлеките SD-карту / все подключенное хранилище. Теперь снова подключите Pi без носителя.

    Если загрузчик вашего Pi исправен, вы увидите, как зеленый индикатор мигнет несколько раз, а затем введите шаблон, при котором он будет мигать 4 раза, а затем будет длительная пауза. Он будет повторять эти 4 мигания/паузы в бесконечном цикле.

    Если загрузчик вашего Pi НЕ исправен, зеленый индикатор не будет мигать. Если это так, пришло время восстановить загрузчик!

    Еще одна ситуация, которая может потребовать восстановления загрузчика, — это когда в загрузчике отсутствует множество настроек, несмотря на то, что он обновлен.Например, другие читатели видели случаи, когда, несмотря на наличие последней прошивки в соответствии с rpi-eeprom-update, им не хватало ключевых настроек, таких как настройка BOOT_ORDER. Если что-то не так с вашими настройками, многие комментаторы добились успеха с этим методом, когда ничего не работало!

    Процедура восстановления

    Перед включением устройства вставьте «восстановительную» SD-карту, которую мы сделали ранее в разделе требований выше, и убедитесь, что все USB-устройства удалены.Известно, что даже клавиатуры вызывают проблемы, поэтому убедитесь, что абсолютно все отключено!

    Теперь вставьте SD-карту в Pi и подключите питание.

    Если восстановление загрузчика прошло успешно, зеленый индикатор активности начнет постоянно быстро мигать (вечно). В этом случае вы успешно восстановили загрузчик! Теперь вы можете вставить обычную SD-карту с полным образом, и она снова загрузится в обычном режиме.

    Если происходит что-либо, кроме непрерывного быстрого мигания зеленого индикатора, восстановление не выполнено.

    Если восстановление не работает

    • Попробуйте использовать только что созданную SD-карту Raspberry Pi OS. Иногда с образом происходят неожиданные вещи, которые могут помешать использованию более новой прошивки (например, см. следующий пункт).
    • Проверьте «загрузочный» раздел вашей основной ОС и убедитесь, что там нет файла с именем «recovery.bin». Если этот файл присутствует, он загрузит эту версию прошивки загрузчика вместо того, что прошито на вашем Pi. Этот файл должен присутствовать только на SD-карте «восстановления», которую мы создали, но люди находят эти файлы в своем основном «загрузочном» разделе ОС.Стоит проверить, чтобы убедиться, что он не находится на SD-карте / диске основной ОС, с которого вы пытаетесь загрузиться.
    • Существует известная (и странная) проблема с Raspberry Pi 4 и SD-картами на 32 ГБ, из-за которой Pi прерывает загрузку. Если это может относиться к вам, прочитайте этот пост.
    • Убедитесь, что вы правильно создали SD-карту. Распространенной ошибкой является использование карт емкостью более 32 ГБ и их форматирование с использованием ex-FAT вместо обычных FAT/FAT32.
    • Убедитесь, что *все* USB-устройства отключены от Pi
    • Попробуйте другую SD-карту, если она у вас есть.SD-карты постоянно выходят из строя. Если у вас есть какие-либо сомнения, посетите мою страницу с тестами хранения Raspberry Pi, чтобы увидеть самые производительные SD-карты (вам определенно нужна карта с рейтингом A1+).
    • Проверьте шнур питания. Убедитесь, что вы используете высококачественный шнур питания USB-C, совместимый с Pi. Даже если он работал раньше, у меня умерло несколько старых блоков питания Pi, которые работали годами. Если есть какие-либо сомнения, возьмите известный надежный источник питания, такой как блок питания Canakit USB-C Raspberry Pi 4 *

    . Если вы прошли все шаги и уверены, что это не одна из вышеперечисленных проблем, то пришло время иди глубже.Вам нужно наблюдать за точным поведением вашего Pi, когда вы его подключаете (что делают огни). Вот таблица различных шаблонов мигания и их значения:

    Таблица предупреждений о мигании светодиодов Raspberry Pi 4

    Если поведение светодиодов вашего Pi соответствует любому из этих кодов, то теперь у нас есть гораздо больше, чтобы диагностировать, почему ваш Pi не загружается. . Некоторые из них очень очевидны, но все они заслуживают быстрого поиска в Интернете, как только вы сопоставите их с кодом.

    Если поведение вашего Pi не соответствует ни одному из этих кодов, перейдите к официальному прикрепленному сообщению на форумах Raspberry Pi и прокрутите до самого низа (сообщение № 4 специально для Raspberry Pi).Это отслеживает текущие проблемы с загрузкой Pi 4, которые могут повлиять на ваш Pi, и целый ряд вещей, которые можно попробовать. Если вы прочли этот пост, пройдите весь путь до поста №1 и начните спускаться по списку.

    Может ли мой Пи умереть?

    Вполне возможно. Такие вещи, как проблемы с питанием (скачки напряжения и т. д.), неправильное подключение макетных плат и т. д., могут полностью убить ваш Pi. При этом, если у вас есть Pi 4, который кажется мертвым, и вы выполнили все мои шаги по устранению неполадок / официальная заметка / на вас не распространяется гарантия, я бы пока удержал его, поскольку он все еще очень новый и некоторые проблемы с загрузчиком все еще исследуются.

    Я определенно сам убил парочку. У меня был 3B+, который я использовал в течение года для создания образов (по сути, выбивая из него все дерьмо), на котором, наконец, произошел аппаратный сбой, и он больше не загружался. Я не слишком расстроился из-за этого, потому что я полностью выбил все дерьмо из этих устройств и довел их до абсолютного предела.

    Более душераздирающим было то, что я убил 4 ГБ Pi 4, который я получил прямо при запуске Pi 4. Я оставил этот Pi в очень горячей зоне с экспериментальным образом, на котором не было надлежащей прошивки, примерно 2 года.5 недель, и теперь, когда он включен, зеленый индикатор начнет мигать, как будто он вот-вот начнет загружаться, затем зеленый индикатор зависнет и останется гореть навсегда. У меня есть пара других Pi 4, поэтому я знаю, что все мои карты и блоки питания в порядке.

    Убедитесь, что вы просмотрели официальную прикрепленную публикацию, ссылку на которую я дал в предыдущем разделе, прежде чем делать такой вывод. Эти вещи не хрупкие, и за все годы ведения этого блога я просто убил только 2 из них безумными вещами, которые я постоянно примеряю на них.

    Я могу помочь, если вы хотите оставить здесь комментарий с *точно*, какое поведение вы наблюдаете, когда пытаетесь выполнить эти процедуры, когда вы подключаете его без SD-карты, когда вы подключаете его с помощью SD-карта в нем, любая мелочь поможет!

    Другие ресурсы

    Если вы пытаетесь настроить загрузку с USB-накопителя (например, с SSD), ознакомьтесь с моим Руководством по загрузке Raspberry Pi 4 Native USB

    . Если вы хотите узнать, какое хранилище Pi работает быстрее всего, и получить представление о том, какие диски искать, ознакомьтесь с моими тестами самых быстрых хранилищ Raspberry Pi 4 2020 года

    Если у вас есть один из новых комплектов Raspberry Pi 400 *, не пропустите мое Руководство по разгону и настройке SSD Pi 400

    Более быстрая прошивка EEPROM читает? Используйте Пи!

    Несколько лет назад я написал статью об использовании логического анализатора для чтения EEPROM при загрузке.На мой взгляд, это было слишком просто и пассивно, но это сработало, и я получил нужные данные.

    Теперь я собираюсь подробнее рассказать о том, как это сделать, читая напрямую с чипа так же, как это делает ЦП.

    Одной из распространенных «атак» на устройства IoT является чтение прошивки или данных непосредственно из их хранилища. Обычно эти данные хранятся в одной EEPROM, которая обычно выглядит примерно так:

    .

    Приведенный выше чип — это чип Macronix MX25L3206E NOR FLASH, который используется для хранения дешевой камеры D-Link, той самой, которую недавно разобрал мой коллега Джейми.

    Я просто решил написать простой пост о том, как читать это и о некоторых распространенных ловушках.

    Чтение простого чипа флэш-памяти, как правило, довольно просто, так как для минимизации сложности на печатной плате они обычно используют I2C или SPI в качестве основных протоколов, которые можно легко использовать для чтения его содержимого.

    Конечно, иногда это применимо только в том случае, если микросхема удалена из платы. В зависимости от конструкции платы простая попытка включить питание микросхемы, когда плата выключена, или поговорить с микросхемой, когда плата активна, может потерпеть неудачу.Это одна из причин, по которой я решил использовать это устройство для чтения, поскольку я знаю, что чтение может быть выполнено без включения устройства.

    Основы

    Согласно техническому описанию (которое вы можете найти, выполнив поиск по номеру детали в вашей любимой поисковой системе), этот чип использует для связи SPI.

    SPI (последовательный периферийный интерфейс) — это простой протокол последовательной связи, который использует четыре провода для передачи данных и может работать на нескольких устройствах (т.е. образует шину):

    Проволока Имя Применение
    КС Выбор чипа Используется для указания того, выбран ли чип, более известный как выбор ведомого устройства — SS — или Enable
    СИ Последовательный ввод данных Используется для ввода данных в микросхему, более известную как MOSI — Master Out, Slave In
    ТАК Последовательный вывод данных Используется для вывода данных с микросхемы, более известной как MISO — Master In, Slave Out
    СКЛК Часы Линия синхронизации, используемая для установки времени любой связи

     
    Передача данных по SPI требует отправки двоичных команд с параметрами и получения ответов.Самый простой способ визуализировать это — это визуализировать.

    Я установил встроенный логический анализатор, пока читал микросхему, чтобы попробовать и продемонстрировать ее. Это требует большого количества проводов и отняло много энергии USB у моего ноутбука (и да, теперь я вижу, сколько мне нужно, чтобы почистить клавиатуру):

    Это позволяет нам фиксировать трафик по мере его чтения, который выглядит примерно так:

    Здесь мы видим три пакета данных, мы можем видеть CS (здесь он называется ENABLE) принудительно низким во время пакета, всплеск при запуске от MOSI (SI) и активность на MISO (SO) и CLOCK (SCLK).

    Увеличив масштаб первого пакета, мы можем увидеть шаблоны байтов:

    Отсюда сразу видны часы - они работают по штатному шаблону, совпадающему с передачей данных. Пакет начинается с кода на MOSI 0x03 0x00 0xcc 0x00, а затем продолжается с возвратом данных на SO.

    Глядя на таблицу данных, мы видим, что 0x03 - это инструкция для READ:

    Таким образом, мы можем перевести приведенную выше инструкцию как READ 0x00CC00, и она будет возвращать байты с этого адреса до тех пор, пока CS, также известный как ENABLE (честно говоря, вы привыкли к тому, что контакты называются по-разному, разные люди) не станет высоким.

    Теоретически теперь мы можем написать программу, которая сделает это за нас. К счастью, люди уже подумали об этом, и у нас есть как программные инструменты (в данном случае flashrom), так и аппаратные средства (в данном случае Bus Pirate), которые сделают всю тяжелую работу за нас.

    Осталось только подключить его и соединить вместе.

    Я использую зажим, чтобы облегчить себе жизнь, хотя вы можете просто использовать крючки, чтобы соединиться с правой ногой. У меня было много дешевых импортных зажимов, которые никогда не работали, после того, как я потратил много времени впустую, я выбросил их и купил несколько приличных зажимов Pomona, которые легко подключить и надежно соединить с ножками чипа.

    Проводку к микросхеме можно посмотреть в техпаспорте

    Это упрощает подключение к тем же контактам на Bus Pirate. Как только мы это сделали, мы можем прочитать это одной командой:

    Я рассчитал время передачи выше, чтобы вы могли видеть, сколько времени она занимает: 4 МБ за 9 минут 34 секунды, что работает со скоростью около 7 КБ/с. Это не очень быстро.

    Можем ли мы его улучшить?

    Да, можем, у нас есть несколько вариантов. Во-первых, использовать аппаратное обеспечение под названием The Shikra, которое разработано как немного более быстрый и стабильный инструмент, чем Bus Pirate.С этим есть пара проблем:

    1. Можно купить только в США
    2. Он не обеспечивает питание чипа, поэтому мне пришлось бы устанавливать его отдельно. Это потребовало бы, чтобы я освободил место на моем столе. Это может занять некоторое время.

    Также существует Hardsploit компании Opale security.

    На днях я, возможно, напишу статью, чтобы продемонстрировать эти два, но пока я стремлюсь к скорости, поэтому я хочу иметь прямой доступ к шине SPI, а это значит, что мне нужно использовать небольшой компьютер.

    Один из моих коллег клянется BeagleBone Black, но у меня нет ни одного под рукой. Я хотел попробовать со своим PocketCHIP, так как было бы неплохо иметь комплексное решение, но для этого потребовалась бы перекомпиляция ядра.

    Итак, пришло время вытащить из хранилища Raspberry Pi 3, который я купил и никогда не использовал. Одна быстрая установка Raspbian на него и немного возни с адом зависимостей, чтобы заставить flashrom компилироваться, и я могу попробовать прямое чтение с шины SPI.

    Это должна быть фотография, так как мне нужно было повторно использовать клавиатуру, мышь и клавиатуру для Pi:

    Как мы видим, это заняло 1 мин 53 с, или около 36,3 кБ/с. Это показывает, что прямой доступ к шине влияет на скорость.
     

    Сохранение данных EEPROM в силе с помощью обновлений прошивки « Qaru

    Раньше, когда встроенные системы использовали EPROM (нет, это не опечатка для моих младших читателей), а не Flash, вероятность обновления кода в поле была близка к нулю.Однако сегодня встроенные системы обычно содержат механизмы, позволяющие легко обновлять код. Как и большинство людей, я воспринял эту функцию с энтузиазмом. Однако после того, как я реализовал несколько систем, которые можно было обновлять на месте, я обнаружил, что возможность обновления в полевых условиях неожиданно повлияла на мои данные EEPROM. Чтобы понять, что я имею в виду, читайте дальше…

    Большинство встроенных систем, над которыми я работаю, содержат EEPROM. Одним из основных применений этой EEPROM является хранение информации о конфигурации/калибровке системы.В результате я часто храню данные в EEPROM в виде набора структур данных в фиксированных местах с промежутками между ними. Таким образом, моя карта EEPROM может выглядеть примерно так:

     #define CAL_DATA_LOCATION     0x0010
    #define CONFIG_DATA_LOCATION  0x0200
    ...
    #define SYSTEM_PARAMS_LOCATION  0x1000 
     структура typedef
    {
     uint32_t параметр1;
     uint16_t параметр2;
     ...
     uint8_t запасной[10];
    } КАЛИБРОВКА_ДАННЫХ; 
     __eeprom CALIBRATION_DATA Cal_Data @ CAL_DATA_LOCATION;
    __eeprom CONFIGURATION_DATA Config_Data @ CONFIG_DATA_LOCATION;
    ...
    __eeprom SYSTEM_DATA System_Data @ SYSTEM_PARAMS_LOCATION; 

    Как видите, я был достаточно умен, чтобы оставить пространство для роста внутри структуры с помощью массива Spare[]. (Я намеренно опустил поддержку, связанную с обнаружением коррупции, чтобы не усложнять проблему). В результате я думал, что все готово, если в какой-то момент обновление ПО заставит меня использовать больше параметров в данной структуре EEPROM. Что ж, я прожил в этом блаженном состоянии неведения несколько лет, пока реальный мир не вторгся довольно уродливым образом.Вот что произошло. Обновление прошивки не требовало от меня добавления каких-либо новых параметров в EEPROM само по себе, но требовало изменения типа данных некоторых параметров. Например, мой пример структуры CALIBRATION_DATA может измениться на это:

     структура typedef
    {
     float     param1;
     uint16_t параметр2;
     ...
     uint8_t   запасной[10];
    } КАЛИБРОВКА_ДАННЫХ; 

    Таким образом, param1 изменился с типа uint32_t на число с плавающей запятой. Таким образом, когда новый код запускался, он должен был прочитать param1 как uint32_t, а затем преобразовать его в тип с плавающей запятой и записать обратно в EEPROM.Это явно было довольно просто. Однако проблема возникла при следующем включении системы. Я понял, что без какой-либо логики я бы перечитал param1, обработал бы его как uint32_t (даже если это число с плавающей запятой), «конвертировал бы» его в число с плавающей запятой и записал бы обратно в EEPROM. Очевидно, мне нужен был какой-то способ сигнализировать о том, что я уже выполнил необходимое обновление. Размышляя над этой проблемой, я понял, что она еще сложнее. Обозначим две версии CALIBRATION_DATA как версию 1 и версию 2 соответственно.Кроме того, давайте предположим, что в версии 3 кода param1 заменяется на double (таким образом сдвигая все остальные параметры вниз и потребляя часть резервного распределения). т.е. выглядит так:

     структура typedef
    {
     двойной     парам1;
     uint16_t параметр2;
     ...
     uint8_t    запасной[6];
    } КАЛИБРОВКА_ДАННЫХ; 

    В этом случае мы должны иметь возможность не только выполнить обновление с версии 2 на версию 3, но и непосредственно с версии 1 на версию 3.(Конечно, вы можете потребовать, чтобы пользователи выполняли все обновления по порядку. Хотя я понимаю, что иногда это неизбежно, я подозреваю, что в большинстве случаев это происходит потому, что разработчик загнал себя в угол, который я здесь описываю).

    Как бы то ни было, обладая этим пониманием, я понял, что мне нужна универсальная система для маркировки структуры EEPROM версией программного обеспечения, которое ее создало, а также средство предоставления произвольных обновлений. Вот как я это делаю.

    Шаг 1.
    Сделайте первое местоположение каждой структуры EEPROM полем версии. Это поле версии содержит версию микропрограммы, которая создала структуру. Сделав его первым местом в структуре данных EEPROM, вы гарантируете, что всегда сможете прочитать его, независимо от того, что еще происходит со структурой. Таким образом, моя структура CALIBRATION_DATA теперь выглядит примерно так:

     структура typedef
    {
     версия uint16_t;
     uint32_t параметр1;
     uint16_t параметр2;
     ...
     uint8_t запасной[10];
    } КАЛИБРОВКА_ДАННЫХ; 

    Шаг 2.
    Добавьте код для обработки обновлений. Этот код должен быть вызван до использования каких-либо параметров из EEPROM. Код выглядит примерно так:

     недействительно eeprom_Update (пусто)
    {
    если (Cal_Data.version != SW_VERSION)
    {
     переключатель (Cal_Data.версия)
     {
      случай 0x100:
       /* Выполните необходимые шаги для обновления */
      перерыв; 
     случай 0x200:
       /* Выполните необходимые шаги для обновления */
      перерыв; 
     по умолчанию:
      перерыв; 
      Кал_Данные.версия = SW_VERSION; /* Обновить номер версии EEPROM */
     }
    } 

    Между прочим, я нахожу, что это часто один из тех случаев, когда прохождение операторов case действительно полезно. Конечно, это обычно запрещено, и в результате получается гораздо более неуклюжий код, чем требовалось бы в противном случае.

    Извинение
    Постоянные читатели, несомненно, заметили, что это мой первый пост за долгое время. Смертельная комбинация отпуска и срочных проектов с жесткими сроками сговорилась против меня, чтобы помешать мне вести блог в моем обычном темпе.

    Дом

    Теги: начальная загрузка, EEPROM

    Эта запись была размещена в четверг, 26 ноября 2009 г., в 8:08 утра и находится в разделе «Общие вопросы C». Вы можете следить за любыми ответами на эту запись через ленту RSS 2.0. Вы можете оставить отзыв или вернуться со своего сайта.

    Ошибка 404 - Страница не найдена

    Страна COUNTRYAfghanistanÅland IslandsAlbaniaAlgeriaAmerican SamoaAndorraAngolaAnguillaAntigua и BarbudaArgentinaArmeniaArubaAustraliaAustriaAzerbaijanBahamasBahrainBangladeshBarbadosBelarusBelgiumBelizeBeninBermudaBhutanBoliviaBosnia и HerzegovinaBotswanaBouvet IslandBrazilBritish Индийский океан TerritoryBruneiBulgariaBurkina FasoBurundiCambodiaCameroonCanadaCape VerdeCaribbean NetherlandsCayman IslandsChadChileChinaChristmas IslandCocos IslandsColombiaComorosCongo, Демократическая RepublicCook IslandsCosta RicaCroatiaCubaCuraçaoCyprusCzech RepublicDenmarkDjiboutiDominicaDominican RepublicEast TimorEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEthiopiaFalkland IslandsFaroe IslandsFijiFinlandFranceFrench GuianaFrench PolynesiaFrench Южный TerritoriesGabonGambiaGeorgiaGermanyGhanaGibraltarGreeceGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHondurasHong KongHungaryIcelandIndiaIndonesiaIranIraqIrelandIsle из ManIsraelItalyIvory CoastJamaicaJapanJerseyJordan KazakhstanKenyaKiribatiKosovoKuwaitKyrgyzstanLaosLatviaLebanonLesothoLiberiaLibyaLiechtensteinLithuaniaLuxembourgMacaoMacedoniaMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall IslandsMartiniqueMauritaniaMauritiusMayotteMexicoMicronesiaMoldovaMonacoMongoliaMontenegroMontserratMoroccoMozambiqueMyanmarNamibiaNauruNepalNetherlandsNew CaledoniaNew ZealandNicaraguaNigerNigeriaNiueNorfork IslandNorwayOmanPakistanPalauPalestinian TerritoryPanamaPapua Новый GuineaParaguayPeruPhilippinesPitcairn IslandPolandPortugalPuerto RicoQatarRepublic из CongoReunionRomaniaRussiaRwandaSaint HelenaSaint Киттс и NevisSaint LuciaSaint Пьер и MiquelonSaint Винсент и GrenadinesSamoaSan MarinoSao Томе и PrincipeSaudi ArabiaSenegalSerbiaSeychellesSierra LeoneSingaporeSint MaartenSlovakiaSloveniaSolomon IslandsSomaliaSouth AfricaSouth Грузии и Южные Сандвичевы IslandsSouth KoreaSouth SudanSpainSri LankaSudanSurinameSvalbard и Ян MayenSwazilandSwedenSwitzerlandSyriaTaiwanTajikistanTanzaniaThaila ндТогоТокелауТонгаТринидад и ТобагоТунисТурцияТуркменистанОстрова Теркс и КайкосТувалуУгандаУкраинаОбъединенные Арабские ЭмиратыВеликобританияСоединенные ШтатыОтдаленные малые острова СШАУругвайУзбекистанВануатуВатиканВенесуэлаВьетнамВиргинские острова, Британские Виргинские острова, СШАЗападная СахараЙеменЗамбияЗимбабве

    Загрузка кода прошивки в eeprom LCB

    Загрузка кода PROM

    1) Наведите инструмент Impact на systemBuildFilename.ipf , щелкнув правой кнопкой мыши пункт меню «Настроить целевое устройство»/«Свойства».

    2) Загрузите Impact и убедитесь, что устройства граничного сканирования имеют правильные ассоциации файлов, systemBuildFilename.mcs и systemBuildFilename.bit .

    3) Щелкните правой кнопкой мыши устройство xcf32p и выберите «Свойства программирования». Убедитесь, что установлены следующие флажки:

    • Проверить
    • Стереть все устройство
    • Параллельный режим
    • Во время настройки: PROM является ведомым

    Все остальные флажки должны быть сняты

    4) Щелкните правой кнопкой мыши устройство xcf32p, выберите «Загрузить версию конфигурации» и установите значение 0.

    5) Щелкните правой кнопкой мыши устройство xcf32p, выберите «Установить свойства стирания» и установите «Стереть все устройство».

    6) Щелкните правой кнопкой мыши устройство xcf32p и выберите «Программировать», чтобы запрограммировать устройство. Эта операция займет несколько минут.

    Создание файла MCS для программирования PROM

    Это процедура создания файла PROM MCS из файла BIT FPGA.

    1) В окне «Процессы» навигатора проекта Xilinx ISE щелкните «Настроить целевое устройство», а затем дважды щелкните «Создать целевой файл PROM/ACE».Это запустит инструмент Impact и отобразит страницу приветствия.

    2) Выберите «Подготовить файл PROM» и нажмите «Далее».

    3) Отображается новая страница для подготовки файлов PROM. Установите следующее:

    • Цель — щелкните переключатель «Xilinx PROM»
    • Формат файла PROM - щелкните переключатель «MCS»
    • Значение заполнения контрольной суммы — установлено значение FF
    • Имя файла PROM — введите имя файла, обычно systemBuildName_VerXXX .
    • Расположение
    • — перейдите в каталог, в котором находится файл BIT, обычно это каталог SystemBuild .

    Нажмите «Далее».

    4) Выберите страницу режима PROM - установите следующее:

    • Я использую Xilinx PROM в параллельном режиме .
    • Ширина шины данных для моего ПЛИС равна . То же, что и ширина данных для моего устройства PROM .

    Нажмите «Далее».

    5) Страница Specify Xilinx PROM Device - установите следующее:

    • Установите флажок Включить проверку.
    • Установите количество редакций равным 2.
    • Выберите PROM в раскрывающихся меню «xcfp» и «xcf32p [32M]» и нажмите «Добавить». В поле должны появиться позиция 0 и название детали xcf32p.

    Нажмите «Далее».

    6) Отображается итоговая информация о создании файла – нажмите «Готово».

    7) Запускается средство форматирования PROM-файлов и отображается всплывающее окно , чтобы начать добавление файла устройства в версию: 0 . Нажмите «ОК».

    8) Отображаются файлы в каталоге местоположения проекта. Выберите соответствующий BIT-файл и нажмите «ОТКРЫТЬ».

    9) Появится еще одно всплывающее окно Хотите добавить еще один файл дизайна в редакцию 0:? Нажмите НЕТ

    10) Появится другое всплывающее окно Начать добавление файла устройства в Ревизию:1 . Нажмите «ОК».

    11) Файлы в каталоге местоположения проекта снова отображаются. Выберите тот же файл BIT, что и в шаге 8, и нажмите «ОТКРЫТЬ».

    12) Появится еще одно всплывающее окно Хотите добавить еще один файл дизайна в версию 1:? Нажмите НЕТ.

    13) Появится другое всплывающее окно Вы завершили запись файла устройства - нажмите OK.

    14) На вкладке «Операции настройки» ISE Navigator дважды щелкните операцию Generate File . Это завершит процесс, и должно появиться всплывающее окно, указывающее, что он прошел успешно.

    Wire-List #50 – 3 шага к обновлению EEPROM вашего приемника может потребоваться обновление EEPROM.

    EEPROM означает электрически стираемое программируемое постоянное запоминающее устройство и представляет собой микросхему, встроенную в электронные устройства для хранения небольших объемов данных, позволяющую стирать и перепрограммировать отдельные байты. Микросхемы EEPROM в оборудовании Lectrosonics управляют работой USB-разъема. К счастью, обновление вашей EEPROM — это то, что вам редко, если вообще когда-либо, придется делать. Но если это все-таки необходимо сделать, сделайте это самостоятельно и сэкономите драгоценное время, так как вам не придется отправлять его нам.

     

    Вы можете получить файл обновления (EEPROMUPDATER.zip), обратившись к нам. Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. Вас попросят предоставить некоторую информацию, чтобы убедиться, что проблема, скорее всего, связана с EEPROM. Обратите внимание, что средство обновления предназначено только для компьютеров Windows или компьютеров Mac, на которых работает среда Windows, например Bootcamp. Процесс обновления прост:

    1. Разархивируйте файл Updater и сохраните полученный файл .EXE на свой компьютер.
    2. С помощью USB подключите устройство для обновления к компьютеру.
    3. Дважды щелкните и запустите файл обновления. Он должен распознавать подключенное устройство, отображая подключенное устройство (имя устройства, серийный номер и тип устройства), а также указывая, что FT-230 (микросхема EEPROM) действительна.

    0 comments on “Прошивка eeprom: ПЕРЕПРОШИВКА FLASH И EEPROM

    Добавить комментарий

    Ваш адрес email не будет опубликован.