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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Плата на am335x. Проблемы с u-boot
BrotherRabbit
сообщение Nov 8 2012, 06:48
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 10-04-10
Пользователь №: 56 549



Добрый день.

Сделали плату на процессоре TI am3359zcz. Основный компоненты (memory, nand, power managent) как у фирменного Evaluation Module.
Не установили I2C EEPROM, содержащую конфигурационную информацию платы. Взяли исходники u-boot 2011.09 из SDK, убрали чтение этой EEPROM, на всякий случай присвоив соответствующей идентификационной структуре все значения, которые должны считываться в случае платы am335x EVM.

Получившиеся после сборки MLO (spl) и u-boot.img образы прекрасно грузятся на beaglebone, наличие каких-то конфигов под nand, видимо, его не волнуют.
В случае собственной борды SPL загружается внутренней прошивкой проца, выполняется, но неверно.
При загрузке с MMC0 симптомы у spl проявляются в виде ругани на файловую систему FAT самой карточки.
При загрузке по UART spl пишет в терминал CCC.., но образ u-boot по ymodem отправить не получается.

Портировал ли кто-нибудь с u-boot вообще, или конкретно работал с этим процессором?
Есть ли идеи на счет того, что было сделано неправильно?
Спасибо.

Go to the top of the page
 
+Quote Post
Jury093
сообщение Nov 10 2012, 14:17
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(BrotherRabbit @ Nov 8 2012, 10:48) *
Получившиеся после сборки MLO (spl) и u-boot.img образы прекрасно грузятся на beaglebone, наличие каких-то конфигов под nand, видимо, его не волнуют.
В случае собственной борды SPL загружается внутренней прошивкой проца, выполняется, но неверно.
При загрузке с MMC0 симптомы у spl проявляются в виде ругани на файловую систему FAT самой карточки.
При загрузке по UART spl пишет в терминал CCC.., но образ u-boot по ymodem отправить не получается.
Портировал ли кто-нибудь с u-boot вообще, или конкретно работал с этим процессором?

я возился с китом am3359-iceboard..
взял с их сайта ближайший по идеологии BSP и путем пилежки и заточки успешно запустил линукс, к сожалению этот кит (ice) проектировался под другие задачи и поднять сетевые интерфейсы не удалось.. и дальнейшие исследования были свернуты..
финальная цепочка по загрузке - через xmodem грузил MLO, который через ymodem тянул u-boot, который интил sd-карточку, с которой грузил ядро и содержал рутовую..
iceboard был слегка подпилен аппаратно.. у техасовцев есть тред с ребятами, которые стартовые бинарники сложили в spi-flash и грузятся с него..

Цитата
Есть ли идеи на счет того, что было сделано неправильно?

это к телепатам..
Go to the top of the page
 
+Quote Post
BrotherRabbit
сообщение Nov 12 2012, 10:01
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 10-04-10
Пользователь №: 56 549



Цитата(Jury093 @ Nov 10 2012, 18:17) *
финальная цепочка по загрузке - через xmodem грузил MLO, который через ymodem тянул u-boot, который интил sd-карточку, с которой грузил ядро и содержал рутовую..

С этим-то всё ясно. Путем отладки u-boot'а вроде бы выяснили, проблемы при записи в sdram.
Например функция int omap_mmc_init() из файла omap_hsmmc.c содержит такую строку:
sprintf(mmc->name, "OMAP SD/MMC");
После этого проверка вышеупомянутой в контексте функции sprintf() стуктуры, находящейся по адресу 0x80000500 не дает ожидаемого результата. Вместо нормальной строки там появляется мусор. Продолжаю разбираться.
Цитата(Jury093 @ Nov 10 2012, 18:17) *
поднять сетевые интерфейсы не удалось..

Как не удалось? ICE - это же сетевой девайс. laughing.gif
Go to the top of the page
 
+Quote Post
Jury093
сообщение Nov 12 2012, 18:03
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(BrotherRabbit @ Nov 12 2012, 14:01) *
Как не удалось? ICE - это же сетевой девайс. laughing.gif

ну в первом приближение да, похож.. 2х100Мбит хидеры, двупортовый АРМ.. да вот соединение Phy и АРМа зело неудачно, с т.з. ядра.. или я сильно криворук..

речь о такой плате (та что есть у меня):

Go to the top of the page
 
+Quote Post
BrotherRabbit
сообщение Nov 13 2012, 07:10
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 10-04-10
Пользователь №: 56 549



Прочитал Ваш тред на e2e. Да, похоже, ICE вещь действительно малопригодная, а я всё думал, почему на него сорцов в am335x-evm.c нет.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Nov 14 2012, 18:05
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(BrotherRabbit @ Nov 12 2012, 14:01) *
С этим-то всё ясно. Путем отладки u-boot'а вроде бы выяснили, проблемы при записи в sdram.

