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

С уартом разобрался - мой загрузчик устанавливал регистр FDR (fractional divider), а драйвер микролинухового сериалпорта его нормально не обрабатывал.

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


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

Всем привет!!!

Влил в upload/os/uClinux_EA_LPC2468

 

диски от кита версий 2.0(2007-05-23) и 2.1(2007-12-02).

 

Надеюсь пригодится.

 

Скоро придет родной диск с ECos, сразу залью.

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


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

У меня вопрос по UART1.

Этот порт имеет стандартный модемный интерфейс (сигналы: CTS, DCD, DTS, DTR, RI, RTS). Кто-либо может сказать, используются ли эти сигналы стандартным драйвером ядра 2.6.11?

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


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

Всем доброго времени суток!

Есть вопрос: Ставил кто-нибудь ELDK (ftp://ftp.sunet.se/pub/Linux/distributions/eldk/4.0/arm-linux-x86/iso/arm-2006-01-16.iso), котрый рекомендуется на сайте EA?

У меня он зависает при установке rpm-пакетов (prepearing 100%).

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


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

EmbeddedArtists выложил новый порт ucLinux под lpc2468.

Ядро 2.6.21.

 

обсуждения здесь http://tech.groups.yahoo.com/group/lpc2400...essages/807?l=1

 

Пока нет времени этим заниматься, если кто запустит поделитесь впечатлениями. Особенно интересуют обновления драйвера Ethernet.

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


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

Вот инструкция, патчи, тулчаны:

readme.zip

hттp://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.gz

hттp://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20070130.tar.gz

ea_uClinux_081020.diff.gz

mkcramfs.zip

hттp://ftp.snapgear.org/pub/snapgear/tools/arm-linux/arm-linux-tools-20061213.tar.gz

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


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

Пожалуйста, подскажите, как в u-boot для Embedded Artists LPC2468 OEM Board задать Ethernet MAC адрес (setenv ethaddr 00:1a:f1:XX:XX:XX)?

На плату указан Ethernet MAC Adress = 001AF000257, а что вводить командой setenv ethaddr ...?

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


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

Пожалуйста, подскажите, как в u-boot для Embedded Artists LPC2468 OEM Board задать Ethernet MAC адрес (setenv ethaddr 00:1a:f1:XX:XX:XX)?

На плату указан Ethernet MAC Adress = 001AF000257, а что вводить командой setenv ethaddr ...?

 

В u-boot пишешь:

set ethaddr 00:1a:f0:00:25:70
save

(они забыли на бумажке дописать последний байт MAC'а. у меня так же (плата LPC2478))

 

Удачи!

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


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

Уважаемые коллеги, у меня никак не доходят руки поковырятся с последним портом, а любопытство гложит.

Подскажите в ядре 2.6.21:

- Исправлен-ли глюк с UART (если при загрузке ОС послать ч.л. в UART, то ядро падает)?

- Драйвер Ethernet научился определять подключение/отключение кабеля?

 

И еще, ядро 2.6.11 работает при настройках PLL, которые запрещены в мануале: в регистр CCLKCFG разрешается записывать только нечетные значения. А реально записывается 4. Так вроде все работает, но какие проблемы могут возникнуть?

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


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

Подскажите в ядре 2.6.21:

- Исправлен-ли глюк с UART (если при загрузке ОС послать ч.л. в UART, то ядро падает)?

Исли вы имеете ввиду ошибку 'too much work on irq7' при любом обращении к UART1, то она осталась. У меня сейчас плата от EA с LPC2478 и как раз с Linux-2.6.21. Мне самому нужен UART1 и теперь не знаю как с этим быть. В рефлекторе на yahoo пишут, что якобы этот глюк связан с конфигурацией uart'а еще в u-boot, но с этим нужно разбираться. Может кто-то уже имеет хоть какое-то решение данной проблемы? Я пока не нашел.

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


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

Может кто-то уже имеет хоть какое-то решение данной проблемы? Я пока не нашел.

Решается очень просто: перед загрузкой ОС конфигурите пины RX,TX (можно только RX) как порты ввода-вывода. А перед открытием устройства - снова делаете их RX и TX. Дел там на 4 строчки кода.

 

Может быть посмотрите, как ведет себя драйвер Ethernet?

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


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

Может быть посмотрите, как ведет себя драйвер Ethernet?

Запросто, вот:

 

Окружение: плата - LPC2478-OEM board from EmbeddedArtists с uClinux 2.6.21 и u-boot 1.1.6, комп - Windows XP со встроенной сетевой платой 100BaseTX

 

Проверка №1: ethernet провод подключен к плате, uClinux загружается успешно, отключаю ethernet провод от платы и с компьютера посылаю пинги, через 5 секунд вставляю ethernet провод в плату:

C:\Documents and Settings\Администратор>ping 192.168.1.102 -t
Обмен пакетами с 192.168.1.102 по 32 байт:

Заданный узел недоступен.
Заданный узел недоступен.
Заданный узел недоступен.
Заданный узел недоступен.
Заданный узел недоступен.
Заданный узел недоступен.
Заданный узел недоступен.
Заданный узел недоступен.
Ответ от 192.168.1.102: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.102: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.102: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.102: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.102: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.102: число байт=32 время=1мс TTL=64

Статистика Ping для 192.168.1.102:
    Пакетов: отправлено = 14, получено = 6, потеряно = 8 (57% потерь),
Приблизительное время приема-передачи в мс:
    Минимальное = 1мсек, Максимальное = 2 мсек, Среднее = 1 мсек
Control-C

 

Как хорошо видно, загруженная система на плате нормально обрабатывает обрыв/восстановление сетевого соединения.

 

Проверка №2: uClinux загружается без ethernet провода, затем после загрузки он подключается вручную и после этого посылаются пинги с компа.

C:\Documents and Settings\Администратор>ping 192.168.1.102 -t

Обмен пакетами с 192.168.1.102 по 32 байт:

Ответ от 192.168.1.102: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.102: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.102: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.102: число байт=32 время=1мс TTL=64

Статистика Ping для 192.168.1.102:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
    Минимальное = 1мсек, Максимальное = 1 мсек, Среднее = 1 мсек
Control-C

 

Сразу после загрузки uClinux выдает в консоль "eth0: Link down", но после подключения к плате кабеля пинги с компа проходят сразу, т.е. интерфейс быстро "просыпается".

 

Если нитересны какие-то другие проверки ethernet, напишите, попробую по возможности.

 

Решается очень просто: перед загрузкой ОС конфигурите пины RX,TX (можно только RX) как порты ввода-вывода. А перед открытием устройства - снова делаете их RX и TX

Вот тут попрошу по-подробнее. Уже то, что кто-то нашел решение не может не радовать, а то на всех форумах что я "перерыл" только упоминание об этом давнем глюке и ни одного патча. (Может ошибаюсь?) Вы пишите, что нужно сконфигурировать пины ПЕРЕД загрузкой ОС, но где это делать? Я так подозреваю, что в u-boot. Больше ведь негде, никакой другой код кроме u-boot на плате не исполняется (кроме внутреннего flash загрузчика, конечно, но он не в счет).

Я понял так: в u-boot нужно пропатчить так, чтобы во время его инициализации пины RX/TX были настроены как I/O, затем в uClinux (в драйвере UART или в пользовательской программе?) нужно перед открытием UART1 снова "привязать" RX/TX к UART'y. Это правильно?

Интересно чем вызван такой баг? Он присутствует только в связке u-boot + uClinux или существует объективно и независимо от исполняемого кода? Если только в uClinux, то странно, что трудно найти патч. Многие же сталкиваются.

 

Спасибо за помощь!

 

---

dmitry

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


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

Интересно чем вызван такой баг? Он присутствует только в связке u-boot + uClinux или существует объективно и независимо от исполняемого кода? Если только в uClinux, то странно, что трудно найти патч. Многие же сталкиваются.

 

Я не пользуюсь uboot, у меня свой загрузчик. Считаю, что баг вызван ошибкой в драйвере. Патчи мне не известны.

Повторю немного подробнее свое решение:

Поскольку ошибка возникает, когда при загрузке ОС, внешние устройсва посылаю данные в UART платы, можно просто отключить пины RX и TX в загрузчике, перед стартом ОС. Сделать это можно записью "0" в соответствующие биты регистра PINSEL. А перед открытием порта снова разрешите эти пины либо в своей программе, либо в драйвере.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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