Контроллер Lincon L-8741

Jan 23, 2009 12:30

Китайская фирма ICPDAS делает контроллеры Lincon. Устройство в целом производит хорошее впечатление, не смотря на некоторые мелкие недоделки. Как показывает практика, всё можно привести в надлежащее состояние с помощью болгарки, сварочника и кувалды.

Само устройство оснащено процессором StrongARM 1110 и ОС Linux.

1.

Первое с чем пришлось столкнутся это необходимость получить доступ к загрузчику с целью обновления прошивки. У них на FTP сервере прошивки новые есть для этого устройства но инструкции для обновления не нашлось. Поэтому пришлось разобрать крышку с блока CPU и обнаружить там отладочный порт. После чего собрать аккуратный шнурок и попробовать прицепиться терминалом.

У меня был нуль-модемный кабель поэтому я решил сделать распайку к нему. Разъём 8-pin оторвал от ненужной планки вывода USB разъёмов на заднюю панель персоналки. Разъём легко разбирается. Чтобы извлечь штырьки достаточно слегка отогнуть пластмассовую защёлку.

DB9M 8-pin
2----->4
3----->2
5----->6

Разъем 8-pin промаркирован на плате.




Настройки терминала 115200, 8N1 (8 бит данных, нет контроля чётности, 1 стоповый бит). Если установить переключатель на передней панели в положение 2, то при включении загрузчик пытается получить адрес через DHCP и начать закачку образа с TFTP сервера. Можно ему их любезно подсунуть, после чего загрузчик скачает образ и зашьёт его во внутренний flash.

Используется загрузчик U-boot.

Если в течении первых двух секунд нажать любую клавишу то сразу попадём в командную строку U-boot.

По умолчанию по истечении двух секунд загрузчик стаскивает образ для прошивки из корня tftp сервера. Адрес tftp сервера определяется как первый адрес сети, из которой был получен адрес для контроллера. Например, если DHCP выдал адрес 192.168.10.33 то загрузчик будет искать файл /linuxnk.bin на TFTP сервере с адресом 192.168.10.1.

Я испрользовал tftpd-hpa на Debian/etch. Сам демон файлы раздаёт из /var/lib/tftpboot т.е. образ прошивки надо копировать в этот каталог.

2.

Поставляемый toolchain устанавливается в каталог /lincon. Почему-то в toolchain отсутствует отладчик и проанализировать core в случае ошибки оказалось невозможным. При этом на самом контроллере в стандартной прошивке есть gdbserver и можно удалённо подключаться отладчиком.

Конечно, грамотно и в нужном месте поставленный printf всегда лучше отладчика но иногда без него сложно. Решил собрать gdb для кросс-отладки контроллера.

На сервере проекта GNU нужно забрать последнюю версию отладчика GDB http://ftp.gnu.org/gnu/gdb/ после чего распаковать каталог и запустить ./configure со следующими параметрами:

# ./configure --prefix=/lincon/tools --host=x86-64-linux --target=arm-linux --with-cpu=strongarm110 --with-headers=/lincon/tools/arm-linux/include

У меня процессор хост-машины AMD64. Если у вас будет другой, укажите соответствующую архитектуру. Для i686 будет i686-linux.

# make && make install

3.

Если хочется пользоваться Kdevelop для разработки то соответственным образом нужно настроить окружение.





Previous post Next post
Up