トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Armadillo-210

現在のステータス

 動いているもの (デバイスドライバがあるもの)

  • On-chip serial UARTS (epcom)
  • On-chip 10/100 Ethernet (epe)
  • On-chip timers (epclk)
  • On-chip RTC (eprtk)
  • GPIO (epgpio)
  • Watchdog Timer (epwdt)
  • I2C Controller Unit (a9iic)
  • EEPROM (AT24C1) (seeprom)
  • On-board LED (epled)

 まだ動かないもの

  • 特になし

ブートに関して

デフォルトのブートローダではkernelリージョンに1.4Mbytes程度しか書き込めません。ramdiskリージョンをつぶしてkernelリージョンにしたブートローダに差し替えることで大きなサイズのkernelを使うことができます。

ブートローダのソース

ブートローダのバイナリ

こんな感じで書き込みます。

% hermit download -i loader-armadillo210.bin -r bootloader --force-locked

サンプルのkernel

本家への取り込みの様子

ブート

以下はちょっと古いですがブート時のログです。

NetBSD/armadillo9 booting ...
initarm: Configuring system ...
physmemory: 2048 pages at 0xc0000000 -> 0xc07fffff
Allocating page tables
freestart = 0xc0018000, free_pages = 488 (0x000001e8)
IRQ stack: p0xc01ea000 v0xc01ea000
ABT stack: p0xc01e2000 v0xc01e2000
UND stack: p0xc01da000 v0xc01da000
SVC stack: p0xc01d8000 v0xc01d8000
Creating L1 page table at 0xc01fc000
Mapping kernel
pmap_map_chunk: pa=0xc0200000 va=0xc0200000 size=0x14b000 resid=0x14b000 prot=0x3 cache=1
SLLLLPPPPPPPPPPP
pmap_map_chunk: pa=0xc034b000 va=0xc034b000 size=0x1c9000 resid=0x1c9000 prot=0x3 cache=1
PPPPPLLLLLLLLLLLSLPPPP
Constructing L2 page tables
pmap_map_chunk: pa=0xc01ea000 va=0xc01ea000 size=0x8000 resid=0x8000 prot=0x3 cache=1
PPPPPPPP
pmap_map_chunk: pa=0xc01e2000 va=0xc01e2000 size=0x8000 resid=0x8000 prot=0x3 cache=1
PPPPPPPP
pmap_map_chunk: pa=0xc01da000 va=0xc01da000 size=0x8000 resid=0x8000 prot=0x3 cache=1
PPPPPPPP
pmap_map_chunk: pa=0xc01d8000 va=0xc01d8000 size=0x2000 resid=0x2000 prot=0x3 cache=1
PP
pmap_map_chunk: pa=0xc01fc000 va=0xc01fc000 size=0x4000 resid=0x4000 prot=0x3 cache=2
PPPP
pmap_map_chunk: pa=0xc01fb000 va=0xc01fb000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc01fa000 va=0xc01fa000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc01f9000 va=0xc01f9000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc01f8000 va=0xc01f8000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc01f7000 va=0xc01f7000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc01f6000 va=0xc01f6000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc01f5000 va=0xc01f5000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc01f4000 va=0xc01f4000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc01f3000 va=0xc01f3000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
devmap: 80000000 -> 800fffff @ f0000000
pmap_map_chunk: pa=0x80000000 va=0xf0000000 size=0x100000 resid=0x100000 prot=0x3 cache=0
S
devmap: 80800000 -> 809fffff @ f0100000
pmap_map_chunk: pa=0x80800000 va=0xf0100000 size=0x200000 resid=0x200000 prot=0x3 cache=0
SS
devmap: 40000000 -> 4fffffff @ e0000000
pmap_map_chunk: pa=0x40000000 va=0xe0000000 size=0x10000000 resid=0x10000000 prot=0x3 cache=0
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSS
devmap: 10000000 -> 13ffffff @ f0300000
pmap_map_chunk: pa=0x10000000 va=0xf0300000 size=0x4000000 resid=0x4000000 prot=0x3 cache=0
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
devmap: 20000000 -> 23ffffff @ f4300000
pmap_map_chunk: pa=0x20000000 va=0xf4300000 size=0x4000000 resid=0x4000000 prot=0x3 cache=0
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
freestart = 0xc0514000, free_pages = 748 (0x2ec)
switching to new L1 page table  @0xc01fc000...done!
bootstrap done.
init subsystems: stacks vectors undefined page pmap irq done.
[ Kernel symbol table missing! ]
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 3.99.15 (ARMADILLO210) #0: Thu Feb  2 15:43:24 UTC 2006
          root@mini:/usr/export/o/20060128/evbarm/sys/arch/evbarm/compile/ARMADILLO210
