J.Joker 0 17 ноября, 2011 Опубликовано 17 ноября, 2011 · Жалоба По поводу первого пункта. Собрал U-boot с SPI flash вместо NAND, и все благополучно запустилось. Есть подозрение на косяк в исходник связанных c NAND. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 22 ноября, 2011 Опубликовано 22 ноября, 2011 · Жалоба С NAND разобрался. В конфигах прописанно, что NAND подключаеться к выводу CS3, а в моем случае она подключена к CS2. Поменять порт я поменял, а вот регистр поменять на CE2 забыл, потому с NAND U-boot у меня и не запускался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 (изменено) · Жалоба Пытаюсь запустить связку AM1705 и LAN8710 в режиме RMII. U-boot чип не видит, тактовый сигнал на MDC ножке чипа присутсвует, и что-то передаеться на ножку MDIO при чем постоянно (после запуска U-boot, сигналы смотрел осциллографом). Распаяку чипа проверял, все на месте. Подскажите, где может быть проблема? Мне кажеться, что в исходниках отсутсвует описание протоколов общения с данным PHY, но где их искать не знаю. Изменено 24 ноября, 2011 пользователем PavelG Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 30 ноября, 2011 Опубликовано 30 ноября, 2011 · Жалоба Проблема оказалась в том, что в исходниках U-boot'а были выстроены настроеки на получение внешнего тактовго сигнала в 50 МГц. Поправил регистр pinmux[9] и чип нашелся, но теперь не получаеться пинговаться. Проверял снифером пакет запроса МАС адреса приходит на ПК, тот отвечает, но плата почему-то не принимает данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slavayo777 0 2 декабря, 2011 Опубликовано 2 декабря, 2011 · Жалоба Проблема оказалась в том, что в исходниках U-boot'а были выстроены настроеки на получение внешнего тактовго сигнала в 50 МГц. Поправил регистр pinmux[9] и чип нашелся, но теперь не получаеться пинговаться. Проверял снифером пакет запроса МАС адреса приходит на ПК, тот отвечает, но плата почему-то не принимает данных. Чипы разные бывают. Читайте даташит, смотрите исходники. Даете ли Вы резет физике? Записываете нужные регистры? Для проверки можно еще посмотреть на сигнал RXDV. При приеме пакета он должен опускаться в ноль. Постоянный обмен там идет из-за вычитывания link статуса. Когда регистрируется драйвер для физики, то там передаются функции инициализации и опроса статуса. Можно не передавать функции опроса. Тогда не будет постоянного обмена, но и MAC не будет приспасабливаться к физике. Все это делается в cpu/arm926ejs/ether.c. У меня тоже было много проблем с сетью. На моем устройстве установлен marvell 88e6165 через micrel ksz8041, так как у marvell нет RMII. Тож замучался пока все это настроил. Могу скинуть исходники, если у вас ksz8041 может помогут чем-то. Кстати, спешу сообщить, что линукс успешно запущен, сделали на днях файловую систему. Все прекрасно работает, чему я несказанно рад. Теперь делаем уже приложение под линукс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 2 декабря, 2011 Опубликовано 2 декабря, 2011 (изменено) · Жалоба Чипы разные бывают. Читайте даташит, смотрите исходники. Даете ли Вы резет физике? Записываете нужные регистры? Для проверки можно еще посмотреть на сигнал 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. Изменено 2 декабря, 2011 пользователем PavelG Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 4 декабря, 2011 Опубликовано 4 декабря, 2011 · Жалоба U-boot на пинги не отвечает, если что. только пинговать умеет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
J.Joker 0 6 декабря, 2011 Опубликовано 6 декабря, 2011 · Жалоба Разобрался, я не устанавливал маску сети. Сейчас пытаюсь загрузить U-boot из NAND. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 6 декабря, 2011 Опубликовано 6 декабря, 2011 (изменено) · Жалоба Проблема с перезагрузкой решена! Так как у меня на борту стоит 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. Радуетесь Как подпилить 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 Изменено 6 декабря, 2011 пользователем am1808 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 6 декабря, 2011 Опубликовано 6 декабря, 2011 · Жалоба с помощью этого мне удалось выяснить, что сам 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 */ } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 6 декабря, 2011 Опубликовано 6 декабря, 2011 (изменено) · Жалоба Как проявляется это падение? 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 */ } Изменено 6 декабря, 2011 пользователем am1808 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 6 декабря, 2011 Опубликовано 6 декабря, 2011 · Жалоба прояявляется это зависанием, терминал зависает. еще очень часто бывает так, что при нажатии Enter вводится или отображается символ '=' Тогда почти наверняка оно - из-за неправильного делителя в терминал передается груда мусора, вот он и зависает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 6 декабря, 2011 Опубликовано 6 декабря, 2011 · Жалоба Тогда почти наверняка оно - из-за неправильного делителя в терминал передается груда мусора, вот он и зависает. хорошо, спасибо. утром отпишуcь. а что за регистр такой com_port->regD = 0; ? это с mdr как то связано? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 6 декабря, 2011 Опубликовано 6 декабря, 2011 · Жалоба а что за регистр такой com_port->regD = 0; ? это с mdr как то связано? Это он и есть. Просто ROM-загрузчик при инициализации UART может выставить OSM_SEL в '1', а u-boot об этом не знает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
am1808 0 7 декабря, 2011 Опубликовано 7 декабря, 2011 (изменено) · Жалоба Это он и есть. Просто ROM-загрузчик при инициализации UART может выставить OSM_SEL в '1', а u-boot об этом не знает. aaarrr, спасибо преогромное, проблема с UART решилась :beer:, u-boot загрузил :08: Изменено 7 декабря, 2011 пользователем am1808 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться