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

 
 
 
Reply to this topicStart new topic
> MSEL/BSEL в Cyclone 5 SoC
iiv
сообщение Nov 30 2017, 01:27
Сообщение #1


вопрошающий
*****

Группа: Свой
Сообщений: 1 631
Регистрация: 24-01-11
Пользователь №: 62 436



Доброе утро,

запутался, пожалуйста, подскажите.

Хочу, чтобы у Cyclone 5 SoC всегда при подаче питания грузил линукс в HPS из 2-го блока с SDCARD (вначале убут, и потом сам линукс), а FPGAшная часть всегда грузилась только из линукса копированием в /dev/fpga0 и чтобы не было ни jtaga ни еще чего на плате.

Скажите, пожалуйста, правильно ли я понимаю, что мне надобно выставить в этом случае MSEL=00000, BSEL=101, но никак не могу понять где указывается, что грузиться надо не с 0-гого блока (MBR) а со второго, пожалуйста, подскажите? И скажите, пожалуйста, правильно ли я понимаю, что если, например, BSEL[1]=0, то это означает, что BSEL1 надо воткнуть в GND?

Спасибо!

ИИВ
Go to the top of the page
 
+Quote Post
Jury093
сообщение Nov 30 2017, 08:16
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(iiv @ Nov 30 2017, 04:27) *
Хочу, чтобы у Cyclone 5 SoC всегда при подаче питания грузил линукс в HPS из 2-го блока с SDCARD (вначале убут, и потом сам линукс), а FPGAшная часть всегда грузилась только из линукса копированием в /dev/fpga0 и чтобы не было ни jtaga ни еще чего на плате.

в нестираемом начальном загрузчике прописаны такие параметры и их изменить невозможно:
Код
The SD/MMC controller supports two booting modes:
• MBR (partition) mode
• The boot image is read from a custom partition (0xA2)
• The first image is located at the beginning of the partition, at offset 0x0
• Start address = partition start address
• Raw mode
• If the MBR signature is not found, SD/MMC driver assumes it is in raw mode.
• The boot image data is read directly from sectors in the user area and is located at the first sector of
the SD/MMC.
• The first image is located at the start of the memory card, at offset 0
• Start address = 0


всё, что можно сделать, положить в 0-й блок загрузчик, который будет тащить загрузчик со 2-ого блока и тыды - зачем, не знаю, но условие выполнены

Цитата
И скажите, пожалуйста, правильно ли я понимаю, что если, например, BSEL[1]=0, то это означает, что BSEL1 надо воткнуть в GND?

да, строго на gnd
если плата для отладки, то есть смысл заложить блок выключателей и обвесить резисторами..
Go to the top of the page
 
+Quote Post
iiv
сообщение Nov 30 2017, 11:06
Сообщение #3


вопрошающий
*****

Группа: Свой
Сообщений: 1 631
Регистрация: 24-01-11
Пользователь №: 62 436



Спасибо, Jury093!!!

Цитата(Jury093 @ Nov 30 2017, 14:16) *
да, строго на gnd
если плата для отладки, то есть смысл заложить блок выключателей и обвесить резисторами..

да, как раз места очень мало и хотелось бы явно все прошить, а не ставить резисторы, а, тем более, что блоки переключателей. А так как до этого такие платы не разводил, боюсь сделать ошибку, поэтому и спрашиваю.

Цитата(Jury093 @ Nov 30 2017, 14:16) *
всё, что можно сделать, положить в 0-й блок загрузчик, который будет тащить загрузчик со 2-ого блока и тыды - зачем, не знаю, но условие выполнены

скажите, пожалуйста, правильно ли я понимаю, что если я эту SD карту больше нигде не планирую использовать и вынимать только для загрузки нового варианта линукса и прошивки, то можно и в MBR положить?
Go to the top of the page
 
+Quote Post
Jury093
сообщение Nov 30 2017, 12:33
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(iiv @ Nov 30 2017, 14:06) *
скажите, пожалуйста, правильно ли я понимаю, что если я эту SD карту больше нигде не планирую использовать и вынимать только для загрузки нового варианта линукса и прошивки, то можно и в MBR положить?

не знаю, что вы там собираетесь раскладывать, но стандартный путь такой
- нарезаете разделы
- накидываете загрузчики
- форматируете раздел, на который разворачиваете рутовую с ядром и модулями..
вот статья для полного понимания от des333
https://habrahabr.ru/company/metrotek/blog/235707/
процесс нарезки uSD описан там в "Создание SD-карты"
Go to the top of the page
 
+Quote Post
iiv
сообщение Nov 30 2017, 13:25
Сообщение #5


вопрошающий
*****

Группа: Свой
Сообщений: 1 631
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(Jury093 @ Nov 30 2017, 18:33) *
не знаю, что вы там собираетесь раскладывать, но стандартный путь такой
...
вот статья для полного понимания от des333

так я именно по этому пути и собирался идти и это и понятно, но мое непонимание лежит именно в разводке ибо я сам плату с таким SoCом сейчас пытаюсь развести. И для этой разводки спрашивал, чтобы убедиться верно ли что если я выставлю BOOTSEL=101, MSEL=00000 и CLKSEL=00, то все будет именно так, как в статье des333.

Просто сами переключатели или даже перемычки-резисторы 0402 для всех BOOTSEL, MSEL и CLKSEL у меня на плату из-за их размеров не помещаются, поэтому хочу наверняка их правильно соединить, чтобы место на плате сэкономить.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Nov 30 2017, 14:40
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(iiv @ Nov 30 2017, 16:25) *
так я именно по этому пути и собирался идти и это и понятно, но мое непонимание лежит именно в разводке ибо я сам плату с таким SoCом сейчас пытаюсь развести. И для этой разводки спрашивал, чтобы убедиться верно ли что если я выставлю BOOTSEL=101, MSEL=00000 и CLKSEL=00, то все будет именно так, как в статье des333.

если ваше железо совпадает с тем, что в статье, то вполне все будет работать..
по настройкам, открываете даташит на свой камень и ищете таблицы с конфигурациями, например для BSEL page 3477 "Boot select"
0x5 3.3 V SD/MMC flash memory with internal transceiver
т.е. ваши 101 правильные для загрузки с uSD/SD с питанием 3v3
оставшиеся msel и clksel выставляете аналогично в соответствие с вашими желаниями, согласно тому же даташиту

Цитата
Просто сами переключатели или даже перемычки-резисторы 0402 для всех BOOTSEL, MSEL и CLKSEL у меня на плату из-за их размеров не помещаются, поэтому хочу наверняка их правильно соединить, чтобы место на плате сэкономить.

не обязательно выкладывать шеренгу резисторов - если монтаж плотный, то можно поискать свободные участки на pcb, куда завести критичные для конфигурации системы сигналы. и по любому, не хоронить под BGA сигналы притянутые к gnd, а вывести в доступное место. чтобы при фатальной ошибке можно было бы порезать медь..
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 12th December 2017 - 21:34
Рейтинг@Mail.ru


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