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