Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FreeBSD на AT91RM9200
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Отладочные платы
jack_avenger
Доброго времени суток всем!
Поискал по форуму о запуске FreeBSD на AT91RM9200 и ничего не нашел, поэтому решил открыть ветку.
С недавних пор вожусь з запуском FreeBSD на RM9200.
Код
KB9202(www.kwikbyte.com)
Auto boot..
0x0 : m 42 53 44 0 0 1[E]
0x1 : ip 206 168 13 194[E]
0x2 : server_ip 206 168 13 207[E]
0x3 : tftp 0x20000000 kernel.bin[E]
0x4 : e 0x20000000[E]
0x5 : [E]
0x6 : [E]
0x7 : [E]
0x8 : [E]
0x9 : |?[E]

>m 42 53 44 0 0 1


>ip 206 168 13 194


>server_ip 206 168 13 207


>tftp 0x20000000 kernel.bin
tftp: 2497948 byte


>e 0x20000000
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-RC2 #2: Fri Feb 15 10:14:59 EET 2008 root@:/usr/obj/arm/usr/src/sys/KB920X
CPU: ARM920T rev 0 (ARM9TDMI core)
  DC enabled IC enabled WB enabled LABT
  16KB/32B 64-way Instruction cache
  16KB/32B 64-way write-back-locking-A Data cache
