реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Всякие буты..., помогите разобраться
TigerSHARC
сообщение Aug 30 2010, 15:03
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Здравствуйте.
Помогите разобраться, что такое Bootsrtap и U-boot и какой загрузчик что инициализирует....

Возможно где-то написано про все эти буты?
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение Aug 30 2010, 20:25
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Вот кратко про bootstrap.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Aug 31 2010, 04:31
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Это разного уровня бутлоадеры. Суть в том, что флэш и озу на армах часто ставят внешние и их надо запускать, а загружать прошивку хочется с разных устройств и даже из сети. Поэтому есть загрузчик самого нижнего уровня под названием Boot Rom. Этот загрузчик позволяет загружать программы размером не более встроенной озу, поэтому им загружают Bootstrap. Bootstrap инициализирует внешнюю память и грузит U-Boot. U-Boot это уже полноразмерный загрузчик, позволяющий загружать что угодно откуда угодно. Как правило U-Boot используется для всяких линуксов. Если линуксов не планируется, то можно остановится на Bootstrap.
Да, Bootstrap и U-Boot требуют перекомпиляции под свою периферию.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Sep 1 2010, 19:19
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



У меня плата от starterkit SK-MAT91SAM9260. Правильно ли я понял, что bootstrap инициализирует всю внешнюю память (включая sdram) и ещё последовательный порт и USB-порт?

Я удалил из DataFlash предустановленый Linux. Если разомкнуть перемычку соединяющую DataFlash с контроллером, то в терминале (через COM-порт) можно увидеть надпись

RomBOOT
>

что, по всей видимости означает, что загрузчик первого уровня (bootstrap) не нашёл ничего во внешних носителях для загрузки.

Вопрос: откуда грузиться bootstrap, если известно (или это всё таки не так?), что встренная ПЗУ у контроллера отсутствует, а перемычка, соединяющая DataFlash и контроллер разомкнута?
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение Sep 1 2010, 19:42
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Цитата(TigerSHARC @ Sep 1 2010, 23:19) *
Вопрос: откуда грузиться bootstrap, если известно (или это всё таки не так?), что встренная ПЗУ у контроллера отсутствует?

Разве? smile.gif
Цитата(из мануала на AT91SAM9260)
• Additional Embedded Memories
One 32 KByte Internal ROM, Single-cycle Access At Maximum Matrix Speed
– Two 4 KByte Internal SRAM, Single-cycle Access At Maximum Matrix Speed

... это на первой странице мануала написано, обзор.

Еще почитайте раздел "8.1 Embedded Memories".
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Sep 2 2010, 05:16
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Точнее из этой ROM грузится только RomBOOT, о чём и написано в терминале. Bootstrap вместе с U-Boot и линуксом был благополучно стёр со флэшки.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Sep 2 2010, 06:11
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Спасибо.

Правильно ли я понял что RomBOOT инициализирует последовательный порт и USB? Почитать бы где какой загрузчик (bootstrap, u-boot, RomBOOT... и т.д.) и что инициализирует и загружает....
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Sep 2 2010, 08:19
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Да, RomBOOT инициализирует последовательный порт и USB, посколько он именно через них заливает код в процессор. Однако гарантировать, что эти порты будут инициализированы при запуске уже зашитого софта я бы не рискнул.
По поводу того, какой из загрузчиков что инициализирует, ссылку уже давали выше. Кроме того, можно просто посмотреть исходники - там всё ясно и наглядно. В любом случае их придётся пересобирать под себя.
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение Sep 2 2010, 10:31
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Цитата(TigerSHARC @ Sep 2 2010, 10:11) *
Правильно ли я понял что RomBOOT инициализирует последовательный порт и USB? Почитать бы где какой загрузчик (bootstrap, u-boot, RomBOOT... и т.д.) и что инициализирует и загружает....

Описание первичного загрузчика (RomBOOT) приводится в разделе "13. AT91SAM9260 Boot Program". Между прочим ради интереса почитайте еще раздел "Errata" - и в RomBoot-е баги имеются.
Ежели Вам лень прочитать... RomBOOT ищет пользовательскую программу (по определенным критериям - читайте) в такой последовательности - SPI DataFlash по CS0, SPI DataFlash по CS1, NAND Flash (читаем Errata!). Если пользовательская программа найдена, то копируются первые X байт во внутреннюю SRAM (как определяется число Х - читайте мануал). В этих Х байтах должна быть Ваша программа. Или, в частном случае, Ваш загрузчик. На момент запуска Вашего загрузчика в микроконтроллере нифига ничего не ининциализированно - ни SDRAM, ни USB, ни DBGU...
Вот если RomBOOT пользовательской программы не нашел - тогда он запускает USB, DBGU и, собсно, ждет коннекта с Самбой для записи ПО на носители, подключенные к микроконтроллеру.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Sep 2 2010, 12:36
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Просто интересно:

на странице 75 мануала сказано, что начальный загрузчик сначала инициализирует последовательный порт и USB-порт.

Тогда выходит, что с этими портами можно работать сразу (не инициализируя их в приложении), отправляя/принимая данные?

Сообщение отредактировал TigerSHARC - Sep 2 2010, 12:37
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Sep 2 2010, 13:41
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



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


Сообщение отредактировал DpInRock - Sep 2 2010, 13:50


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Sep 2 2010, 17:04
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Скажите, а какие действия выполняет U-Boot?
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Sep 3 2010, 08:11
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Любые.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01423 секунд с 7
ELECTRONIX ©2004-2016