не очень уловил. юбут таки стартует или нет?
если стартует, то у него есть встроенный тест памяти - надо "на совесть" погонять оперативку
если юбут не стартует, то возможно битая/неправильно_подключенная память или тайминги неправильные в загрузчике 0-го уровня..

еще немаловажный фактор - тулчейн для сборки, был прецендент (для pxa270) - собирался неработоспособный бутлоадер, анализ показал рандомную работу с хипом, смена тулчейна на более старую версию волшебным образом исправила ситуацию..
Go to the top of the page
 
+Quote Post
BrotherRabbit
сообщение Nov 17 2012, 17:16
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 10-04-10
Пользователь №: 56 549



Главный u-boot не стартует - первый лоадер, который должен грузить основную часть, виснет при копировании образа u-boot из SD/MMC в SDRAM, а так же при получении u-boot.bin по UART.
Написал небольшой код, который выполняется во внутренней RAM, гружу из него во внешнюю память (0х80000000 и выше) несколько ассемблерных команд и передаю им управление - это выполняется.
Компилятор нормальный, если тот же загрузчик спокойно работает на BeagleBone.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Nov 18 2012, 11:21
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(BrotherRabbit @ Nov 17 2012, 21:16) *
Главный u-boot не стартует - первый лоадер, который должен грузить основную часть, виснет при копировании образа u-boot из SD/MMC в SDRAM, а так же при получении u-boot.bin по UART.
Написал небольшой код, который выполняется во внутренней RAM, гружу из него во внешнюю память (0х80000000 и выше) несколько ассемблерных команд и передаю им управление - это выполняется.
Компилятор нормальный, если тот же загрузчик спокойно работает на BeagleBone.

я бы поделил задачу - на железо и софт, с приоритетом на железо:
если можно запустить свою бинарь, то написать примитивный тест памяти на асме - заполнение нулем - проверка, заполнение единицей - проверка, "бегающая" единица и тыпы - и поднимал уровень на определенном пине в зависимости от результата
следующий этап - втиснуть в SPL отладочный вывод - куда грузим, сколько приняли, дамп первых и последних 16 байт, адрес куда передаем управление..
отсюда уже можно делать дальнейшие выводы..
Go to the top of the page
 
+Quote Post
BrotherRabbit
сообщение Nov 21 2012, 07:34
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 10-04-10
Пользователь №: 56 549



Сделал тест, только на Си. Ошибок не обнаружено.
Могут ли быть какие-то другие аппаратные причины, например флешка? Конфигурация pinmux влияет только на периферийные интерфейсы, но не может ли быть тут какой-то связи?

По иронии судьбы так вышло, что статикой повредил рабочий девайс - beaglebone. У него появились проблемы с SDRAM, которые этот тест находит.

Сообщение отредактировал BrotherRabbit - Nov 21 2012, 08:30
Go to the top of the page
 
+Quote Post
Jury093
сообщение Nov 23 2012, 17:17
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(BrotherRabbit @ Nov 21 2012, 11:34) *
Сделал тест, только на Си. Ошибок не обнаружено.
Могут ли быть какие-то другие аппаратные причины, например флешка?

легко и запросто - от ошибок чтения из-за питания до ошибок при обмене между флешкой и АРМом.. еще неплохо для мажоритарности попробовать сменить флешечку..
поэтому я и посоветовал вывести на консоль то, что читает SPL - хоть пару байт..
можно для подстраховки потыкать осциллом по пинам MMC кроватки в момент обмена - мало ли питание грязное или контакт не припаян..

Цитата
По иронии судьбы так вышло, что статикой повредил рабочий девайс - beaglebone. У него появились проблемы с SDRAM, которые этот тест находит.

ого! как удалось столько статики набрать для запаянной платы?
Go to the top of the page
 
+Quote Post
shamrel
сообщение Jun 13 2013, 09:32
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 10-10-07
Из: Новосибирск
Пользователь №: 31 229



Доброго здоровья!
Существует ли способ залить U-Boot в чистую NAND, используя UART и не имея SD карты? Процессор AM3354 в составе VAR-SOM-AM33.
По глупости душевной через U-Boot стер NAND, сижу оплакиваю труп.
Каким образом первоначально в NAND заливается U-boot?


--------------------
Go to the top of the page
 
+Quote Post
Jury093
сообщение Jun 13 2013, 09:52
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(shamrel @ Jun 13 2013, 13:32) *
Существует ли способ залить U-Boot в чистую NAND, используя UART и не имея SD карты? Процессор AM3354 в составе VAR-SOM-AM33.
По глупости душевной через U-Boot стер NAND, сижу оплакиваю труп.
Каким образом первоначально в NAND заливается U-boot?