real memory  = 33554432 (32 MB)
avail memory = 29450240 (28 MB)
atmelarm0: <AT91 device bus> on motherboard
at91_st0: <ST> mem 0xdffffd00-0xdffffdff irq 1 on atmelarm0
at91_st0: watchdog registered, timeout intervall max. 64 sec
at91_pio0: <PIOA> mem 0xdffff400-0xdffff5ff irq 1 on atmelarm0
at91_pio0: ABSR: 0x60 OSR: 0 PSR:0x138001f ODSR: 0
at91_pio0: [FILTER]
at91_pio1: <PIOB> mem 0xdffff600-0xdffff7ff irq 1 on atmelarm0
at91_pio1: ABSR: 0xff300 OSR: 0 PSR:0x3fc00cff ODSR: 0
at91_pio1: [FILTER]
at91_pio2: <PIOC> mem 0xdffff800-0xdffff9ff irq 1 on atmelarm0
at91_pio2: ABSR: 0 OSR: 0x1c0000 PSR:0xffffc07f ODSR: 0x180000
at91_pio2: [FILTER]
at91_pio3: <PIOD> mem 0xdffffa00-0xdffffbff irq 1 on atmelarm: 0 PSR:0xfffffff ODSR: 0
at91_pio3: [FILTER]
at91_pmc0: <PMC> mem 0xdffffc00-0xdffffcff irq 1 on atmelarm0
at91_pmc0: Primary: 10000000 Hz PLLA: 180 MHz CPU: 180 MHz MCK: 60 MHz
at91_mci0: <MCI mmc/sd host bridge> mem 0xdffb4000-0xdffb7fff irq 10 on atmelarm0
at91_mci0: [ITHREAD]
mmc0: <mmc/sd bus> on at91_mci0
at91_twi0: <TWI> mem 0xdffb8000-0xdffbbfff irq 12 on atmelarm0
at91_twi0: [ITHREAD]
iicbus0: <Philips I2C bus> on at91_twi0
setting cwgr to 0x1a4a4
iicbus0: <unknown card> at addr 0
iic0: <I2C generic I/O> on iicbus0
icee0: <I2C EEPROM> at addr 0xa0 on iicbus0
ate0: <EMAC> mem 0xdffbc000-0xdffbffff irq 24 on atmelarm0
miibus0: <MII bus> on ate0
ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ate0: Ethernet address: 42:53:44:00:00:01
ate0: [ITHREAD]
uart0: <DBGU> mem 0xdffff200-0xdffff3ff irq 1 on atmelarm0
uart0: console (115200,n,8,1)
uart1: <USART0> mem 0xdffc0000-0xdffc3fff irq 6 on auart2: <USART1> mem 0xdffc
4000-0xdffc7fff irq 7 on atmelarm0
uart2: [FILTER]
uart3: <USART2> mem 0xdffc8000-0xdffcbfff irq 8 on atmelarm0
uart3: [FILTER]
uart4: <USART3> mem 0xdffcc000-0xdffcffff irq 9 on atmelarm0
uart4: [FILTER]
at91_spi0: <SPI> mem 0xdffe0000-0xdffe3fff irq 13 on atmelarm0
at91_spi0: [ITHREAD]
spibus0: <spibus bus> on at91_spi0
ohci0: <AT91 integrated ohci controller> mem 0xdfe00000-0xdfefffff irq 23 on atmelarm0
ohci0: [GIANT-LOCKED]
ohci0: [ITHREAD]
usb0: OHCI version 1.0
usb0 on ohci0
usb0: USB revision 1.0
uhub0: <Atmel OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhub0: device problem (IOERROR), disabling port 2
Cannot get 100 Hz clock; using 100Hz
at91_st0: [FILTER]
Timecounter "AT91RM9200 timer" frequency 32768 Hz quality 1000
Timecounters tick every 10.000 msec
SD CARD: 998768640 bytes
mmcsd0: <mmc or sd flash card> on mmc0
mmc0: setting transfer rate to 30.000MHz
Trying to mount root from ufs:/dev/mmcsd0s1a
warning: no time-of-day clock registered, system time will not be set accurately
Loading configuration files.
No suitable dump device was found.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
swapon: adding /dev/mmcsd0s1b as swap device
Starting file system checks:
/dev/mmcsd0s1a: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/mmcsd0s1a: clean, 146347 free (1171 frags, 18147 blocks, 0.5% fragmentation)
Setting hostuuid: 2db3ec31-dbc8-11dc-bc4d-425344000001.
Setting hostid: 0x8098ae24.
Mounting local file systems:.
Setting hostname: borda.nik.net.ua.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet 127.0.0.1 netmask 0xff000000
Additional routing options:.
Starting devd.
ate0: link state changed to UP
Additional IP options:.
Mounting NFS file systems:.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
Creating and/or trimming log files:.
Starting syslogd.
/etc/rc: WARNING: Dump device does not exist.  Savecore not run.
Initial arm initialization:.
Additional ABI support:.
NFS access cache time=60
Clearing /tmp (X related).
Starting lighttpd.
Starting local daemons:.
Updating motd.
Mounting late file systems:.
Starting sshd.
Starting cron.
Local package initialization: msql3.
Starting inetd.
Starting background file system checks in 60 seconds.

Sat Feb 16 19:38:36 UTC 2008

FreeBSD/arm (borda.nik.net.ua) (ttyu0)

login: root
Password:
Feb 16 19:39:03 borda login: ROOT LOGIN (root) ON ttyu0
Last login: Sat Feb 16 19:22:59 on ttyu0
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.

FreeBSD 7.0-RC2 (KB920X) #2: Fri Feb 15 10:14:59 EET 2008

You have new mail.
borda# pkg_info
libtool-1.5.24      Generic shared library support script
lighttpd-1.4.18_1   A secure, fast, compliant, and very flexible Web Server
msql-3.8            Version 3 of the Mini SQL relational database system
pcre-7.6            Perl Compatible Regular Expressions library
rdb-2.6d            A fast, portable, relational database management syste Лm
borda# uname -a
FreeBSD borda.nik.net.ua 7.0-RC2 FreeBSD 7.0-RC2 #2: Fri Feb 15 10:14:59 EET 2
008     root@:/usr/obj/arm/usr/src/sys/KB920X  arm
borda#

Запускал на плате KwikiByte KB9202C. Загрузка длится около 2 мин и причиной тому медленная работа с SD-карточкой.
В запуске очень помогла рассылка freebsd-arm на http://lists.freebsd.org/mailman/listinfo/freebsd-arm

