Which Atmel ARM chips can support uclinux or linux?

This forum is for users of Microchip MPUs and who are interested in using Linux OS.

Moderator: nferre

Posts: 2
Joined: Thu Feb 17, 2005 5:13 am

Which Atmel ARM chips can support uclinux or linux?

Thu Feb 17, 2005 5:26 am

Hi all,
I'm just starting to look at the Atmel ARM7 and ARM9 chips, most of my experience before this was with AVRs. In particular I'd like to get uclinux running on the ARM7 chips. It looks like all of them (except the SAMs) can support external RAM and flash memory which is a must given how little on board storage they have.

So are there any other stumbling blocks to running uclinux on these? After searching Google, I've found some references to getting linux running on an EB40 board, but no definitive information. I can't tell if it's because very few people have tried or if there are problems getting it to work.
Any input or links would be very helpful,


Location: Germany
Posts: 126
Joined: Thu Mar 25, 2004 12:10 am

Thu Feb 17, 2005 9:51 pm

Hi Gordon,
basicly you can run ucLinux at all ARM7 platforms but you need a lot of RAM for doing this.
The most eval platform have 512 kByte of RAM. That could be enought for running the kernel, but no other things. As far as i know there are some daughter boards which give you more RAM. But the most AT91 (there is at least one exception) controllers only support SRAM's. SRAMs are more expensiv and bigger like SDRAMs. So in the most cases this is not a good idea (in my personal opinion).

The best solution for linux development is the ARM9 based AT91RM9200. This chip contains all neccessary things for running linux. And the work on the linux 2.6.x kernel is very active now. :D

Hope this helps,
Location: Portugal - Lisbon
Posts: 31
Joined: Tue Jul 13, 2004 11:49 pm

Sat Feb 19, 2005 1:04 am

Hi Gordon,
I agree with Edi.
I have a version of uCLinux that work's with the AT91M55800, however the port is not documented and it is very difficult to make any changes.
The best is to start over from the scratch and that will take a very long time, and now I can't do it.
In this moment I'm not developing nothing on uCLinux, but if you want you can look at snapgear website, they have a distribution that works with the AT91EB40.
Best regards

Luís de Sousa
Posts: 2
Joined: Thu Feb 17, 2005 5:13 am

Tue Mar 01, 2005 2:30 am

Thanks for the help guys - it sounds like the AT91RM9200 is the easier path for getting linux up and running. Maybe after the 9200 I'll go back and take on porting ucLinux to the 5800 ... in my oh so copious free time. ;-)
bruce vicknair
Location: tomball, tx
Posts: 60
Joined: Wed Jan 26, 2005 3:24 am

rom based linux

Thu Apr 28, 2005 9:15 pm

i've read that linux can run out of rom with the right linker setup. it has always intregued me for the arm7 and sam7.

just need to clone myself with one of those ebay bio kits. :P
Location: Russia
Posts: 12
Joined: Mon Feb 07, 2005 4:13 am

EVM9200 (AT91RM9200 base EvalBoard) support for uClinux

Mon Jul 04, 2005 2:29 pm

http://www.ucrouter.ru/download/EVM9200 ... .patch.tgz

1. Copy & Unpack uClinux distributive to opt
cp uClinux-dist-20041215.tar.bz2 /opt
cd /opt
tar -xjvf ./uClinux-dist-20041215.tar.bz2

2. Copy & Unpack Atmel Linux kernel to uClinux tree
cp linux-2.4.19-rmk7.tar.gz /opt/uClinux-dist
cd /opt/uClinux-dist
tar -xzvf linux-2.4.19-rmk7.tar.gz

3. Copy & apply EVM9200 support for linux-2.4.19-rmk7
cp linux-2.4.19-rmk7-EVM9200.patch /opt/uClinux-dist
cd /opt/uClinux-dist
cat ./linux-2.4.19-rmk7-EVM9200.patch | patch -p0

If you board differ from EVM9200. Don't apply linux-2.4.19-rmk7-EVM9200.patch.

ln -s /opt/uClinux-dist/linux-2.4.19-rmk7 /opt/uClinux-dist/linux-2.4.19.rmk7.x

4. Copy & Apply EVM9200 support for uClinux
cp EVM9200-uClinux-20041215.patch /opt
cd ./opt
cat ./EVM9200-uClinux-20041215.patch | patch -p0

5. Configure linux-2.4.19-rmk7 & uClinux user applications

make menuconfig

From main menu select item: 'Vendor/Product Selection'

Then from 'Vendor/Product Selection' dialog
Select Vendor:
'(Atmel) Vendor'
Select Product:

Return to main menu. From main menu select item:'Kernel/Library/Default Selection'

Then from 'Kernel/Library/Default Selection' dialog
Select kernel version:(linux-2.4.19-rmk7.x)
and Libc Version : (glibc)

Return to main menu. Select "Exit" to exit from 'make menuconfig' utility.

6. Compile linux-2.4.19-rmk7 & uClinux user applications


make dep 2>&1 | tee make_dep.out
make | tee make.out

files appear:


7. Update kernel image via u-boot.

u-boot>tftpboot 20800000 ucImage
u-boot>protect off 10020000 100BFFFF
u-boot>erase 10020000 100BFFFF
u-boot>cp.b 20800000 10020000 9FFFF

u-boot> - u-boot prompt

tftpboot - u-boot load file via tftp protocol command
20800000 - SDRAM load address
ucImage - linux kernel image

uImage must be located at the
host tftp server download directory
(Linux host) /tftpboot

protect - u-boot flash protect on/off command
off - disable protection
10020000 - start flash address
100BFFFF - end flash address

erase - u-boot flash erase command
10020000 - start flash erase address
100BFFFF - end flash erase address

cp.b - u-boot byte copy command
20800000 - SDRAM source address
10020000 - flash destination address
9FFFF - bytes copy

8. Update linux initrd via u-boot tftp.

If initrd is in parallel flash:
u-boot>tftpboot 20800000 ucInitrd
u-boot>erase 100C0000 101EFFFF
u-boot>cp.b 20800000 100C0000 12FFFF

If in AT45DB642:
u-boot>tftpboot 20800000 ucInitrd
u-boot>protect off C0000000 C001FFFF
u-boot>cp.b 20800000 C0000000 <initrd dsik size>

9. Set u-boot environment variables.
for 32Mb SDRAM:
u-boot>setenv bootargs root=/dev/ram rw initrd=0x20800000,0x400000 ramdisk_size=8000 console=ttyS0,115200 mem=32M
or for 16Mb SDRAM:
u-boot>setenv bootargs root=/dev/ram rw initrd=0x20800000,0x400000 ramdisk_size=8000 console=ttyS0,115200 mem=16M

u-boot>bootcmd bootm 10020000 100C0000

or if initrd disk in AT45DB642:

u-boot>bootcmd bootm 10020000 C0000000


10. Reboot target.

Best Regards,
Dmitriy Ckerkashin

Return to “LINUX”

Who is online

Users browsing this forum: No registered users and 2 guests