Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Tutorial how to program an ARM processor with an RTOS

Status
Not open for further replies.

pepillo

Advanced Member level 4
Joined
Jan 23, 2006
Messages
114
Helped
3
Reputation
6
Reaction score
0
Trophy points
1,296
Location
Spain
Activity points
2,382
Hi, I am new to ARM development, I would like to do an example project programming an RTOS into an ARM processor.
Where do I start? I would like to use Linux on ARM if possible, but other open source RTOS would be fine too.

I want to know how it´s done, what tools are used, where to download them, and once the RTOS is on the ARM, how to run an application like driving a graphic LCD or so...
What tutorials or apps notes can I read to start with?
Thx
 

A good place to start is winarm **broken link removed** . Its a free Arm C compiler, set of tools and example source code. I have recently started with Arm myself. Also its a good idea to have a cheap Arm development board. there are many available on ebay or from chinese websites. one such website is www.the0.net they have resellers on ebay.

The board that I have uses the LPC2132 and a Nokia 6100 color LCD. It also came with some basic driving source code.
However I found Keil to be a better C compiler. https://www.keil.com/

good luck!
 

    pepillo

    Points: 2
    Helpful Answer Positive Rating
You need a cross compiler and source code of RTOS like uCOS-II that is ported to ARM
 

    pepillo

    Points: 2
    Helpful Answer Positive Rating
Spiralbrain, what board are you using? that seems interesting.

What do you guys think about this development board to start with?

**broken link removed**

What would you recommend, AT91SAM7S256 processor or LPC2132?
 

Whats better, AT91 or LPC2000?
 


    pepillo

    Points: 2
    Helpful Answer Positive Rating
Thanks for the links. I have been looking at them and looking at the selection tables for LPC2000 as well as AT91.

These are the requisites for the application:
- SD/MMC interface support (could be implemented through bit-banging SPI if it was easier or cheaper)
- USB interface. Ideally we would use on-chip USB controller, but if this was too difficult to implement (because we had to write software from scratch, or struggle with the software to make it work) we would use a FT232 directly, just because it´s easier although it´s not optimal.
- Processing power enough to perform MP3 decoding on the ARM processor (as you can figure out, the application is a multimedia player)
- Ideally, able to drive a graphic LCD. Again, I need the solution to be easy to implement so if I was to implement an LCD I would have to be sure that I was gonna find software already done and that I wouldn´t have to write all the routines to implement a decent LCD interface --> That´s where the RTOS would come to play. Any suggestion for this?
- The package must be QFP, not QFN as I need to build a prototype board manually
- Ideally it would also generate an I2S stream to drive an audio DAC.

I hope all of these features can be found on one device.
Thanks for your help.
Best regards,

Pepi
 

u can use uc/os-ii + uc/gui for os and graphic interface
 

I am using this board: **broken link removed**
it has SD MMC slot a color LCD, RTC cell. DAC ADC hardware, speaker etc etc. it also came with some Keil C source code. I bought it from Ebay.
 

There are a lot of resources related to RTOS on Internet. Just do a search and you will find plenty. As for ARM development tools you can find many as well.

I suggest you buy an evaluation kit that usually comes with either a lite edition of a major tool chain or with a fully functional GCC based tool chain.

Here is one suggestion: IAR sells few evaluation kits that come with an integrated hardware debugging support and a starter version of their EWARM 5.42 (as of today) that does not expire but is limited to only 32 KB code size. Included you will also find an evaluation version of their PowerPack RTOS limited to only 3 tasks. In some cases I've seen boards shipped with a fully functional uC/OS II (v2.82) RTOS from Micrium. uC/OS is free for training but not free for using in a commercial product. The cost of the board is not cheap but you'll get a lot of stuff.

Another option is to buy J. Labrosse book uC/OS III that comes with an evaluation board based on STM32F107VC microcontroller. I think it is cheaper. I don't know the tools that come with the book and the board but I assume they are the same as above (IAR and Micrium have a partnership agreement).

Cheap options: try Olimex for hardware and look for free tools and RTOS on Internet.

List of free tools:
- Atollic True Studio (based on GCC)
- CodeSourcery (based on GCC)
- Eclipse + ARM GCC
- Raisonance RIDE (based on GCC, there may be some limitations)
- Hitex HiTOP 5 (based on GCC)
- EmeDT Eclipse ARM Development Tools for ARM, Cortex M3 (based on GCC)
- IAR EWARM SK (limited to 32 KB code)

Free RTOS packages (some may not allow you to use them in a commercial product without buying a license):
- Atom Threads
- CooCox CoOS (new, work in progress but useful, somewhat similar to uC/OS)
- FreeRTOS (very popular, proven, but not very simple for beginners)
- NuttX (for Linux hosted development)
- pCOS (derived from uC/OS 1.0)
- QP - state machine event driven real-time framework (there is a tiny RTOS called QK that works with QP -- licensed under GPL)
- TNKernel (uses ITRON specification, looks very well designed and supported by additional packages)
- maybe more...

Personally, I took my chances to use CoOS (www.coocox.org) in my current projects. The last version is 1.12. It is not a finished work and contains few bugs. I fixed some of them already. I recommend subscribing to their forum for bug reporting and asking for help. I also began to publish CoOS related information and tutorials on my own blog at https://polisoftdesign.com/blog. Feel free to contact me either here or on my web site (look for contact info on my pages). I'll try to answer to your questions as my time permits.
 
u can use uc/os-ii + uc/gui for os and graphic interface
any experience on creating "Hello World" with uc/GUI, how to set it up in Keil and STM32F103VCT ?
 
Last edited:

I don't see the point of reopening this old thread to ask about AT89S52, this thread is related to RTOS in ARM and your question is not related to an ARM mcu.

Alex
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top