В данный момент ищу облегченную бесплатную базу данных с поддержкой SQL
doomer#gp
Trying to mount root from ufs:/dev/mmcsd0s1a

UFS на флеш - не хорошо,конечно.

На счет базы, можно посмотреть в сторону SQLite : http://www.sqlite.org
jack_avenger
Цитата(doomer#gp @ Feb 18 2008, 01:01) *
Trying to mount root from ufs:/dev/mmcsd0s1a

UFS на флеш - не хорошо,конечно.

На счет базы, можно посмотреть в сторону SQLite : http://www.sqlite.org

Знаю что нехорошо, отключу syslog, викину все лишние службы, добавлю RAM до 128 Мб и отключу своп - тогда посмотрю что из этого выйдет. Устройство не будет интенсивно использоваться - раз в сутки сбор даных по UART-y, запись в базу и передача через Ethernet по требованию.

На SQLite смотрел - у нее зависимость от libiconv, которую пока не смог скомпилировать под arm.
Запустил только mSQL но она слабенькая да вдобавок еще и платная.
PrSt
Цитата(jack_avenger @ Feb 17 2008, 19:19) *
Доброго времени суток всем!
Поискал по форуму о запуске FreeBSD на AT91RM9200 и ничего не нашел, поэтому решил открыть ветку.
С недавних пор вожусь з запуском FreeBSD на RM9200.
Код
KB9202(www.kwikbyte.com)
......
FreeBSD/arm (borda.nik.net.ua) (ttyu0)

login: root
Password:
Feb 16 19:39:03 borda login: ROOT LOGIN (root) ON ttyu0
Last login: Sat Feb 16 19:22:59 on ttyu0
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.

FreeBSD 7.0-RC2 (KB920X) #2: Fri Feb 15 10:14:59 EET 2008

You have new mail.
borda# pkg_info
libtool-1.5.24      Generic shared library support script
lighttpd-1.4.18_1   A secure, fast, compliant, and very flexible Web Server
msql-3.8            Version 3 of the Mini SQL relational database system
pcre-7.6            Perl Compatible Regular Expressions library
rdb-2.6d            A fast, portable, relational database management syste Лm
borda# uname -a
FreeBSD borda.nik.net.ua 7.0-RC2 FreeBSD 7.0-RC2 #2: Fri Feb 15 10:14:59 EET 2
008     root@:/usr/obj/arm/usr/src/sys/KB920X  arm
borda#

Запускал на плате KwikiByte KB9202C. Загрузка длится около 2 мин и причиной тому медленная работа с SD-карточкой.
В запуске очень помогла рассылка freebsd-arm на http://lists.freebsd.org/mailman/listinfo/freebsd-arm

В данный момент ищу облегченную бесплатную базу данных с поддержкой SQL


Автору - зачет!
Отлично!
Замечательно!
Превосходно!

Я конечно не любитель FreeBSD, больше фан линукса, но не в этом дело, и очень уважаю FreeBSD + давно присматриваюсь к ней на embedded системы.
И год назад искал ее возможность использования на RM9200 - не нашел и обломился...
Думал что у FreeBSD с эмбиддедом вообще дела плохи....
а как оказалось не все так плохо!
И даже видно из этого поста что это таки осуществимо и "оно работает" (С@матроскинГ)

я ее присматриваю как альтернативному решению вместо линукса.
да, спасибо за ссылку куда копать при поиске иформации (может у Вас есть еще интерсные ссылочки)
если всеже эта мысль осуществится - будет уже какаято тропа натоптана...

Супер!

.
Stanislav Sedov
Собственно, на Черкашинской плате она тоже нормально работает , правда с некоторыми патчами, часть их которых уже влита в upstream.

Правда у меня тут что-то USB сдох, то ли на плате, то ли ещё где-то:-(

Цитата(jack_avenger @ Feb 17 2008, 20:19) *
Доброго времени суток всем!
Поискал по форуму о запуске FreeBSD на AT91RM9200 и ничего не нашел, поэтому решил открыть ветку.
С недавних пор вожусь з запуском FreeBSD на RM9200.


А как Вы kb9202 заказывали, если не секрет?


Цитата(jack_avenger @ Feb 18 2008, 10:45) *
На SQLite смотрел - у нее зависимость от libiconv, которую пока не смог скомпилировать под arm.


А почему не собирается? У меня вроде она нормально компилилась. Точно не помню, платы под рукой нет.
jack_avenger
Цитата(Stanislav Sedov @ Feb 21 2008, 16:09) *
Собственно, на Черкашинской плате она тоже нормально работает , правда с некоторыми патчами, часть их которых уже влита в upstream.

Я тоже сначала запускал на плате Дмитрия Черкашина. На ней удалось запустить ядро, но оно не видело SD-карточку (как позже оказалось дело было в инициализации периферии U-Boot`ом). Тогда и решил заказать KB9202 чтоб развеять все сомнения.
Цитата(Stanislav Sedov @ Feb 21 2008, 16:09) *
Правда у меня тут что-то USB сдох, то ли на плате, то ли ещё где-то:-(

На КВ9202 USB тоже "выделывается". Вроде ему просто не хватает питания.
Цитата(Stanislav Sedov @ Feb 21 2008, 16:09) *
А как Вы kb9202 заказывали, если не секрет?

Через знакомого в штатах. Прислал через почтовую службу EMS.
Цитата(Stanislav Sedov @ Feb 21 2008, 16:09) *
А почему не собирается? У меня вроде она нормально компилилась. Точно не помню, платы под рукой нет.

В данный момент собираю. Раньше ядро видело только 32Мб памяти (пофиксил). Странно что не компилировалось, должно было просто swap использовать. Медленное оно очень. Как делать кросс-компиляцию портов не знаю, с запуском FreeBSD в qemu-arm тоже глухо.
Stanislav Sedov
Цитата(jack_avenger @ Feb 21 2008, 16:39) *
Я тоже сначала запускал на плате Дмитрия Черкашина. На ней удалось запустить ядро, но оно не видело SD-карточку (как позже оказалось дело было в инициализации периферии U-Boot`ом). Тогда и решил заказать KB9202 чтоб развеять все сомнения.


Там для SD нужно ещё пуллапы выставить,у него они не распаяны. Правда в моём варианте вместо SD была MMC:-(

Цитата(jack_avenger @ Feb 21 2008, 16:39) *
На КВ9202 USB тоже "выделывается". Вроде ему просто не хватает питания.


А что пишет? У меня тоже было подозрение на питание, но сейчас она от 1А питается. Самое интересное, что всё работало до припайки SD-разъёма, так что теперь не ясно, в чём проблема - в софте или железе. Пока отладка USB-стека ничего не дала. При этом совершенно нормально можно считать Manuactrer, модель, pciid, но запрос GET_DESCRIPTOR с типом CONFIG возвращает какие-то левые данные.

Цитата(jack_avenger @ Feb 21 2008, 16:39) *
Через знакомого в штатах. Прислал через почтовую службу EMS.


А сколько шло?

Цитата(jack_avenger @ Feb 21 2008, 16:39) *
В данный момент собираю. Раньше ядро видело только 32Мб памяти (пофиксил). Странно что не компилировалось, должно было просто swap использовать. Медленное оно очень. Как делать кросс-компиляцию портов не знаю, с запуском FreeBSD в qemu-arm тоже глухо.


qemu-arm эмулирует Integrator, FreeBSD на нём не работает. Я запускал её на SkyEye. Правда сейчас что-то в skyeye сломали.
jack_avenger
Цитата(Stanislav Sedov @ Feb 21 2008, 18:01) *
Там для SD нужно ещё пуллапы выставить,у него они не распаяны. Правда в моём варианте вместо SD была MMC:-(

ММС вроде как не поддерживается FreeBSD (так мне сказали в рассылке). Да и платы Черкашина у меня уже нет
Цитата(Stanislav Sedov @ Feb 21 2008, 18:01) *
А что пишет? У меня тоже было подозрение на питание, но сейчас она от 1А питается. Самое интересное, что всё работало до припайки SD-разъёма, так что теперь не ясно, в чём проблема - в софте или железе. Пока отладка USB-стека ничего не дала. При этом совершенно нормально можно считать Manuactrer, модель, pciid, но запрос GET_DESCRIPTOR с типом CONFIG возвращает какие-то левые данные.


Код
uhub0: <Atmel OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
<здесь пауза секунд на 5>
uhub0: device problem (IOERROR), disabling port 2

Думаю последняя строчка из-за того, что второй порт доступен только в BGA-корпусах

Если подать нормальное питание (иначе греется стабилизатор на плате) и подключить USB Flash то она обнаруживается ядром:
Код
umass0: <Transcend T.sonic 520, class 0/0, rev 2.00/0.02, addr 2> on uhub0

но в /dev не нахожу нового устройства. Не помню что я там из ядра выбрасывал и в данный момент не могу проверить.

Тест преобразователя USB->UART:
Код
ucom0: <Prolific Technology Inc. USB-Serial Controller, class 0/0, rev 1.10/3.00, addr 2> on uhub0
borda# cu -l /dev/cuaU0 -s 115200
Connected
12312312312312312

Работает. У меня там просто RX и ТХ соеденены.

Это все с внешним питанием USB. На внутреннем питании жутко греется стабилизатор, не хочу тестировать чтоб не сгорел.

Цитата(Stanislav Sedov @ Feb 21 2008, 18:01) *
А сколько шло?

4 дня из штатов на Украину, по штатах доставка была дольше - что-то около недели.
Цитата(Stanislav Sedov @ Feb 21 2008, 18:01) *
qemu-arm эмулирует Integrator, FreeBSD на нём не работает. Я запускал её на SkyEye. Правда сейчас что-то в skyeye сломали.

Где-то видел запуск FreeBSD в qemu-arm-system для NEO1973. A вот оно. Надо будет посмотреть.







Конвертер проверил и без внешнего питания - работает. Конектится и дисконектится нормально. А вот отключение umass, даже если она и не смонтирована, вызывает kernel panic.

Еще у меня SD как-то очень медленно работает (запись ~500кБайт/c).
Stanislav Sedov
Цитата(jack_avenger @ Feb 21 2008, 18:02) *
ММС вроде как не поддерживается FreeBSD (так мне сказали в рассылке). Да и платы Черкашина у меня уже нет
Код
uhub0: <Atmel OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
<здесь пауза секунд на 5>
uhub0: device problem (IOERROR), disabling port 2

Думаю последняя строчка из-за того, что второй порт доступен только в BGA-корпусах


А про первый ничего не пишет вообще? У меня возникает ошибка в запросе GET CONFIG. Видимо, всё же железо где-то сломалось. Правда где, не ясно.

Цитата(jack_avenger @ Feb 21 2008, 18:02) *
Если подать нормальное питание (иначе греется стабилизатор на плате) и подключить USB Flash то она обнаруживается ядром:
Код
umass0: <Transcend T.sonic 520, class 0/0, rev 2.00/0.02, addr 2> on uhub0

но в /dev не нахожу нового устройства. Не помню что я там из ядра выбрасывал и в данный момент не могу проверить.


Нужно scbus и da подрубить.

Цитата(jack_avenger @ Feb 21 2008, 18:02) *
Где-то видел запуск FreeBSD в qemu-arm-system для NEO1973. A вот оно. Надо будет посмотреть.


Оно там не очень работает пока. Но прогресс у народа вроде есть.

Цитата(jack_avenger @ Feb 21 2008, 18:02) *
Еще у меня SD как-то очень медленно работает (запись ~500кБайт/c).


Писать на SD сильно не пробовал - жалко;-) А скорость может быть маленькой, из-за того, что SD в 1-битном режиме работает.
jack_avenger
Цитата(Stanislav Sedov @ Feb 21 2008, 19:09) *
А про первый ничего не пишет вообще? У меня возникает ошибка в запросе GET CONFIG. Видимо, всё же железо где-то сломалось. Правда где, не ясно.

Про первый ничего. На второй матерится независимо от наличия нормального питания.
Цитата(Stanislav Sedov @ Feb 21 2008, 19:09) *
Нужно scbus и da подрубить.

Спасибо, посмотрю вечером.
Цитата(Stanislav Sedov @ Feb 21 2008, 19:09) *
Писать на SD сильно не пробовал - жалко;-) А скорость может быть маленькой, из-за того, что SD в 1-битном режиме работает.

Вроде в рассылке встречал что в 4-х битном. Но скорее всего медленная сама SD, попробую поменять.
Stanislav Sedov
Цитата(jack_avenger @ Feb 21 2008, 18:21) *
Про первый ничего. На второй матерится независимо от наличия нормального питания.


На втором pull-up'ы слабые, как сказано в ERRATA.
Stanislav Sedov
Тофарищи, а если у кого-нибудь ещё осталась рабочая плата Черкашина с рабочим USB: не могли бы Вы запустить образ фри и выложить dmesg? А то я никак с USB не разберусь что-то:-(
jack_avenger
Цитата(Stanislav Sedov @ Feb 26 2008, 01:53) *
Тофарищи, а если у кого-нибудь ещё осталась рабочая плата Черкашина с рабочим USB: не могли бы Вы запустить образ фри и выложить dmesg? А то я никак с USB не разберусь что-то:-(


К сожелению платы уже нет. Но я вспомнил что Дмитрий говорил что-то об отличиях в разводке его платы в сравнении с Атмеловской касательно USB. Деталей не помню.
Stanislav Sedov
Цитата(jack_avenger @ Feb 26 2008, 14:48) *
К сожелению платы уже нет. Но я вспомнил что Дмитрий говорил что-то об отличиях в разводке его платы в сравнении с Атмеловской касательно USB. Деталей не помню.


Жалко. По поводу USB Host - там отличий быть не может, по-другому не сделать.
А USB Device у него, действительно, по-своему разведён, пины другие. Хотя это и не принципиально.

Самое забавное, что пока мы не поменяли MMC слот на SD - всё работало...
dch
Цитата(Stanislav Sedov @ Feb 27 2008, 02:51) *
Самое забавное, что пока мы не поменяли MMC слот на SD - всё работало...

Не должно влиять - три пина которыми SD отличается от MMC - могут использоваться как линии передачи данных у SD или как пины SCC и поэтому выведены и на SCC разъем и на ММС/SD. Замена разъема не должна влиять на USB. На USB девайсе два джпио используются другие против атмеловского USB посему двайвер USB девайсе обычно правится. На USB хосте должен работать оригинальный драйвер.
Stanislav Sedov
Цитата(dch @ Feb 29 2008, 17:49) *
Не должно влиять - три пина которыми SD отличается от MMC - могут использоваться как линии передачи данных у SD или как пины SCC и поэтому выведены и на SCC разъем и на ММС/SD. Замена разъема не должна влиять на USB. На USB девайсе два джпио используются другие против атмеловского USB посему двайвер USB девайсе обычно правится. На USB хосте должен работать оригинальный драйвер.


Да понятно, что не должно, однако... Возможно, мы что-то испортили.

Не могли бы Вы, пожалуйста, запустить ядро на Вашей плате, пожалуйста, и выложить сюда dmesg (или послать мне по почте). Я Вам, кстати, письмо писал, может оно не дошло?

Спасибо!
dch
Письмо получил, еще не попробовал. Сейчас попробую.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.