EmbDev.net

Forum: ARM programming with GCC/GNU tools uCOS port for olimex AT91SAM7S256 board


von Rohit C. (rohit123)


Rate this post
useful
not useful
Hi,

I have recently bought a board from olimex AT91SAM7S256 ARM7TDMI-S.
I want to use uCOS-II on this with gcc. I googled a lot but could not 
find
somebody who already has succeeded on porting ucos on AT91SAM7S256.
The port provided on website is with IAR.

Is there anyone who is already working on the same thing.
Please share your experiences. I do not have an experience on porting an 
RTOS
although I have used a few company proprietary RTOSes.

If I need to start porting from scratch then can anybody guide me how to
start?

Regards
Rohit

von Clifford S. (clifford)


Rate this post
useful
not useful
I am assuming that you are talking about MicroC OS/II? Jean Labrosse 
stopped using the name uC/OS because of the unfortunate pronounciation 
"mucus".

The largest repository of MicroC OS/II ports is available on Micrium's 
own site. http://micrium.com/page/home

Most are contributed, and the quality, completeness, portability and 
licence terms vary. You don't really need an Olimex, or even an 
AT91SAM7S256 specific port; you can start with a generic ARM7 port, so 
long as you have start-up code and have enough understanding of the 
essential timer and interrupt hardware set-up and interfacing. There are 
a large number of ARM7 specific ports on Micrium, I imagine that some of 
them are even GCC based, but porting the assembler code from another 
tool to GNU assembler is not that hard, and the C code is entirely 
portable.

The best way to understand MicroC/OS II is to buy the book.

von Rohit C. (rohit123)


Rate this post
useful
not useful
Thanks for showing a ray of hope. I have already bought the book by 
Labrosse MicroC OS/II.

As I earlier told i am new to this porting of OS thing. I have worked 
with proprietry RTOSes already in place. This is the reason I am willing 
to take the pain of porting and for better understanding of the RTOS.

I searched following link for any gcc based port for AT91SAMS256 but 
could not find one.
http://micrium.com/page/support/application_notes

Am I looking at the right page? Can you provide more info on any generic 
gcc port for AT91SAMS256?

Thanks and Regards
Rohit

von Clifford S. (clifford)


Rate this post
useful
not useful
Rohit Chandel wrote:

> I searched following link for any gcc based port for AT91SAMS256 but
> could not find one.
> http://micrium.com/page/support/application_notes
>
You need the "Downloads" link at http://micrium.com/page/home. You do 
have to register to get access. However the download pages are not 
secured and you can get direct file access via 
http://www.micrium.com/downloads/ports/ucos-ii/, however that is just 
straight file access and you get no information about what the ports 
contain, so you'd have to inspect each one to see if it was suitable, 
and the documentation of some is quite minimal.

Clifford

von Clifford S. (clifford)


Rate this post
useful
not useful
I took a look (after waiting a day for a Micrium login), and here: 
http://micrium.com/page/downloads/ports/arm you will find the generic 
ARM ports. The app note zip files include code. AN-1014 in particular 
includes GNU code. The AN-1012 and AN-1011 PDFs look like they may 
contain some useful insights too however.

Being generic you will need to provide some basic BSP code for hardware 
initialisation and interrupt and timer hooks, and will probably need at 
least some UART support. For that the links at 
http://embdev.net/topic/129986 may be useful. Specifically the "Building 
bare-metal ARM with GNU" link. The Hitex "Insider's Guides" are good 
too, unfortunately they don't specifically cover Atmel ARM parts, but 
much of the useful information is generic, and the NXP guides will 
contain useful ARM7 information. Then of course you will need to be 
familiar with the AT91SAM7S user manual, this will give you the 
information you will need on the timer and interrupt controller 
hardware, (which are not part of the ARM7 core), and of course other 
on-chip peripherals you may need to support. For the most part you can 
probably adapt an existing C-Runtime start-up package and expand it into 
a more complete MicroC/OS-II BSP.

The AT91SAM7S tech docs and an app note for C runtime startup code can 
be found at 
http://www.atmel.com/dyn/products/product_card.asp?part_id=3524#DataSheets

That should be pretty much all the resources you need, but that is not 
to say it is simple. Whether you succeed will depend on your motivation 
and perseverance as much as your technical capability.

Clifford

von Rohit C. (rohit123)


Rate this post
useful
not useful
Hi Clifford,

Thanks a lot for all very useful info. I wonder why micrium people want 
people to provide details such as company, company mail id etc. when 
they say it can be used for hobby and education purposes? I too went for 
registration and got it active today. I"ll look into the resources 
provided by you and get back to you.

As you told its not gonna be simple, may be that way I"ll learn more 
which is primary aim of using MicroC/OS-II for me right now.

Thanks again
Regards
Rohit

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.