Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: iMX28 buildroot
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
Атмег
Поделитесь опытом, кто собирал ядро билдрутом. Пробовал и с дефолтным конфигом freescale_imx28evk_defconfig, и с другими настройками. И через uboot и через mxs_bootlets загрузчик грузится, доходит до загрузки ядра Uncompressing Linux... done, booting the kernel и тишина.
Про отладка ком уа знаю, там виртуальная машина со старой версией ubuntu и ltib с ядром 2.6.35. Вероятно, там все соберется но это неинтересный вариант, мне надо запустить сборку на своей машине и со свежим билдрутом и ядром 3.19.2.
Просьба поделиться, у кого какие были траблы, может натолкнет на мысль какую.
Jury093
Цитата(Атмег @ Feb 27 2016, 13:51) *
Поделитесь опытом, кто собирал ядро билдрутом. Пробовал и с дефолтным конфигом freescale_imx28evk_defconfig, и с другими настройками. И через uboot и через mxs_bootlets загрузчик грузится, доходит до загрузки ядра Uncompressing Linux... done, booting the kernel и тишина.

вариант 1: с большой долей вероятности вы подсовываете ядро с "чужим" MachId, которое отличается от того, что передает юбут при загрузке и запуске ядра..
google->"kernel machine id"

вариант 2: неправильно определено имя консольного порта, стандартное ttyS, у фрискейла ttymxc.. в случае неправильного вывода выхлоп будет "в никуда", что квалифицируется как "booting the kernel и тишина."
вариант 3: слабое питание
Атмег
Цитата(Jury093 @ Feb 27 2016, 16:31) *
вариант 1: с большой долей вероятности вы подсовываете ядро с "чужим" MachId, которое отличается от того, что передает юбут при загрузке и запуске ядра..
google->"kernel machine id"

а как такое может быть, если ядро и uboot собирается одним билдрутом с freescale_imx28evk_defconfig?
еще нашел: https://community.freescale.com/thread/319367 то есть вроде как ядро все таки в состоянии сказать, что ему не нравится machid, в моем же случае молчит

Цитата
вариант 2: неправильно определено имя консольного порта, стандартное ttyS, у фрискейла ttymxc.. в случае неправильного вывода выхлоп будет "в никуда", что квалифицируется как "booting the kernel и тишина."

у меня в конфигах билдрута ttyAMA0. в 2.6.35 было ttyAM0. попробовал и ваши два варианта до кучи.
задал в ядре console=ttyAMA0,115200 и жестко использовать только встроенную строку параметров (не uboot), все то же самое

Цитата
вариант 3: слабое питание

ну тут все норм, т.к. 2.6.35 стартует нормально. с железом точно все норм. по крайней мере вывести свою версию при старте ядро должно быть в состоянии. непонятно почему с дефолтным конфигом от билдрута не стартует, ладно бы поменял что-то. один нюанс, разбивка карты скриптом от того же билдрута не работает у меня, поэтому делал вручную. плюс для страховки пробовал грузить с ftp, вижу, что u-boot ядро загрузил, версия, стартовый адрес совпадает, то есть ядро корректно загрузилось куда надо, только не стратануло
Jury093
Цитата(Атмег @ Feb 28 2016, 20:21) *
а как такое может быть, если ядро и uboot собирается одним билдрутом с freescale_imx28evk_defconfig?
еще нашел: https://community.freescale.com/thread/319367 то есть вроде как ядро все таки в состоянии сказать, что ему не нравится machid, в моем же случае молчит

мне же не видно, что там у вас и как, отсюда и озвучил характерную ошибку..

Цитата
у меня в конфигах билдрута ttyAMA0. в 2.6.35 было ttyAM0. попробовал и ваши два варианта до кучи.
задал в ядре console=ttyAMA0,115200 и жестко использовать только встроенную строку параметров (не uboot), все то же самое

да, в вашем случае будет ttyAM0 - а не AMA

Цитата
ну тут все норм, т.к. 2.6.35 стартует нормально. с железом точно все норм. по крайней мере вывести свою версию при старте ядро должно быть в состоянии. непонятно почему с дефолтным конфигом от билдрута не стартует, ладно бы поменял что-то. один нюанс, разбивка карты скриптом от того же билдрута не работает у меня, поэтому делал вручную. плюс для страховки пробовал грузить с ftp, вижу, что u-boot ядро загрузил, версия, стартовый адрес совпадает, то есть ядро корректно загрузилось куда надо, только не стратануло

