|
Загрузка i.MX6D с uSD, на примере Wandboard |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Jan 25 2016, 15:21
|

Brubel
  
Группа: Свой
Сообщений: 321
Регистрация: 17-11-06
Из: Oudergem
Пользователь №: 22 444

|
Если вы имеете ввиду аппаратные вещи, то в этом процессоре можно выбирать откдуа грузится, то это выбирается значением на контатктах во время загрузки процессора. Есть два контакта BOOT[1:0] которые отвечают за выбор, того откуда идёт выбор загрузочного устройства - из внутренних электрических прожиагемых "предохранителей", SERIAL или задается отдельной группой контактов на плате. Мы на своей плате делали надписи на слое шелкографии, что за что отвечает.
По отличию запуска процессоров у Freescale/NXP был документ по правильному подключению питания процессоров. И Для Q и D есть отличия в схеме питания. Но в графе для iomux tool указано что регистры настройков выводов для Q и D идентичны. Правда сборкой проекта загрузчика я не занимался и подводных камней не знаю.
|
|
|
|
|
Jan 27 2016, 10:03
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(AVR @ Jan 25 2016, 22:29)  Неужели просто разъем USB-OTG сделать на плате и оно будет грузить с USB-флэшки, у которой первый раздел FAT32 с загрузчиком? На счет всяких бордов незнаю, но этот проц грузится только со специально подготовленной сд-карты или нанд-флеша. Никаких ФАТ16\32 , ЕХТ и пр. не будет грузиться, если есть такие функции где-то, то только если сначала грузится бут с поддержкой ФС и потом... СД-карту можно подготовить программой cfimager Цитата(_3m @ Jan 26 2016, 09:23)  Через USB-OTG с флэшки грузиться не будет. Будет коннектиться с Mfgtool Mfgtool - просто заливает бинарник в память и запускает его. Дальше все зависит от того, что заливает, как правило, убут загружает специальный линукс, который уже прошивает нанд или сд-карту. Цитата(AVR @ Jan 25 2016, 22:29)  достаточно например запаять uSD разъем и USB-OTG и новый с завода проц будет загружаться без каких-либо проблем... Если нужный софт подготовлен, то этих разъемов достаточно, хотя лучще еще вывести уарт1 для отладки, если что-то пошло не так
|
|
|
|
|
Jan 27 2016, 10:39
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

|
Цитата(mantech @ Jan 27 2016, 13:03)  На счет всяких бордов незнаю, но этот проц грузится только со специально подготовленной сд-карты или нанд-флеша. Никаких ФАТ16\32 , ЕХТ и пр. не будет грузиться, если есть такие функции где-то, то только если сначала грузится бут с поддержкой ФС и потом... СД-карту можно подготовить программой cfimager Ага! Я так и знал что не всё так просто. Спасибо за комментарий! Цитата(mantech @ Jan 27 2016, 13:03)  Mfgtool - просто заливает бинарник в память и запускает его. Дальше все зависит от того, что заливает, как правило, убут загружает специальный линукс, который уже прошивает нанд или сд-карту. Если нужный софт подготовлен, то этих разъемов достаточно, хотя лучще еще вывести уарт1 для отладки, если что-то пошло не так  В общем, USB-OTG ставлю в обязательном порядке, UART - это святое и будет в первую очередь  Буду максимально внимателен со всеми этими выводами и загрузочными битами!
--------------------
|
|
|
|
|
Jan 27 2016, 12:48
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(AVR @ Jan 25 2016, 20:29)  В принципе, я уже понял ответы, тему можно закрыть, всё выяснил. Как ТопикСтартеру Вам флаг в руки, но мне до сих пор не ясно, КАКАЯ и ОТКУДА исполняется программа загрузчика, понимающая, что такое SDIO интерфейс, как читать SD карты, и какой именно файл/образ нужно оттуда прочесть и запустить.
|
|
|
|
|
Jan 29 2016, 18:26
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(AVR @ Jan 29 2016, 18:09)  Спасибо за информацию, для меня это критически важный момент. В принципе я был в курсе, но решил перестраховаться и еще раз убедиться в этой информации, я знаю на этом форуме есть те кто реально делал свои платы на базе iMX6. Еще не забудте про пару моментов: 1) Выбор загрузки идет через программирование фьюзов или резюки на порту EIM. Если не хотите связываться с однократно программируемыми фьюзами, на плате заложите эти резюки. 2) потребляемый ток от батарейки часов от 40 до 80мкА !!! Сначала не учел это - батарейки разряжались за 2 месяца
|
|
|
|
|
Feb 1 2016, 16:17
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

|
Цитата(Kaligooola @ Jan 25 2016, 18:21)  Есть два контакта BOOT[1:0] которые отвечают за выбор, того откуда идёт выбор загрузочного устройства - из внутренних электрических прожиагемых "предохранителей", SERIAL или задается отдельной группой контактов на плате. Мы на своей плате делали надписи на слое шелкографии, что за что отвечает.
Про выводы BOOT_MODE[1:0] я понял - туда первым делом джамперы. Однако про SW1 Boot не совсем понял - где про это в документации? Допустим я ставлю BOOT_MODE[1:0] = 01 - загрузка от USB-OTG (на ПК появится виртуальный COM-порт???) а если BOOT_MODE[1:0] = 10 - то что? По умолчанию с завода идет eFuse с BT_FUSE_SEL=0 и таким образом все настройки берутся опираясь на то как выбраны "GPIO overrides" (это 32 вывода)? Вопросы: 1) На Вашей схеме SW1 Boot это 8 выводов хотя полный набор 32 бит. Почему? Из какой части документации эти SW1 Boot взяты? 2) Я вижу что в Wandboard в схеме wb-edm-imx6-rev-c1.pdf есть пример "Boot Config Select" и там 32 линии подключены! Однако в документации IMX6SDLRM.pdf в Table 8-3. GPIO Override Contact Assignments задействованы ну вообще другие выводы нежели в Wandboard. Например EIM_DA0 это BOOT_CFG1[0], а в Wandboard вообще EIM_DA0 не используется зато другие задействованы. Меня это очень напрягает. Я могу повторить схему как мартышка без понимания, но хотел бы понять  3) То что эти настроечные "GPIO overrides" сидят на тех же линиях что и память меня беспокоит - их надо стараться сделать как можно короче? Или одинаковыми по длине?
--------------------
|
|
|
|
|
Feb 3 2016, 18:50
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(AVR @ Feb 1 2016, 19:17)  выбраны "GPIO overrides" (это 32 вывода)? Нет. Это EIM_DA0 - DA15. Какую память вы туда подключаете?? Для DDR используются другие ноги. Цитата(AVR @ Feb 1 2016, 19:17)  Про выводы BOOT_MODE[1:0] я понял - туда первым делом джамперы. Зачем тут джамперы, если предполагается загрузка только с усб или сд-карты?? boot0 садим на землю, boot1 через резюк 10к на 3В или к SNVS. Последнее как-бы по даташиту, но добавляет потребление по линии часовой батарейки, я соединял с 3В работает не хуже, а батарейку жрет меньше  Цитата(AVR @ Feb 1 2016, 19:17)  а если BOOT_MODE[1:0] = 10 - то что? Это как раз то, что я использую. Первичная загрузка с усб, если нет - с первого бут-устройства(SD1). Линии EIM: 6,7,9,13-VCC(3V) 3,4,5,7,8,10,11,12,14,15 - GND через резюки 10к. Остальные не подключены никуда. Цитата(AVR @ Jan 24 2016, 20:28)  Например Wandboard загружается с uSD карточки у которой простая msdos таблица разделов, а на первом разделе тупо FAT32 и лежит загрузчик. Но это плата Wandboard. Ну и мой вопрос, так сказать, "о птичках". Я так понял, что фриску используете под линуксом, почему именно этот проц? Ведь для линуксовых систем есть более продвинутые и дешевые процы, например А20 и т.д. от аллвиннера?? Периферии там даже больше, чем в МХ6...
Сообщение отредактировал mantech - Feb 3 2016, 18:50
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|