Как проверить имя последовательной консоли и номер UART, используемые U-boot

Я работаю над индивидуальной платой на основе IMX53. Когда я загружаю плату, после «Запуск ядра ...» нет вывода, как показано ниже.

## Booting kernel from Legacy Image at 70800000 ...
   Image Name:   Linux-2.6.35.3
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3009460 Bytes =  2.9 MB
   Load Address: 70008000
   Entry Point:  70008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Я думаю, что этот вывод из U-boot, я подозреваю, что в ядре будет неправильная конфигурация tty. я сомневаюсь, что проблема связана с именем консоли, которое находится в настройках среды U-boot, или с номером порта UART.

Можете ли вы помочь мне проверить имя консоли и порт UART, используемые U-boot (используя U-boot 2009 на плате), для отправки сообщений журнала в minicom, чтобы я мог проверить, использует ли ядро ​​то же имя консоли и UART или нет? .

Заранее спасибо.


person user3693586    schedule 22.10.2015    source источник
comment
Может быть неверная консоль в командной строке ядра, но также может случиться так, что ядро ​​рухнуло на каком-то раннем этапе, до того, как какой-либо вывод будет фактически напечатан на консоли. Попробуйте включить Earlyprintk в ядре, чтобы проверить эту опцию. Кроме того, если вы хотите, чтобы мы выяснили ваше консольное устройство, предоставьте ссылку на ваш репозиторий u-boot и имя платы (т.е. какое имя платы вы используете для сборки u-boot). Я считаю, что имя консоли можно найти в источниках u-boot.   -  person Sam Protsenko    schedule 22.10.2015
comment
Прежде всего, я настоятельно рекомендую обновить U-Boot до последней версии.   -  person 0andriy    schedule 22.10.2015
comment
Спасибо за ответ. В плате Evk использовалась последняя версия U-boot (2015 г.), но непонятно, почему клиент использует старую версию u-boot (2008 г.) на целевой плате. Мы обращаемся к источнику через vpn. Я мог видеть переменные среды, установленные с помощью CONFIG_EXTRA_ENV_SETTINGS в заголовочном файле конкретной платы в include/configs/. Я изменил переменные среды в приглашении u-boot, используя set и saveenv, теперь, когда я меняю в CONFIG_EXTRA_ENV_SETTINGS, это не отражается, когда я проверяю с помощью printenv в приглашении u-boot.   -  person user3693586    schedule 22.10.2015
comment
Я прошил только ядро ​​и u-boot на SD-карту, используя dd if=u-boot.bin of=/dev/sdc bs=512 seek=1 skip=1;dd if=uImage of=/dev/sdc bs=1M seek =1 команды. Как создается пространство для переменных env между U-boot и ядром на SD-карте. как я могу очистить переменные env, сохраненные между u-boot и ядром, чтобы он брал переменные env из u-boot. Можете ли вы помочь в этом.   -  person user3693586    schedule 22.10.2015
comment
См. stackoverflow.com/questions/18378563/ Freescale имеет код декомпрессии zImage, для которого требуется правильный тип машины, иначе этот код до ядра зависает.   -  person sawdust    schedule 22.10.2015
comment
Спасибо за ответы. Я прошил образы на новую SD-карту, после чего плата загружается нормально. Я сбросил данные новой SD-карты на старую SD-карту с помощью команды dd, после чего плата нормально загружается со старой SD-картой. У меня есть сомнения относительно переменных env со старой SD-картой, потому что я изменил переменные с помощью setenv и сохранил с помощью saveenv в командной строке u-boot.   -  person user3693586    schedule 07.11.2015
comment
У меня есть сомнения по поводу переменных env, не могли бы вы помочь. Когда мы сначала прошиваем образы на SD-карте, то куда u-boot будет записывать переменные env? Если мы изменим переменные env с помощью setenv и saveenv, то при следующей загрузке U-boot не изменит переменные env?   -  person user3693586    schedule 07.11.2015
comment
куда u-boot будет записывать переменные env? -- Это настраивается, но обычно так же, как хранится образ U-Boot. НАПРИМЕР. если образ U-Boot хранится как образ на необработанной (без файловой системы) SD-карте, то среда, вероятно, также хранится аналогичным образом (т. е. в неразмеченной области SD-карты для использования U-Boot). ).   -  person sawdust    schedule 11.11.2015
comment
Спасибо за информацию. Когда я проверяю исходный код U-boot, расположение переменных env на флэш-памяти определяется в файле платы с использованием CONFIG_ENV_OFFSET и CONFIG_ENV_SIZE. Как прошить переменные окружения в это место? Если мы ничего не будем прошивать в папку env на флэш-памяти, тогда U-boot запишет жестко запрограммированные переменные среды (в файле платы) в папку env на флэш-памяти.   -  person user3693586    schedule 12.11.2015
comment
Возможно, вам придется пересобрать U-Boot с новой конфигурацией, имеющей CONFIG_ENV_IS_IN_MMC. Затем используйте dd if=/dev/zero of=XXX bs=512 count=NNN seek=SSS для обнуления секторов на SD-карте. NNN должен быть CONFIG_ENV_SIZE / 512, а SSS = CONFIG_ENV_OFFSET / 512. Убедитесь, что вы используете значения MMC, а не значения флэш-памяти. При следующем запуске U-Boot обнаружит недопустимую сохраненную среду и прибегнет к используя среду по умолчанию (как определено ее конфигурацией). Просто запишите среду по умолчанию (или отредактированную/измененную версию) с помощью команды saveenv.   -  person sawdust    schedule 14.11.2015