попробуйте списаться с участниками этого треда:
http://electronix.ru/forum/index.php?showt...t&p=1368131
там как раз imx28 и 3.19.3
Атмег
Спасибо, напишу.
Да в моем случае как раз непонятно, AMA будет, AM или mxc, т.к. менялось несколько раз, вижу что на разных сборках по-разному.
1113
а какое железо?

мы научились собирать openwrt

ядро там даже 4
Атмег
железо - мезонин тион28 производства зао-зео. он повторяет отладочную плату в общем-то.
openwrt с дефолтным конфигом запустилось или пришлось править что то руками? имею в виду не по части сборки (у меня все собирается), а по конфигурации? щас смотрю, похоже, что в ядре 3.19.2, которое я пытался собрать, отладочная консоль просто выпилена отовсюду с непонятной целью. или я просто не знаю, как ее включить. но duart нигде даже не находится
1113
если и правили конфиг, то только чтобы включить нужных функций, а так, в целом, всё запускается
также разобрались с консолью - можно выводить в любой уарт, даже не дебаг

целевая плата - Duckbill

минус openwrt, с которым я не разобрался, - иногда приходится править конфиг ядра отдельно от конфига openwrt.
MikleV
Цитата(Атмег @ Feb 29 2016, 01:01) *
железо - мезонин тион28 производства зао-зео. он повторяет отладочную плату в общем-то.
openwrt с дефолтным конфигом запустилось или пришлось править что то руками? имею в виду не по части сборки (у меня все собирается), а по конфигурации? щас смотрю, похоже, что в ядре 3.19.2, которое я пытался собрать, отладочная консоль просто выпилена отовсюду с непонятной целью. или я просто не знаю, как ее включить. но duart нигде даже не находится

У меня такая-же железка. Если запустите новые ядра то поделитесь dts, а то на форуме поддержки про новые ядра не хотят слушать даже.
Как у вас со стабильностью работы? (у меня есть подозрение что на мезонине не совсем корректно разведено питание)
1113
dts от ядра не зависит
Атмег
Цитата(MikleV @ Feb 29 2016, 10:44) *
У меня такая-же железка. Если запустите новые ядра то поделитесь dts, а то на форуме поддержки про новые ядра не хотят слушать даже.
Как у вас со стабильностью работы? (у меня есть подозрение что на мезонине не совсем корректно разведено питание)


при загрузке через uboot запустил вывод в консоль. в ядре 3.19.2 console=ttyAMA0 (проверил еще на 3.9.4 - там тоже AMA0).
в дефолтной конфигурации ядра строка параметров ядра не задана, в дефолтном dts - тоже, но dts пока не правил, задал строку в конфиге ядра (make linux-menuconfig).
через mxs-bootlets загрузка пока все равно не идет - буду разбираться.

по стабильности ничего не могу сказать пока, не проверял, но 2.6.35 загружается и работает. а что у вас происходит?
питание - да, у тион28 ethernet phy запитан от 3.3в с контроллера, а не с внешнего стабилизатора, как в ките. хотя подтяжки выходных цепей phy запитаны уже от внешнего стабилизатора.
вообще с питанием вопросы, заявленная в ДШ нагрузочная способность встроенных DC/DC (250 мА) меньше, чем у меня получается по iMX28_Power_Calculator в минимальной конфигурации
Tarbal
Цитата(Атмег @ Feb 28 2016, 20:21) *
а как такое может быть, если ядро и uboot собирается одним билдрутом с freescale_imx28evk_defconfig?
еще нашел: https://community.freescale.com/thread/319367 то есть вроде как ядро все таки в состоянии сказать, что ему не нравится machid, в моем же случае молчит


Насколько я знаю не ядро а uboot проверяет. Если ядро начало распаковываться, то эта проверка уже пройдена и не остановила процесса.
Попробуйте в конфигурации ядра разрешить early printk.
MikleV
Цитата
dts от ядра не зависит

У меня нет никакого..

Цитата(Атмег @ Feb 29 2016, 12:17) *
при загрузке через uboot запустил вывод в консоль. в ядре 3.19.2 console=ttyAMA0 (проверил еще на 3.9.4 - там тоже AMA0).
в дефолтной конфигурации ядра строка параметров ядра не задана, в дефолтном dts - тоже, но dts пока не правил, задал строку в конфиге ядра (make linux-menuconfig).
через mxs-bootlets загрузка пока все равно не идет - буду разбираться.

