EmbDev.net

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

Author: Rohit Chandel (rohit123)
Posted on:

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
Author: Clifford Slocombe (clifford)
Posted on:

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.
Author: Rohit Chandel (rohit123)
Posted on:

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
Author: Clifford Slocombe (clifford)
Posted on:

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
Author: Clifford Slocombe (clifford)
Posted on:

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...

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
Author: Rohit Chandel (rohit123)
Posted on:

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

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.


webmaster@embdev.netContactAdvertising on EmbDev.net