1. Sarge - single board computer
UPDATE (23.03.2007)
“Anomalous Laboratory”
Last few days I’ve spent fighting with the opposing forces. The AT45DB161 dataflash chips appeared to be functional in some ways but writing data into flash was resulting anomalous, somehow different each time. Changing writing and reading delays in AT45 routines give positive results only for reading the dataflash content.
I’ve decided to write some data correction and rewrite routines for my second stage loader - it is the only program which really needs to write the data into dataflash, u-boot and linux reads the specific areas successfuly (It would be really nice to get a closer look into AT45 writing routines and find the real source of trouble but time is precious and I need to move forward). Booting kernel images with u-boot 1.1.6 is really simple when you do not use compressed images. I have lost few hours to learn that libzlib used in u-boot produces cpu exception (data-abort), successfuly replaced with gunzip routine from bios-lt project makes it’s best.
Using openembedded enviroment I have successfuly build kernel 2.6.17 and boot in on the Sarge:
Uncompressing Linux............................................................................ done, booting the kernel.
Linux version 2.6.17.14 (mcgregor@tank) (gcc version 4.1.1) #36 PREEMPT Sat May 12 00:39:06 CEST 2007
CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
Machine: Sarge AT91RM9200 SBC
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 179 MHz, master 59 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists
Kernel command line: mem=32M rootfstype=ext2 root=/dev/mmcblk0p1 console=ttyS0,115200n8 rootdelay=5 init=/sbin/init
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 29992KB available (1904K code, 423K data, 96K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
AT91: Power Management
Generic PHY: Registered new driver
SCSI subsystem initialized
NET: Registered protocol family 2
IP route cache hash table entries: 256 (order: -2, 1024 bytes)
TCP established hash table entries: 1024 (order: 2, 16384 bytes)
TCP bind hash table entries: 512 (order: 1, 10240 bytes)
TCP: Hash tables configured (established 1024 bind 512)
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
at91_spi: Baud rate set to 5990400
AT91 SPI driver loaded
AT91 Watchdog Timer enabled (5 seconds, nowayout)
at91_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL
at91_usart.1: ttyS1 at MMIO 0xfffc4000 (irq = 7) is a AT91_SERIAL
at91_usart.2: ttyS2 at MMIO 0xfffc0000 (irq = 6) is a AT91_SERIAL
at91_usart.3: ttyS3 at MMIO 0xfffc8000 (irq =
is a AT91_SERIAL
at91_usart.4: ttyS4 at MMIO 0xfffcc000 (irq = 9) is a AT91_SERIAL
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
at91_ether: Your bootloader did not configure a MAC address.
eth0: Link down.
eth0: AT91 ethernet at 0xfefbc000 int=24 10-HalfDuplex (00:00:00:00:00:00)
eth0: STE100P PHY
Linux video capture interface: v1.00
at91_cf: irqs det #88, io #0
mice: PS/2 mouse device common for all mice
at91_rtc at91_rtc: rtc intf: sysfs
at91_rtc at91_rtc: rtc intf: proc
at91_rtc at91_rtc: rtc intf: dev (253:0)
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0
AT91 Real Time Clock driver.
MMC: 4 wire bus mode not supported by this driver - using 1 wire
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
at91_rtc at91_rtc: setting the system clock to 1998-01-01 00:04:06 (883613046)
mmc0: card is read-write
mmcblk0: mmc0:ffff SD256 247040KiB
mmcblk0: p1 p2
Waiting 5sec before mounting root device...
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
It stops with kernel panic because there is no initrd ready yet, but I’m very happy to see the first results of my work - there was a SD card inserted while booting the kernel, it was successfuly recognized durring the process. Its time to setup the initrd and finish almost working STE100P PHY “driver” (well its really more the initialisation routines than a kernel driver). Later I will post my bootloader, u-boot and openembedded files - check in soon.
UPDATE (24.03.2007)
Today I’ve accidentialy discovered the reason why there was so many corrupted data durring write to dataflash. I’ts all about the size of stack in the second stage bootloader. Initially the stack is set at the end of SRAM (16 KB) memory if the size of bootloader binary exceeds 10KB you will probably run into troubles - just like I did.
Pages: 1 2 3 4 510 Responses to “1. Sarge - single board computer”
Leave a Reply
You must be logged in to post a comment.


[…] 1. Sarge - single board computer […]
[…] 1. Sarge - single board computer […]
[…] 1. Sarge - single board computer […]
[…] Durring last few weeks I’ve tried to bring the 2.6.17 kernel back to run - with no success. Why isn’t it booting anymore ? - read […]
[…] Using DDD debugger with OpenOCD and JTAG interface I’ve found why […]
[…] My friend made a project of own device based on AT91 ARM cpu with few peripherials. Total cost was less then 100 EUR and it can be used to different tasks and also give possibility to learn how to write kernel code (to handle all addons). […]
[…] 1. Sarge - single board computer […]
hoodia…
How add your site to technorats?…
You mean technorati.com ? I’ve tried but only got the fancy message: “Doh! The Technorati Monster escaped again.We’re scouring the blogosphere attempting to find it. Back in a flash!”
Garage Door Hardware…
Many of the sites that come up in the search engines just don\’t have exactly what you need. This one does….