Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> boot sectors, nor flash 
:(
    Опции темы
slater
Дата 27.3.2011, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: нет
Всего: -4



столкнулся вот с таким непонятным для меня вопросом.

для простоты возьмем, например, 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 я не нашел
PM MAIL   Вверх
xvr
Дата 29.3.2011, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



BOOT сектора при операциях записи и стирания будут отличаться от остальных. Отличия могут быть самыми разными - это может быть меньшая гранулярность для стирания и/или отдельная защита от стирания/записи.
По чтению они от остальных секторов FLASH не отличаются (да и при чтении FLASH сектора игнорирует вообще)

Цитата(slater @  27.3.2011,  18:56 Найти цитируемый пост)
если же на примере процессора использую BOTTOM или UNIFORM флеш - процессор нормально извлекает код и данные при старте. А вот если использовать флеш типа TOP - то ничего процессор извлечь не может.
А вот это странно, не должно такого быть.


PM MAIL   Вверх
slater
Дата 29.3.2011, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: нет
Всего: -4



xvr, спасибо за ответ.

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

а вот факт, не грузит процессор код с топ флешки
PM MAIL   Вверх
xvr
Дата 29.3.2011, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(slater @  29.3.2011,  19:21 Найти цитируемый пост)
где бы подробнее изучить вопрос про бут сектора?

В DS на микросхему

Цитата(slater @  29.3.2011,  19:21 Найти цитируемый пост)
В чем суть деления? процессор что быстрее будет данные извлекать?!
Нет конечно. Суть в том, что бы защитить (аппаратно) бут блок (откуда процессор стартует) от случайных модификаций. Т.к. они могут привести весь девайс в нерабочее состояние, откуда его без специального программатора уже не вывести


PM MAIL   Вверх
slater
Дата 29.3.2011, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: нет
Всего: -4



в DS ничего сосбенного нет.

может быть, кстати Вы и правы, процессор во время работы не сможет изменить данные в бут(завтра попробую без дополнительных защит этих секторов изменить данные при старте)
PM MAIL   Вверх
xvr
Дата 30.3.2011, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(slater @  29.3.2011,  19:32 Найти цитируемый пост)
в DS ничего сосбенного нет.
Насколько я успел глянуть в DS, там приведены алгоритмы локов (и стираний секторов), это собственно и имеет отношение к boot секторам

PM MAIL   Вверх
slater
Дата 30.3.2011, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: нет
Всего: -4



это имеет отношение к ЛЮБЫМ секторам, внимательнее
PM MAIL   Вверх
xvr
Дата 31.3.2011, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(slater @ 30.3.2011,  21:15)
это имеет отношение к ЛЮБЫМ секторам, внимательнее

Угу, но и boot сектора в принципе мало (или вообще) не отличаются от всех остальных секторов. У них специфическая нарезка и расположение. Может быть (или не быть) какая то специфическая защита. То, что они названы 'boot' отражает ил логическое предназначение (в основном для компьютерной системы, где применяется данная FLASH), с точки зрения физики (и логики) самой м/сх FLASH'а они могут вообще не отличаться от остальных секторов

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0674 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.