Atmel website | ARM Community | AVR freaks | Technical Support
Banner
 FAQ •  Search •  Register •  Login 

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: Help on AT91RM9200
PostPosted: Tue Oct 09, 2007 3:42 pm 
Offline

Joined: Tue Oct 09, 2007 3:01 pm
Posts: 2
Hi ,
I am evaluating on using AT91RM9200 for a new product . Kindly request to share the details on following points

1) Which is the Linux kernel available which can be used on AT91RM9200 ?
2) What are the memory footprints for the same ( I need TCP/IP , DHCP , Telnet Support )
3) Is this kernel available for free ?
4) Are all drivers supported ( GPIO , SPI , RS-232 etc) in this kernel

Any help will be highly appreciated .

Thanks
Sujesh


Top
 Profile  
 
 Post subject:
PostPosted: Thu Oct 18, 2007 12:11 pm 
Offline

Joined: Thu Aug 09, 2007 10:48 am
Posts: 106
Location: Artec Design LLC, Tallinn, Estonia
Linux kernel is GPL-licenced. See GPL for that. GPL-licenced things can still be sold, but everybody has the right to redistribute it and is obliged to provide source for binaries if asked. So usually this leads to keeping everything free. Usually the kernel still needs to be customized for your application and if you don't do it yourself, then you have to order that from somebody.
Linux kernel mainline is free and you can get it from kernel.org. The latest 2.6.23 has most of drivers in it. Some patches that have not yet made in there are kept at http://maxim.org.za/at91_26.html . Most of the interfaces are supported, including GPIOs, SPI, serial ports etc.
Your kernel size depends a lot on the feature set it has included. Usually it is around 1MB for AT91 devices with standard configurations. Add your filesystem and applications to it. Usually you want busybox in your filesystem, this is 1-2MB, too. So a VERY minimal system can fit into 4MB (we have done some ARM based systems with 4MB flashes). Depending the device you may wany 8MB, 16MB or even more on the device.
DHCP and Telnet daemons are userspace applications. Both should be included in busybox, if I remember correctly.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Oct 22, 2007 1:09 pm 
Offline

Joined: Mon Oct 22, 2007 12:57 pm
Posts: 4
Location: China
I've been working on a port for another board (2 weeks so far ,from knowing nothing about arm or linux).

basically I'm at about 1.5mb for the kernel with:
1. 640*480 colourscreen support
2.2 types of flash & 64mb of ram.
3. TCP/IP
4. RS232
5.debug rs232
6.SPI

Currently i'm working on getting my touch screen working then I'm taking it to 600*800 LCD, and I hope to get a cut down Java in there as well.

I need help converting the following from 2.6.13 to 2.6.23 calls.
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOA_IDR = SPI_PIO_MSK;
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOA_PER = SPI_PIO_MSK;
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOA_OER = (SPI_PIO_MSK & (~SPI_DIN_MSK));
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_ODR = SPI_DIN_MSK;//a0 as input
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_IDR = TS_BUSY_MSK;//no int for pb 10
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_IER = TS_INT_MSK;//int for pb 11
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_PER = TS_MSK;//pb 10-11 set as pio
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_ODR = TS_MSK;//pb 10-11 set as input

It would not take a "pro" more than 30 seconds to convert them, but I'm lost.

steve


Top
 Profile  
 
 Post subject:
PostPosted: Tue Oct 23, 2007 9:25 am 
Offline

Joined: Thu Aug 09, 2007 10:48 am
Posts: 106
Location: Artec Design LLC, Tallinn, Estonia
I need help converting the following from 2.6.13 to 2.6.23 calls.
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOA_IDR = SPI_PIO_MSK;
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOA_PER = SPI_PIO_MSK;
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOA_OER = (SPI_PIO_MSK & (~SPI_DIN_MSK));
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_ODR = SPI_DIN_MSK;//a0 as input
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_IDR = TS_BUSY_MSK;//no int for pb 10
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_IER = TS_INT_MSK;//int for pb 11
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_PER = TS_MSK;//pb 10-11 set as pio
// ((AT91PS_SYS)AT91C_VA_BASE_SYS)->PIOB_ODR = TS_MSK;//pb 10-11 set as input
[/quote]
It seems that you are trying to use GPIO interrupts? The gpio interrupts are handled transparently, just request the correct IRQ number and the PIO gets configured.
If you are trying to use ADS784x, then you can just add SPI controller driver and the ADS784x driver, both should be in 2.6.23 mainline. Some configuration needs to be added to board initialization to set up the platform device.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 28, 2007 12:02 am 
Offline

Joined: Thu Oct 04, 2007 5:30 am
Posts: 7
Hi,
Thanks AntiSullin

I got it partially working , but i will continue this thread on a separate post.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: Google [Bot] and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: