Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Процессорные модули » SK-iMX6S-OEM(-WiFi)
Не распознаёт SD карту при загрузке.
VB
Добавлено 20.02.2017 13:07
0
Сообщение: 1
VB
0

Пункты: 1817
Регистрация: 20.02.2017
Пол: Мужчина
Из: Самара
Работаю на комплекте
iMX6S-OEM + SK-iMX6/53/50-MB.
Собираю в виртуальной машине систему с Qtcreatpr. Все собирается без ошибок, карта записывается, но с неё загрузка не идёт.
Переключатели все как надо, карта вставлена в слот X1.
Если войти в меню uboot, то картина такая: mmcinfo в упор не видит карту, если она в слоте X1, но нормально видит её,
если она в слоте X23 (на материнской плате).
После загрузки (штатной системой), где бы не стояла карта, она прекрасно монтируется в файловую систему.
Карта Mirex microSDHC 4Gb, class4. В других системах нормально работает.
И ещё. При сборке и "заливке" распознаётся как /dev/mmcblk0, но не как /dev/sd*
Кто-то сталкивался с подобным? Есть решение?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 20.02.2017 13:25 Редактировалось 20.02.2017 13:33 Сообщение: 2
sasamy
4.71

Пункты: 83562
Регистрация: 14.08.2009
Цитата

Собираю в виртуальной машине систему с Qtcreatpr.


какая версия buildroot - я так понял с ядром 3.10.17 ?

Цитата

Все собирается без ошибок, карта записывается, но с неё загрузка не идёт.
Переключатели все как надо, карта вставлена в слот X1.
Если войти в меню uboot


как вы заходите в меню u-boot если загрузка не идет ? убут грузится но в убуте SD не работает ? плата точно с SD загружается а не с NAND - посмотрите версию убута в логе. Если процессор грузится с SD но в убут не видит карту - попропбуйте изменить настройки пинов

buildroot-2014.08-sk/output/build/uboot-custom/board/starterkit/oem_imx6/oem_imx6.c

Цитата

#define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP | PAD_CTL_SPEED_LOW | \
PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS)


персобрать после правки

make uboot-rebuild

если есть возможность - попробуйте другую карту.
Спуститься к концу Подняться к началу
Персональная информация
VB
Добавлено 20.02.2017 20:25 Сообщение: 3
VB
0

Пункты: 1817
Регистрация: 20.02.2017
Пол: Мужчина
Из: Самара
Цитата

#define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP | PAD_CTL_SPEED_LOW | \
PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS)

А на что это всё менять?
Собираю я "по книжке", то есть по документации, стараясь вообще не делать (пока) шагов ни влево ни вправо. Пока не понял систему в целом.
Процессор НЕ ГРУЗИТСЯ с SD. Или же я не знаю куда смотреть?
Попробуйте сами посмотреть первый десяток строк при загрузке (см. вложение 1).
Это всё при том, что SD установлена, J1 замкнут.
А во вложении 2 можете увидеть как эта карта монтируется, вот с таким имененм.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 21.02.2017 06:58 Редактировалось 21.02.2017 07:04 Сообщение: 4
Pavel Ivanchenko
Admin
4.39

Пункты: 92805
Регистрация: 24.03.2009
Пол: Мужчина
Цитата
А на что это всё менять?

Как видите из макроса, почти каждый пин имеет настройки электрических параметров ввода-вывода.
В вашем случае карту явно не устраивают такие параметры (т.к. в запущенном ядре эта карта работает, а там уже свои параметры пинов применяются).
Применяем эвристический метод и метод исключения, судя по названию определений в макросе к скоростным параметрам относятся - PAD_CTL_SPEED_LOW, PAD_CTL_SRE_FAST и PAD_CTL_DSE_80ohm , соответственно их и нужно "проверять".
Не уверен наверняка, но скорее всего карту не устраивает PAD_CTL_SPEED_LOW попробуйте заменить на MED (или FAST, если такой есть в определениях).
PAD_CTL_DSE_80ohm явно можно заменить на PAD_CTL_DSE_40ohm, а то там даже для UART выставлено 40Ом, а для более высокоскоростного USDHS выставили 80Ом.
Спуститься к концу Подняться к началу
Персональная информация
VB
Добавлено 21.02.2017 10:34 Сообщение: 5
VB
0

Пункты: 1817
Регистрация: 20.02.2017
Пол: Мужчина
Из: Самара
А можно пояснить немного подробней про процесс загрузки: где место uboot.
Обычная схема- это BIOS инициирует загрузку по своему прошитому списку. Как я понимаю- uboot- это уже работа программы, которая продолжает загрузку, обращаясь к внешнему устройству, вынимая образ ОС ну, и так далее.
То есть отсутствие обращения вообще к SD карте- это вроде бы как BIOS её не видит. Как мне точно узнать, что к карте вообще была хоть попытка обращения со стороны модуля.
Ведь если BIOS не увидит карту, то всё бесполезно. Будет упорно и последовательно продолжаться загрузка NAND, то есть старого uboot, а не того, что я перекомпилирую.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 21.02.2017 16:27 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
А можно пояснить немного подробней про процесс загрузки: где место uboot.

найдите на freescale/nxp
i.MX 6Solo/6DualLite Applications Processor Reference Manual
и почитайте
Chapter 8 System Boot
откроете много интересного для себя..

если на пальцах - при включение питания в АРМе запускается внутренний нестираемый загрузчик, который в зависимости от настроек ищет и загружает блок с заданного носителя (nor, nand, mmc etc) и передает этому блоку управление..
частным случаем этим блоком может быть т.н. u-boot - многофункциональная программа второго уровня, которая выполняет определенную последовательность скриптов из своих/пользовательских настроек..

всё это расписано на каждом углу в интернете, достаточно сформулировать запрос и внимательно погуглить..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
VB
Добавлено 21.02.2017 21:45 Сообщение: 7
VB
0

Пункты: 1817
Регистрация: 20.02.2017
Пол: Мужчина
Из: Самара
Спасибо за ссылку и довольно подробный ответ.
Я уже начинаю кое-что нащупывать, хотя не совсем понятно как так и почему.
Закончу построение и пару экспериментов и отпишусь о результатах.
Предварительно: кроме прочего, моя карта в виртуальной машине опознаётся не как /dev/sdb, а как /dev/mmcblk0. Связано это с тем, что мой встроенный Card Reader "посажен" не на SCSI шину, а на USB шину (/dev/sdb- устройства на SCSI). Похоже, что это мешает, как минимум приходится редактировать файл mk-sd.sh
Хотя при корректно построенной системе сборки такая разница в именах не должна влиять на работоспособность. Компьютеров с подобными встроенными Card Reader-ми достаточно много и не все пользуются специальными отдельными устройствами чтения карт. Хотя через него (я пробовал Transcend) как раз опознаётся как /dev/sdb.
Но точнее опишусь (I hope) завтра.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 22.02.2017 13:54 Редактировалось 22.02.2017 13:58 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Предварительно: кроме прочего, моя карта в виртуальной машине опознаётся не как /dev/sdb, а как /dev/mmcblk0. Связано это с тем, что мой встроенный Card Reader "посажен" не на SCSI шину, а на USB шину (/dev/sdb- устройства на SCSI). Похоже, что это мешает, как минимум приходится редактировать файл mk-sd.sh

видимо речь о х86 системе и виртуалке для сборки под АРМ.. ералаш с имена устройств может быть связан с правилами для udev-a и собственно аппаратурой.. вместо mmcblk можно прописать хоть gorshock и будет работать.. в х86 копаюсь редко и ничего путного подсказать не смогу.. едиственное, посоветую внимательно править скрипты, чтобы не потереть виртуальный hdd/ssd, или, что еще хуже - реальный винт с данными.. и стараться делать бекапы..

Цитата
Хотя при корректно построенной системе сборки такая разница в именах не должна влиять на работоспособность. Компьютеров с подобными встроенными Card Reader-ми достаточно много и не все пользуются специальными отдельными устройствами чтения карт.

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

забыл добавить - грабли с двумя карточками это не уникальный случай.. вот например:
http://starterkit.ru/html/index.php?name=forum&op=view&id=24973
или мой грабель
http://starterkit.ru/html/index.php?name=forum&op=view&id=19863

лечится правильным размещением загрузчиков и коррекцией скриптов в переменных убута..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 22.02.2017 16:41 Редактировалось 22.02.2017 16:42 Сообщение: 9
sasamy
4.71

Пункты: 83562
Регистрация: 14.08.2009
Цитата

Предварительно: кроме прочего, моя карта в виртуальной машине опознаётся не как /dev/sdb, а как /dev/mmcblk0. Связано это с тем, что мой встроенный Card Reader "посажен" не на SCSI шину, а на USB шину (/dev/sdb- устройства на SCSI). Похоже, что это мешает, как минимум приходится редактировать файл mk-sd.sh


не обратил внимания на это с самого начала - возможно вы просто неправильно отредактировали - возьмите скрипт отсюда

https://yadi.sk/d/lbDdhOph3EP2UR

после скачивания дайте ему права на исполнение

chmod +x mk-sd.sh

запись на SD

sudo ./mk-sd.sh /dev/mmcblk0
Спуститься к концу Подняться к началу
Персональная информация
VB
Добавлено 22.02.2017 22:47 Сообщение: 10
VB
0

Пункты: 1817
Регистрация: 20.02.2017
Пол: Мужчина
Из: Самара
Да! Спасибо. Заработало.

Первоначальный файл сильно другой, это точно. В новом разделы диска это переменная, а в первоначальном- конкретные цифры, так сказать "абсолютные пути".

Но теперь доверие к тому Libuntu, на который мне дали ссылку "подорвано". Откуда там не работающий сценарий? Может быть "впопыхах" мне прислали FTP ссылку на какой-то промежуточный, "лабораторный" вариант?

Тем более, что у него есть ещё одна неприятность. В ходе экспериментов с внешним CardReader-ом я обнаружил, что Libuntu не распознаёт порты USB 3.0. Во всяком случае не обнаружил CardReader вставленный в такой порт (сам CardReader на это рассчитан, на нём написано).

Вот какие файлы я скачал по ссылке:
iMX6_Libuntu_build_machine
SK-iMX6-OEM_linux_build_machine
Пользуюсь первым, Lubuntu 14.
Второй это Ubuntu 10.
Работаю я на ноутбуке. 10Гб, 64 разряда, VMWare Workstation 12 Player.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-iMX6S-OEM(-WiFi)