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

 
 
9 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> AM1705 первый запуск, UBL, UART
PavelG
сообщение Nov 17 2011, 11:36
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



По поводу первого пункта. Собрал U-boot с SPI flash вместо NAND, и все благополучно запустилось. Есть подозрение на косяк в исходник связанных c NAND.
Go to the top of the page
 
+Quote Post
PavelG
сообщение Nov 22 2011, 10:40
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



С NAND разобрался. В конфигах прописанно, что NAND подключаеться к выводу CS3, а в моем случае она подключена к CS2. Поменять порт я поменял, а вот регистр поменять на CE2 забыл, потому с NAND U-boot у меня и не запускался.
Go to the top of the page
 
+Quote Post
PavelG
сообщение Nov 24 2011, 15:24
Сообщение #33


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Пытаюсь запустить связку AM1705 и LAN8710 в режиме RMII. U-boot чип не видит, тактовый сигнал на MDC ножке чипа присутсвует, и что-то передаеться на ножку MDIO при чем постоянно (после запуска U-boot, сигналы смотрел осциллографом). Распаяку чипа проверял, все на месте. Подскажите, где может быть проблема? Мне кажеться, что в исходниках отсутсвует описание протоколов общения с данным PHY, но где их искать не знаю.

Сообщение отредактировал PavelG - Nov 24 2011, 15:25
Go to the top of the page
 
+Quote Post
PavelG
сообщение Nov 30 2011, 13:40
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Проблема оказалась в том, что в исходниках U-boot'а были выстроены настроеки на получение внешнего тактовго сигнала в 50 МГц. Поправил регистр pinmux[9] и чип нашелся, но теперь не получаеться пинговаться. Проверял снифером пакет запроса МАС адреса приходит на ПК, тот отвечает, но плата почему-то не принимает данных.
Go to the top of the page
 
+Quote Post
Славка
сообщение Dec 2 2011, 05:35
Сообщение #35


Участник
*

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



Цитата(PavelG @ Nov 30 2011, 17:40) *
Проблема оказалась в том, что в исходниках U-boot'а были выстроены настроеки на получение внешнего тактовго сигнала в 50 МГц. Поправил регистр pinmux[9] и чип нашелся, но теперь не получаеться пинговаться. Проверял снифером пакет запроса МАС адреса приходит на ПК, тот отвечает, но плата почему-то не принимает данных.

Чипы разные бывают. Читайте даташит, смотрите исходники. Даете ли Вы резет физике? Записываете нужные регистры? Для проверки можно еще посмотреть на сигнал RXDV. При приеме пакета он должен опускаться в ноль. Постоянный обмен там идет из-за вычитывания link статуса. Когда регистрируется драйвер для физики, то там передаются функции инициализации и опроса статуса. Можно не передавать функции опроса. Тогда не будет постоянного обмена, но и MAC не будет приспасабливаться к физике. Все это делается в cpu/arm926ejs/ether.c. У меня тоже было много проблем с сетью. На моем устройстве установлен marvell 88e6165 через micrel ksz8041, так как у marvell нет RMII. Тож замучался пока все это настроил. Могу скинуть исходники, если у вас ksz8041 может помогут чем-то.
Кстати, спешу сообщить, что линукс успешно запущен, сделали на днях файловую систему. Все прекрасно работает, чему я несказанно рад. Теперь делаем уже приложение под линукс.
Go to the top of the page
 
+Quote Post
PavelG
сообщение Dec 2 2011, 14:37
Сообщение #36


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Цитата(Славка @ Dec 2 2011, 08:35) *
Чипы разные бывают. Читайте даташит, смотрите исходники. Даете ли Вы резет физике? Записываете нужные регистры? Для проверки можно еще посмотреть на сигнал RXDV. При приеме пакета он должен опускаться в ноль.


Ресет чипа объединен с ресетом процессора, поэтому при каждой перепрашивке процессора на чип так же подается ресет (проверял осциллографом). Проверял осциллографом пины по которым идет обмен данными с процессором (RXD[0...1] и TXD[0...1]) данные есть и там и там, поэтому подозреваю, что нужно все таки править исходники. RXDV у меня почему-то все время в 0.
По команде mii device у меня выводится 'GENERIC @ 0x07', это правильно? А то смотрел ether.c, и мне показалось, что должна выводится надпись типа Ethernet PHY: [имя PHY]?

