реклама на сайте
подробности

 
 
> Научите пользоваться Low level Debug, senduart
sevstels
сообщение Feb 7 2011, 06:07
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



Проблема заключается в следующем.
Приказали портировать ядро со старой версии на последнюю.
До этого с ARM архитектурой не работал вообще, только DSP.
Процессор S5PC110 от Самсунга.

Сконфигурировал новое ядро со старым конфиг-файлом.
Прописал в Makefile.boot адреса: zreladdr-y params_phys-y
Проверил номер машины, и бутаргументы, всё совпадает.
Ядро скомпилировалось без ошибок и варнингов.
Запускаю. Пишет:

Цитата
HKDKC110 # bootm 0x30008000
Boot with zImage
Starting kernel ...
Uncompressing Linux... done, booting the kernel.

Всё ... дальше зависон мертвый.

На плате разьём под JTAG вообще не предусмотрен, регистры посмотреть невозможно.
Виснет где то в asm функции startup32(); после декомпрессора (kernel/head.S).
Подскажите, как отдебажить, что ядру не хватает для старта.
Асма arm овского не знаю, поэтому и спрашиваю как заюзать senduart.
Если можно, маленький примерчик поделитесь. Спасибо. sm.gif







--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sevstels
сообщение Feb 16 2011, 08:44
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 626
Регистрация: 3-12-07
Пользователь №: 32 910



Вообще, всё оказалось гораздо интереснее чем казалось сначала.
Удалось запустить загрузку kernel. Но для этого нужно было долго ходить по граблям.

Сформулирую правила успешного старта:
1. u-boot должен быть собран той-же версией компилятора что и kernel.
2. Используйте уже проверенный кем-то toolchain.

Я пытался запустить ядро с оригинальным убутом, прошитым в плате.
Так и не удалось понять, (нечем посмотреть) где загрузка зависала, видимо неправильно передавались указатели на атрибуты или что то было с адресацией или упаковкой ядра. Поэтому я попытался собрать u-boot последней версией компилятора. Пришлось помучится, но в итоге он так и не собрался. Почитать можно > тут. Проблема решилась только откатившись на предидущую версию тулчейна.

Соответсвенно, ядро собирал аналогичной версией компилятора.
И оно сразу стартануло. Как оригинальное ядро от производителя борды, так и самсунговское ядро, так и с kernel.org
Цитата
HKDKC110 # bootm 0x30008000
Boot with zImage

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
<6>Initializing cgroup subsys cpu
<5>Linux version 2.6.35.7 (nord@pineone) (gcc version 4.4.1 (Sourcery
G++ Lite 2010q1-202) ) #16 PREEMPT Thu Feb 17 01:13:38 KST 2011
CPU: ARMv7 Processor [412fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: SMDKC110

итд ... далее уже можно работать не в слепую
Спасибо всем за сопереживание.

-


--------------------
Herz - дятел.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 16:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01369 секунд с 7
ELECTRONIX ©2004-2016