-
- Кирпич можно сделать только программатором, первоначально прошивая загрузчик и фузы. А сбой (пропадание питания, например) при самопрограммировании - получаем обратно камень с загрузчиком. У меня когда-то бутлодырь так и ругался, двумя разными vpv.vpv(152 знак., 02.03.2017 10:45)
- Ниче подобного.Загрузчик обязан жить в первом блоке и никогда не изменяться.У правильных пацанов. - PlainUser(02.03.2017 10:12)
- а у неправильных он живет в последнем блоке и называется не бутлодер, а обновлялщик и вызывается из основной программы когда нужно обновиться. И живет он в одном проекте с основной прогой и билдится в один хех. Да, и он тоже устойчив к сбоям и abivan(70 знак., 02.03.2017 10:41)
- И как обновляльщик обновит то место программы, откуда запускается обновляльщик? Как не обновит, кто вызовет обновляльщика?! - maik-vs(02.03.2017 12:30)
- Обновляльщик прошивается аппаратным внешним программатором. В специальную верхнюю область памяти, которая огораживается соответствующими лок-битами от любых посягательств со стороны любых внутренних программ. Все, он нестираем и неперепрошиваем, vpv.vpv(599 знак., 02.03.2017 14:02)
- обновляльщик, как и бутлодер необновляем. при вызове ф-и Updater() первое, что делается это записывается call(goto) на Updater() в 4-й адрес(его компилятор оставляет 0xff) и забивается нулями(nop) первые 4 адреса. Теперь у нас обновляльщик abivan(27 знак., 02.03.2017 12:55)
- У меня это был отдельный проект. Который прошивался с адреса 0х1Е000 (Мега128). После прошивки он сразу ругался "камень пустой". а другие разнообразные проекты компилились как обычно, с адреса 0х0000, и становились прошивками. - vpv.vpv(02.03.2017 10:50)
- И как обновляльщик обновит то место программы, откуда запускается обновляльщик? Как не обновит, кто вызовет обновляльщика?! - maik-vs(02.03.2017 12:30)
- Да, я неверно выразился. Не совсем кирпич, а кирпич с загрузчиком. Кому-то это подойдёт, кому-то - нет. Я предпочитаю вот такую схему --> - SciFi(02.03.2017 10:32, ссылка)
- а у неправильных он живет в последнем блоке и называется не бутлодер, а обновлялщик и вызывается из основной программы когда нужно обновиться. И живет он в одном проекте с основной прогой и билдится в один хех. Да, и он тоже устойчив к сбоям и abivan(70 знак., 02.03.2017 10:41)