| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > boot sectors, nor flash |
| Автор: slater 27.3.2011, 18:56 |
| столкнулся вот с таким непонятным для меня вопросом. для простоты возьмем, например, flash mx29gl640e t/b (datasheet можно скачать в сети). суть вопроса вот в чем: предположим, процессор(не принципиально какой) после hard reset(после подачи питания и сигнала на reset pin) выполняет инструкции со строго определенного адреса. Как правило, с 0x000000000. Допустим, первые 8 МБ адресного пространства процессора я размаппил на вышеуказанную флеш. Заливаем бинарник и ...все вроде бы отлично. НО, не всегда. Проблема вот в чем: есть nor флеш с секторами нескольких типов: 1) uniform сектора, когда вся флеш "разбита" на сектора одинакового размера(на примере вышеуказанной флеш все сектора занимают 64 КБ) 2) boot sectors, как правило, разбивается первый или последний сектор на число, кратное двум (на примере вышеуказанной флеш первый сектор разбит на 8 мелких секторов(которые зовутся boot sectors) по 8 кб). Соответственно, различают TOP и BOTTOM флеш. так вот все к чему я это описал, если же на примере процессора использую BOTTOM или UNIFORM флеш - процессор нормально извлекает код и данные при старте. А вот если использовать флеш типа TOP - то ничего процессор извлечь не может. Собственно, для чего нужны TOP boot sectors и в чем физика зарыта этих boot sectors? если кто знает - большая просьба отписаться, никакой информации на счет boot sectors я не нашел |
| Автор: slater 29.3.2011, 19:21 |
| xvr, спасибо за ответ. где бы подробнее изучить вопрос про бут сектора? по сути, защита(пользовательская, как просто тротект сектора, так и с паролем) одинаково можно предусмотреть для любого сектора, в том числе и для бут. как я понимаю, есть такое понятие как типа фабрик протект, типа фабричной защиты навсегда какого либо сектора(как правило, первого или последнего). а вот как раз первый или последний сектор делится на несколько секторов, как раз которые и называются бут. В чем суть деления? процессор что быстрее будет данные извлекать?! ну это врядли, в чем то другом физика зарыта. а вот факт, не грузит процессор код с топ флешки |
| Автор: xvr 29.3.2011, 19:27 | ||
В DS на микросхему
|
| Автор: slater 29.3.2011, 19:32 |
| в DS ничего сосбенного нет. может быть, кстати Вы и правы, процессор во время работы не сможет изменить данные в бут(завтра попробую без дополнительных защит этих секторов изменить данные при старте) |
| Автор: xvr 30.3.2011, 11:13 |
| Насколько я успел глянуть в DS, там приведены алгоритмы локов (и стираний секторов), это собственно и имеет отношение к boot секторам |
| Автор: slater 30.3.2011, 21:15 |
| это имеет отношение к ЛЮБЫМ секторам, внимательнее |
| Автор: xvr 31.3.2011, 12:16 | ||
Угу, но и boot сектора в принципе мало (или вообще) не отличаются от всех остальных секторов. У них специфическая нарезка и расположение. Может быть (или не быть) какая то специфическая защита. То, что они названы 'boot' отражает ил логическое предназначение (в основном для компьютерной системы, где применяется данная FLASH), с точки зрения физики (и логики) самой м/сх FLASH'а они могут вообще не отличаться от остальных секторов |