У меня эта надпись выовдится в независимости от того, пишу я #define CONFIG_MII или #undef CONFIG_MII.


Цитата(Славка @ Dec 2 2011, 08:35) *
Тож замучался пока все это настроил. Могу скинуть исходники, если у вас ksz8041 может помогут чем-то.

У меня LAN8710 подключена напрямую к AM1705, но исходники я бы у Вас попросил, возможно натолкнут меня на идею где чего подправить. Кстати, не подскажите, где искать непосредственные значения, которые записываются в регистры управление PHY чипом? В папке drivers/net/phy записанна только реализация функций при помощи которых записываются данные в PHY.

Сообщение отредактировал PavelG - Dec 2 2011, 14:39
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 4 2011, 11:23
Сообщение #37


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



U-boot на пинги не отвечает, если что. только пинговать умеет.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
PavelG
сообщение Dec 6 2011, 16:07
Сообщение #38


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-10-11
Пользователь №: 67 674



Разобрался, я не устанавливал маску сети. Сейчас пытаюсь загрузить U-boot из NAND.
Go to the top of the page
 
+Quote Post
am1808
сообщение Dec 6 2011, 18:11
Сообщение #39


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

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



Цитата(Славка @ Nov 7 2011, 10:45) *
Проблема с перезагрузкой решена! Так как у меня на борту стоит 16Мб ОЗУ, а entrypoint u-boot установлен по умолчанию с отступом от начала на 16 Мб, чтобы linux мог развернуться. Так вот u-boot у меня писался в область памяти, где разворачивается linux + 16 Мб (старший адресс у меня на памяти не заведен вообще). Тоесть вроде все работало нечайно)) Когда исправил entry point u-boot, все заработало с пол пинка. Осталось сделать файловую систему для линукса, что в принципе не сложно, опыт есть. Но сейчас приходится заниматься старым проектом, исправлением глюков, потому откладывается на неопределенный срок.

Грузите сразу uboot без ubl.
1. Открываете инструкцию UserGuide (в папке docs SDK). Ищете инструкцию по компиляции u-boot. Компилируете.
2. Берете файл u-boot (без расширения, это ELF файл. не u-boot.bin). Запускаете AisGen.
3. В AisGen внимательно по даташиту и вашей схеме настраиваете все что у вас используется на плате (bootmode, кварц, память, PINMUX, PSC...) и генерируете AIS.
4. Грузите через UARTHOST ais файл.
5. Радуетесь biggrin.gif

Как подпилить u-boot - отдельная песня. Все зависит от того, насколько ваша плата отличается от кита. Спросите что конкретно подкрутить - я подскажу в каком месте в исходниках это делается.


вечер добрый!

сейчас у меня имеется аналогичная проблема с запуском u-boot. процессор AM1705

