Перейти к содержанию
    

MSEL/BSEL в Cyclone 5 SoC

Доброе утро,

 

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

 

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

 

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

 

Спасибо!

 

ИИВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочу, чтобы у 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

если плата для отладки, то есть смысл заложить блок выключателей и обвесить резисторами..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

да, строго на gnd

если плата для отладки, то есть смысл заложить блок выключателей и обвесить резисторами..

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

 

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

скажите, пожалуйста, правильно ли я понимаю, что если я эту SD карту больше нигде не планирую использовать и вынимать только для загрузки нового варианта линукса и прошивки, то можно и в MBR положить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скажите, пожалуйста, правильно ли я понимаю, что если я эту SD карту больше нигде не планирую использовать и вынимать только для загрузки нового варианта линукса и прошивки, то можно и в MBR положить?

не знаю, что вы там собираетесь раскладывать, но стандартный путь такой

- нарезаете разделы

- накидываете загрузчики

- форматируете раздел, на который разворачиваете рутовую с ядром и модулями..

вот статья для полного понимания от des333

https://habrahabr.ru/company/metrotek/blog/235707/

процесс нарезки uSD описан там в "Создание SD-карты"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не знаю, что вы там собираетесь раскладывать, но стандартный путь такой

...

вот статья для полного понимания от des333

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так я именно по этому пути и собирался идти и это и понятно, но мое непонимание лежит именно в разводке ибо я сам плату с таким 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, а вывести в доступное место. чтобы при фатальной ошибке можно было бы порезать медь..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...