total memory = 32768 KB
avail memory = 28572 KB
mainbus0 (root)
cpu0 at mainbus0: ARM920T rev 0 (ARM9TDMI core)
cpu0: DC enabled IC enabled WB enabled EABT
cpu0: 16KB/32B 64-way Instruction cache
cpu0: 16KB/32B 64-way write-back-locking-A Data cache
epsoc0 at mainbus0: Cirrus Logic EP93xx SoC rev E0
epsoc0: fclk 200.02 Mhz hclk 100.01 Mhz pclk 50.00 Mhz
epclk0 at epsoc0 addr 0x80810000-0x8081008f intr 4
epgpio0 at epsoc0 addr 0x80840000-0x808400cb intr 59
gpio0 at epgpio0: port A: 8 pins
gpio1 at epgpio0: port B: 8 pins
gpio2 at epgpio0: port C: 8 pins
gpio3 at epgpio0: port D: 8 pins
gpio4 at epgpio0: port E: 8 pins
gpio5 at epgpio0: port F: 8 pins
gpio6 at epgpio0: port G: 8 pins
gpio7 at epgpio0: port H: 8 pins
epled0 at epgpio0: port E bit1 0 bit2 1
armadillo9iic0 at epgpio0: port B bit1 4 bit2 5
iic0 at armadillo9iic0: I2C bus
seeprom0 at iic0 addr 0x50: AT24Cxx EEPROM
epe0 at epsoc0 addr 0x80010000-0x8001ffff intr 39
epe0: MAC address 00:11:0c:03:00:21
lxtphy0 at epe0 phy 0: LXT971/2 10/100 media interface, rev. 2
lxtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
epcom0 at epsoc0 addr 0x808c0000-0x808c0fff intr 52
epcom0: console
epcom1 at epsoc0 addr 0x808d0000-0x808d0fff intr 54
epwdog0 at epsoc0 addr 0x80940000-0x80940007 intr 36
eprtc0 at epsoc0 addr 0x80920000-0x8092010b intr 37
md0: internal 1700 KB image area
boot device: <unknown>
root on md0a dumps on md0b
no file system for md0 (dev 0x1200)
cannot mount root, error = 79
root device (default md0a): epe0
dump device:
file system (default generic): nfs
root on epe0
nfs_boot: trying BOOTP
nfs_boot: BOOTP next-server: 192.168.100.32
nfs_boot: my_name=a210
nfs_boot: my_addr=192.168.100.81
nfs_boot: my_mask=255.255.255.0
root on mini:/usr/evbarm
WARNING: clock lost 13192 days
WARNING: CHECK AND RESET THE DATE!
warning: no /dev/console
init path (default /sbin/init):
init: trying /sbin/init
init: Creating mfs /dev (410 blocks, 1024 inodes)
Enter pathname of shell or RETURN for /bin/sh:
Terminal type? [unknown]
Terminal type is unknown.
We recommend creating a non-root account and using su(1) for root access.
a210# ls
.cshrc    bin       lib       mnt       sbin      usr
.profile  dev       libdata   rescue    stand     var
altroot   etc       libexec   root      tmp
a210# uname -a
NetBSD a210 3.99.15 NetBSD 3.99.15 (ARMADILLO210) #0: Thu Feb  2 15:43:24 UTC 2006   root@mini:/usr/export/o/20060128/evbarm/sys/arch/evbarm/compile/ARMADILLO210 evbarm
a210#