после минимальной конфигурации UBL ( http://processors.wiki.ti.com/index.php/Se...y_for_OMAP-L137 ) UBL запустил; плюс, проверил по минимуму SPI и NAND (простая запсиь и чтение с флешек) и проверил оперативную память, все проверял из UBL путем своих тестовых функций. все вроде работает. естественно, UBL компилировал в CCS + AISgen со всей конфигурацией, кроме EMIA.

но вот с запуском u-boot большие проблемы.
пытаюсь запустить u-boot без UBL, (вместе с UBL пока прошить в SPI не удалось).

проблема с u-boot связана вот с чем, скорее всего что-то с терминалом не то, ввиду того, что, прикрутив функционал UART от UBL к u-boot (для хоть какого то вывода на терминал), функции UARTA из UBL работают в u-boot, вижу, что юбут грузится и точно доходит до функции board_init() ! с помощью этого мне удалось выяснить, что сам u-boot падает на своей конфигурации UART.

кто может что подсказать по этому поводу?
от референса моя плата практически не отличается. для загрузки использую UART2

в исходниках юбута изменил только размер оперативной памяти, подредактировал pinmux da830.c

Сообщение отредактировал am1808 - Dec 6 2011, 18:13
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2011, 20:42
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(am1808 @ Dec 6 2011, 22:11) *
с помощью этого мне удалось выяснить, что сам u-boot падает на своей конфигурации UART.

Как проявляется это падение?

u-boot может некорректно настраивать делитель при начальной загрузке через UART.
Чтобы это исправить, измените файл ns16550.c:
Код
void NS16550_init (NS16550_t com_port, int baud_divisor)
{
    ...
#if defined(CONFIG_SOC_DA8XX)
    com_port->regD = 0;    /* 16x over-sampling */
#endif /* CONFIG_SOC_DA8XX */
}

Go to the top of the page
 
+Quote Post
am1808
сообщение Dec 6 2011, 21:06
Сообщение #41


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

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



Цитата(aaarrr @ Dec 7 2011, 00:42) *
Как проявляется это падение?

u-boot может некорректно настраивать делитель при начальной загрузке через UART.
Чтобы это исправить, измените файл ns16550.c:
Код
void NS16550_init (NS16550_t com_port, int baud_divisor)
{
    ...
#if defined(CONFIG_SOC_DA8XX)
    com_port->regD = 0;    /* 16x over-sampling */
#endif /* CONFIG_SOC_DA8XX */
}


спасибо.
утром попробую и отпишусь.
прояявляется это зависанием, терминал зависает. еще очень часто бывает так, что при нажатии Enter вводится или отображается символ '='

сейчас у меня так

CODE
void NS16550_init (NS16550_t com_port, int baud_divisor)
{
com_port->ier = 0x00;
#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
com_port->mdr1 = 0x7; /* mode select reset TL16C750*/
#endif
com_port->lcr = UART_LCR_BKSE | UART_LCRVAL;
com_port->dll = 0;
com_port->dlm = 0;
com_port->lcr = UART_LCRVAL;
com_port->mcr = UART_MCRVAL;
com_port->fcr = UART_FCRVAL;
com_port->lcr = UART_LCR_BKSE | UART_LCRVAL;
com_port->dll = baud_divisor & 0xff;
com_port->dlm = (baud_divisor >> 8) & 0xff;
com_port->lcr = UART_LCRVAL;
#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
#if defined(CONFIG_APTIX)
com_port->mdr1 = 3; /* /13 mode so Aptix 6MHz can hit 115200 */
#else
com_port->mdr1 = 0; /* /16 is proper to hit 115200 with 48MHz */
#endif
#endif /* CONFIG_OMAP */
}


Сообщение отредактировал am1808 - Dec 6 2011, 21:10
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2011, 21:16
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(am1808 @ Dec 7 2011, 01:06) *
прояявляется это зависанием, терминал зависает. еще очень часто бывает так, что при нажатии Enter вводится или отображается символ '='

Тогда почти наверняка оно - из-за неправильного делителя в терминал передается груда мусора, вот он и зависает.
Go to the top of the page
 
+Quote Post
am1808
сообщение Dec 6 2011, 21:23
Сообщение #43


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

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



Цитата(aaarrr @ Dec 7 2011, 01:16) *
Тогда почти наверняка оно - из-за неправильного делителя в терминал передается груда мусора, вот он и зависает.

хорошо, спасибо.
утром отпишуcь.

а что за регистр такой com_port->regD = 0; ?
это с mdr как то связано?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2011, 21:31
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(am1808 @ Dec 7 2011, 01:23) *
а что за регистр такой com_port->regD = 0; ?
это с mdr как то связано?

Это он и есть. Просто ROM-загрузчик при инициализации UART может выставить OSM_SEL в '1', а u-boot об этом не знает.
Go to the top of the page
 
+Quote Post
am1808
сообщение Dec 7 2011, 13:35
Сообщение #45


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

Группа: Участник
Сообщений: 125
Регистрация: 29-05-11
Из: Nizhny Novgorod, Russian Federation
Пользователь №: 65 337



Цитата(aaarrr @ Dec 7 2011, 01:31) *
Это он и есть. Просто ROM-загрузчик при инициализации UART может выставить OSM_SEL в '1', а u-boot об этом не знает.

aaarrr, спасибо преогромное, проблема с UART решилась beer.gif, u-boot загрузил 08.gif

Сообщение отредактировал am1808 - Dec 7 2011, 13:55
Go to the top of the page
 
+Quote Post

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

 


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


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