We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi everyone!!
I am looking to work on some projects using ARM. I have completed a basic course on ARM M3/M4 (UT Austin 6.01x by Jon Valvano and Ramesh Yerraballi) online. Now, I want to learn advanced things, especially real-time applications. How should I go about it? Please recommend good books/sites. If you think I need to learn something else before or work on something else, please tell that as well.
Thanks in advance.
First let me welcome you to the community
Visit the first reference site information : http://infocenter.arm.com
You will also find on the community site a lot of documents that addresse several interesting topic on ARM. Simply use the search tool on the top right of the community home page
Here is some good links about Arm : A List of books about ARM Architecture
Regards
Hello, You might want to take a look at my course too
What is ARM Processor course about? - YouTube
First: keep working with simpler devices. I'm learning Cortex-A7 and it feels like an endless swamp.
Each time you think you have things covered, you'll find a situation that changes everything.
It's very complicated device.
It probably says something that the ARMv7-A/R ARM is 2736 pages, and ARMv8-A ARM has 5886 pages.
There are so many configurable items and vendor specific things.
When it comes to real-time stuff and such, this site might interest you:
Expanded Main Page - OSDev Wiki
It somewhat leans towards x86 architecture, but has something ARM-specifics too, and most of it is quite generic
and applicable to any architecture.
Forgot: don't hurry with RTOSes. Often non-RT OS is quite enough. RTOSes are not faster or anything.
The difference between RTOS and non-RT OS is the guaranteed event response time which pretty much translates to
well-defined priority in case of simultaneous events. And that usually requires that you explicitly set the priorities for stuff.
Of course you could use an RTOS if it's nicely available without concentrating on the real-time aspects.
In that case I've heard good things about UCOS ( Micro-Controller Operating Systems (MicroC/OS) - Wikipedia, the free encyclopedia ).
It's commercial, but the documentation is good reading (I've been told).
If you want to experiment yourself, maybe FreeRTOS is the answer: FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Internet of Things extensions .
Also doing some bare metal programming doesn't hurt - it gives you perspective.