по стабильности ничего не могу сказать пока, не проверял, но 2.6.35 загружается и работает. а что у вас происходит?
питание - да, у тион28 ethernet phy запитан от 3.3в с контроллера, а не с внешнего стабилизатора, как в ките. хотя подтяжки выходных цепей phy запитаны уже от внешнего стабилизатора.
вообще с питанием вопросы, заявленная в ДШ нагрузочная способность встроенных DC/DC (250 мА) меньше, чем у меня получается по iMX28_Power_Calculator в минимальной конфигурации

2.6.35 тоже загружается и работает
Раз в пару-тройку дней или может раз в недельку тихо умирает.
Не смотря на то что есть wd или его нет.
Иногда после таких вещей невозможно включить т.е. постоянно на уровне power prep циклится.
Атмег
Цитата(MikleV @ Mar 1 2016, 16:09) *
У меня нет никакого..

проверьте, у вас должен быть /arch/arm/boot/dts/imx28-evk.dts, там же imx28.dtsi и imx28-pinfunc.h

Цитата(MikleV @ Mar 1 2016, 16:09) *
2.6.35 тоже загружается и работает
Раз в пару-тройку дней или может раз в недельку тихо умирает.

а как у вас запитаны подтяжки ethernet phy, от модуля или от внешних 3.3?
производителю не задавали вопрос?
MikleV
По подтяжкам я точно не смотрел но судя по схеме если модульный LAN_AVDD_3V3 никуда не выходит то тоже запитан от внешних 3.3 (если иначе то внешний и модульный 3.3 замыкаются на модуле через бусину)
У меня носитель сириус28. Там резистор замыкающий 3.3 сириуса и тиона не распаян (как впрочем все остальные нулевики)
(Но скорее всего они все-таки не замыкаются и вот косвенное подтверждение этому: у меня в ядро фрискейловский драйвер клавиатуры на LRADC включен и его периодически колбасит это видно по печати)

Меня больше волнует то что на модуле разводка VDD4P2 и BAT не соответствую референсу фрискейловскому и замечаниям по применению
1113
Цитата(MikleV @ Mar 2 2016, 10:12) *
Меня больше волнует то что на модуле разводка VDD4P2 и BAT не соответствую референсу фрискейловскому и замечаниям по применению

покажите схему
Атмег
Цитата(MikleV @ Mar 2 2016, 10:46) *

Вы про отсутствие резистора 1 Ом в фильтре питания по VDD_5V (R351 в плате ревизии D у фрискейла)?

Про подтяжки - я имел в виду следующее. У тиона LAN8720 запитан от VDDIO_3V3 модуля, а выходные диффпары TX/RX подтянуты через 49.9 Ом к внешнему источнику (3.3 на плате сириусе). Видимо, разработчики решили, что основное потребление ethernet phy именно по этим цепям, а на цифровую часть LAN8720 питания модуля хватит. В то время как на ките от фрискейла весь phy запитан от внешнего питания, включаемого после загрузки cpu.
Не знаю, насколько имеет право на жизнь такое решение, у фрискейла на схеме в ключах питания везде пометки "Prevent a opposite direction current", вопрос: это сделано для минимизации потребления во время сна из-за утечек, или процессор может не стартовать при паразитной запитке по VDDIO_3V3?

У себя сделал на плате-носителе 3.3в коммутируемыми, пока включаются по появлению VDDIO_3V3 от модуля. Можно и с gpio управлять, но пока не пробовал. У меня проблема пока такая: плата нестабильно включается при подаче внешнего питания, то стартует, то нет, приходится дергать reset.
MikleV
В доке по питанию наш дизайн соответствует (Figure 8. Hardware connections for DCDC_BATT-only applications). В варианте постоянного питания рекомендованный дизайн отличается (Figure 9. Hardware connections for VDD5V-only applications)
Про внешнее питание для ФИ - да так делают во всех десктопных компьютерах (можно заметить активность линка на отключенном компе) т.е. приемопередатчик на ФИ молотит постоянно при подаче на микросхему питания. В тионе ФИ на модуле питается от процессорного бп и только выходные подтяжки на трансформаторе прибиваются к внешнему бп. Тут вообще я не вижу проблем. Единственный момент это как соединить модульные 3.3В и 3.3В платы носителя.
MikleV
..../drivers/serial/mxs-auart.c
.../drivers/tty/ нет такой папки
Атмег
Цитата(MikleV @ Apr 6 2016, 11:53) *
..../drivers/serial/mxs-auart.c
.../drivers/tty/ нет такой папки

спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.