Перейти к содержанию
    

По поводу первого пункта. Собрал U-boot с SPI flash вместо NAND, и все благополучно запустилось. Есть подозрение на косяк в исходник связанных c NAND.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С NAND разобрался. В конфигах прописанно, что NAND подключаеться к выводу CS3, а в моем случае она подключена к CS2. Поменять порт я поменял, а вот регистр поменять на CE2 забыл, потому с NAND U-boot у меня и не запускался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Изменено пользователем PavelG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема оказалась в том, что в исходниках U-boot'а были выстроены настроеки на получение внешнего тактовго сигнала в 50 МГц. Поправил регистр pinmux[9] и чип нашелся, но теперь не получаеться пинговаться. Проверял снифером пакет запроса МАС адреса приходит на ПК, тот отвечает, но плата почему-то не принимает данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема оказалась в том, что в исходниках U-boot'а были выстроены настроеки на получение внешнего тактовго сигнала в 50 МГц. Поправил регистр pinmux[9] и чип нашелся, но теперь не получаеться пинговаться. Проверял снифером пакет запроса МАС адреса приходит на ПК, тот отвечает, но плата почему-то не принимает данных.

Чипы разные бывают. Читайте даташит, смотрите исходники. Даете ли Вы резет физике? Записываете нужные регистры? Для проверки можно еще посмотреть на сигнал RXDV. При приеме пакета он должен опускаться в ноль. Постоянный обмен там идет из-за вычитывания link статуса. Когда регистрируется драйвер для физики, то там передаются функции инициализации и опроса статуса. Можно не передавать функции опроса. Тогда не будет постоянного обмена, но и MAC не будет приспасабливаться к физике. Все это делается в cpu/arm926ejs/ether.c. У меня тоже было много проблем с сетью. На моем устройстве установлен marvell 88e6165 через micrel ksz8041, так как у marvell нет RMII. Тож замучался пока все это настроил. Могу скинуть исходники, если у вас ksz8041 может помогут чем-то.

Кстати, спешу сообщить, что линукс успешно запущен, сделали на днях файловую систему. Все прекрасно работает, чему я несказанно рад. Теперь делаем уже приложение под линукс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чипы разные бывают. Читайте даташит, смотрите исходники. Даете ли Вы резет физике? Записываете нужные регистры? Для проверки можно еще посмотреть на сигнал RXDV. При приеме пакета он должен опускаться в ноль.

 

Ресет чипа объединен с ресетом процессора, поэтому при каждой перепрашивке процессора на чип так же подается ресет (проверял осциллографом). Проверял осциллографом пины по которым идет обмен данными с процессором (RXD[0...1] и TXD[0...1]) данные есть и там и там, поэтому подозреваю, что нужно все таки править исходники. RXDV у меня почему-то все время в 0.

По команде mii device у меня выводится 'GENERIC @ 0x07', это правильно? А то смотрел ether.c, и мне показалось, что должна выводится надпись типа Ethernet PHY: [имя PHY]?

 

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

 

 

Тож замучался пока все это настроил. Могу скинуть исходники, если у вас ksz8041 может помогут чем-то.

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

Изменено пользователем PavelG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема с перезагрузкой решена! Так как у меня на борту стоит 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:

 

Как подпилить 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с помощью этого мне удалось выяснить, что сам 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 */
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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 вводится или отображается символ '='

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Тогда почти наверняка оно - из-за неправильного делителя в терминал передается груда мусора, вот он и зависает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда почти наверняка оно - из-за неправильного делителя в терминал передается груда мусора, вот он и зависает.

хорошо, спасибо.

утром отпишуcь.

 

а что за регистр такой com_port->regD = 0; ?

это с mdr как то связано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что за регистр такой com_port->regD = 0; ?

это с mdr как то связано?

Это он и есть. Просто ROM-загрузчик при инициализации UART может выставить OSM_SEL в '1', а u-boot об этом не знает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это он и есть. Просто ROM-загрузчик при инициализации UART может выставить OSM_SEL в '1', а u-boot об этом не знает.

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

Изменено пользователем am1808

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...