выставляете режим загрузки через УАРТ и подпихиваете бинарники через xmodem - сначала MLO, потом U-BOOT, потом из юбута размечаете НАНД и по сетке подтягиваете ядро и рутовую, которые заливаете в НАНД..
Go to the top of the page
 
+Quote Post
shamrel
сообщение Jun 14 2013, 05:17
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 10-10-07
Из: Новосибирск
Пользователь №: 31 229



Цитата(Jury093 @ Jun 13 2013, 13:52) *
выставляете режим загрузки через УАРТ и подпихиваете бинарники через xmodem - сначала MLO, потом U-BOOT, потом из юбута размечаете НАНД и по сетке подтягиваете ядро и рутовую, которые заливаете в НАНД..

Благодарю! Используя утилиту TeraTerm удалось залить SPL и U-boot. Однако возникла проблема, не определяется NAND:
Цитата
U-Boot 2011.09 (Jun 14 2013 - 11:42:14)
I2C: ready
DRAM: 256 MiB
WARNING: Caches not enabled
Varisciye AM33 SOM revision 1.1 detected
NAND: HW ECC Hamming Code selected
No NAND device found!!!
0 MiB
MMC: OMAP SD/MMC: 0

Причем U-boot собирал из LSP packages, предоставленного фирмой изготовителя модуля, строго по инструкции и для обозначенной целевой платформы.
На http://e2e.ti.com нашел аналогичную проблему, по видимому, проблемам в PIN mux. Другими словами, на ножки процессора, ответственные за работу с NAND назначены по умолчанию другие (альтернативные) функции. А вот где в исходника U-boot настраивается PIN mux я найти не могу. Нужна помощь.


--------------------
Go to the top of the page
 
+Quote Post
Jury093
сообщение Jun 14 2013, 07:22
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(shamrel @ Jun 14 2013, 09:17) *
Благодарю! Используя утилиту TeraTerm удалось залить SPL и U-boot. Однако возникла проблема, не определяется NAND:
Причем U-boot собирал из LSP packages, предоставленного фирмой изготовителя модуля, строго по инструкции и для обозначенной целевой платформы.
На http://e2e.ti.com нашел аналогичную проблему, по видимому, проблемам в PIN mux. Другими словами, на ножки процессора, ответственные за работу с NAND назначены по умолчанию другие (альтернативные) функции. А вот где в исходника U-boot настраивается PIN mux я найти не могу. Нужна помощь.

поздравляю, половина дела сделана..
в теории может нанд погореть - всякое бывает.. будем надеятся на лучшее..
посмотрите в
include/configs/конфиг-платы
прописан ли там нанд, мало ли..
мукс пинов вроде вот тут лежит
board/ti/am335x/mux.c
смотрите логику дефайнов и инита нужных веток подсистем АРМа

исходников для som-var у меня нет, смотрю в юбутские 2012 от BeagleBone - поэтому могу где-то заблуждаться..

секас с варисайтовским сомом у меня впереди - д.б. полный комплект исходников от производителя, иначе пойдут лесом..
Go to the top of the page
 
+Quote Post
shamrel
сообщение Jun 17 2013, 05:17
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 10-10-07
Из: Новосибирск
Пользователь №: 31 229



Цитата(Jury093 @ Jun 14 2013, 11:22) *
поздравляю, половина дела сделана..
в теории может нанд погореть - всякое бывает.. будем надеятся на лучшее..
посмотрите в
include/configs/конфиг-платы
прописан ли там нанд, мало ли..
мукс пинов вроде вот тут лежит
board/ti/am335x/mux.c
смотрите логику дефайнов и инита нужных веток подсистем АРМа

исходников для som-var у меня нет, смотрю в юбутские 2012 от BeagleBone - поэтому могу где-то заблуждаться..

секас с варисайтовским сомом у меня впереди - д.б. полный комплект исходников от производителя, иначе пойдут лесом..

Спасибо за ответ!
Проверил мукс ножек, ошибок не нашел.
Вычитал файл конфигурации \include\configs\var_am335x.h, сравнил с am335x_evm.h, принципиальных различий в конкурировании NAND не нашел.
Сам чип NAND скорее жив, чем мертв. Взял другую плату с предустановленным U-boot, если грузится с NAND, то NAND определяется (логично), если загружаю свой U-boot через UART, то "No NAND device found!!!".
Вопрос остается открытым. Как получить рабочий U-boot?

Еще помогите разобраться, в чем отличие файла MLO(36477байт) от u-boot-spl.bin (35927 байт). Спрашиваю, потому как в SDK от Variscite лежит помимо u-boot-var-som-am33.img еще файл MLO-var-som-am33. Через UART MLO запустить не удается. При компиляции U-boot получается и файл MLO, и файл u-boot-spl.bin.

P.S.: написал в техподдержку Variscite, жду ответа.

Сообщение отредактировал shamrel - Jun 17 2013, 05:25


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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