|
|
  |
MSEL/BSEL в Cyclone 5 SoC |
|
|
|
Nov 30 2017, 01:27
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 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?
Спасибо!
ИИВ
|
|
|
|
|
Nov 30 2017, 08:16
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 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 если плата для отладки, то есть смысл заложить блок выключателей и обвесить резисторами..
|
|
|
|
|
Nov 30 2017, 11:06
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Спасибо, Jury093!!! Цитата(Jury093 @ Nov 30 2017, 14:16)  да, строго на gnd если плата для отладки, то есть смысл заложить блок выключателей и обвесить резисторами.. да, как раз места очень мало и хотелось бы явно все прошить, а не ставить резисторы, а, тем более, что блоки переключателей. А так как до этого такие платы не разводил, боюсь сделать ошибку, поэтому и спрашиваю. Цитата(Jury093 @ Nov 30 2017, 14:16)  всё, что можно сделать, положить в 0-й блок загрузчик, который будет тащить загрузчик со 2-ого блока и тыды - зачем, не знаю, но условие выполнены скажите, пожалуйста, правильно ли я понимаю, что если я эту SD карту больше нигде не планирую использовать и вынимать только для загрузки нового варианта линукса и прошивки, то можно и в MBR положить?
|
|
|
|
|
Nov 30 2017, 12:33
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(iiv @ Nov 30 2017, 14:06)  скажите, пожалуйста, правильно ли я понимаю, что если я эту SD карту больше нигде не планирую использовать и вынимать только для загрузки нового варианта линукса и прошивки, то можно и в MBR положить? не знаю, что вы там собираетесь раскладывать, но стандартный путь такой - нарезаете разделы - накидываете загрузчики - форматируете раздел, на который разворачиваете рутовую с ядром и модулями.. вот статья для полного понимания от des333 https://habrahabr.ru/company/metrotek/blog/235707/процесс нарезки uSD описан там в "Создание SD-карты"
|
|
|
|
|
Nov 30 2017, 13:25
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Цитата(Jury093 @ Nov 30 2017, 18:33)  не знаю, что вы там собираетесь раскладывать, но стандартный путь такой ... вот статья для полного понимания от des333 так я именно по этому пути и собирался идти и это и понятно, но мое непонимание лежит именно в разводке ибо я сам плату с таким SoCом сейчас пытаюсь развести. И для этой разводки спрашивал, чтобы убедиться верно ли что если я выставлю BOOTSEL=101, MSEL=00000 и CLKSEL=00, то все будет именно так, как в статье des333. Просто сами переключатели или даже перемычки-резисторы 0402 для всех BOOTSEL, MSEL и CLKSEL у меня на плату из-за их размеров не помещаются, поэтому хочу наверняка их правильно соединить, чтобы место на плате сэкономить.
|
|
|
|
|
Nov 30 2017, 14:40
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 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, а вывести в доступное место. чтобы при фатальной ошибке можно было бы порезать медь..
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|