Alex14435, ты знаешь что такое бутлоадер? Это маленькая прога которая пишется во флеху и тем самым даёт доступ к её содержимому. В качестве примера можно взять сотовые телефоны. Вот аналагичную фичу можно применить и в нэках.
Boryan добавил 05-11-2010 в 01-20
Зы флешка одна. Структура написания программ для микроконтроллеров такова. В начале как правило текстовая инфа..Типа кто и когда писал прогу, какой контроллер, назначение проги, назначение портов...и т.д и уж дальше идёт сама прога. Но это описание занимает какой то объём памяти. И есно его нужно выделить в памяти контроллера. При старте контроллера он начинает читать свою флеху с нулевого адреса и далее последовательно читая её содержимое ...выполнять прогу которая находится во флешке. Но нам нужно куда то поместить наше описание и так что бы оно не мешало. Для этого существует общее правило. В нулевом адресе пришется адрес куда нужно перескочить. Например пишем 0х100....и соответсвенно при старте контроллера он увидит в самом начале что ему нужно перепрыгнуть на 0х100 адрес и он это незамедлительно сделает пропустив при этом около 100 байт. И в итоге в нашем распоряжении есть около 100 байт для резерва и засовывания туда нашего описания. Иными словами есть область памяти которая ни как не влияет на работу контроллера. Вот в неё и пишется бутлоадер с самого нулевого адреса...ну что бы он сразу стартовал.
Boryan добавил 05-11-2010 в 01-37
Возможен и более плохой вариант...прога начинается с нулевого адреса без всяких там описаний и резервных байт. Тогда как и в первом варианте пишем наш бутлоадер и читаем флеху. Если наш бутлоадер хорошо оптимизирован и занимает меньше 256 байт..то мы потеряем от исходной прошивки всего 1 блок=256 байт. Думаю это не смертельно. А если он занимает например 256х3...то есть три блока, то мы уже потеряем прилично от исходной прошивки. В этом случае нам потребуется второй аналогичный чип. В первый блок. в нулевой адрес мы пришем адрес перехода в чистое место флешки ..который мы узнали из первого дампа...и в этот адрес пишем наш бутлоадер....читаем флеху и в итоге теряем 256 байт как и в случае с оптимизированным бутлоадером. Потеря 256 байт в этом случае неизбежна.
Последний раз редактировалось Boryan; 05.11.2010 в 13:37.
Причина: добавил, подумав
|