cancel
Showing results for 
Search instead for 
Did you mean: 

What books should I read to understand ARM MCU's?

Sashvat
Associate II

Hi guys,

I am in 12th grade and very interested in electronics. Ever since I knew about ARM microcontrollers (especially STM32 ARM MCU's) I've always wanted to build my projects using ARM MCU's, but I am unable to understand the technical information that is given in the data sheet, why something/concept is the way it is and when I ask for help related to these controllers online.

As of now, all I do is, look at the data sheet of an ARM MCU (only STM32's) and see its power supply scheme, clock circuit schematic and apply them to my schematic. But I feel its a dumb job doing it and would want to know the concept of it and the reason behind it and applying it, how to use USB, I2C, Interrupts, SPI, PWM, how to program one from my computer with step by step instructions, basically every single thing of an ARM MCU. Also, I would want to make my own Microcontroller development board and boards for some robotic projects but with understanding everything, not just copying and doing it without understanding.

So my question is, what books would you recommend me to read to go from the very basics all the way to becoming an expert in ARM MCU's?

Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
Danish1
Lead II

It is a very broad subject, and even with the information you've provided it is difficult to recommend a single book.

When I moved from PIC microcontrollers to ARM ones, I found "The Insiders Guide to the <insert microcontroller here>" book by Hitex very useful.

But I also see people recommend Joseph Yiu's ''The Definitive Guide to ARM Cortex M3'', although many stm32 use M4 rather than M3 (I suspect there's not much difference at the level of the book).

My favourite general electronics book is "The Art of Electronics" by Horowitz & Hill. Mine is the second edition which barely mentions microcontrollers but the principles are all there.

But as well as reading about the chips and principles, you'll need to learn a tool chain / integrated debugging environment (IDE).

Arm microcontrollers are extremely powerful and capable of solving many complicated tasks. Generally the most effective way to use them is program them in a high-level language such as C, and be able to set breakpoints and monitor variables, something that is made easy in an IDE.

And the most important thing? To play. Set yourself simple tasks such as flashing LEDs, and discover what you need to do to get that to happen.

Hope this helps,

Danish

View solution in original post

18 REPLIES 18
Danish1
Lead II

It is a very broad subject, and even with the information you've provided it is difficult to recommend a single book.

When I moved from PIC microcontrollers to ARM ones, I found "The Insiders Guide to the <insert microcontroller here>" book by Hitex very useful.

But I also see people recommend Joseph Yiu's ''The Definitive Guide to ARM Cortex M3'', although many stm32 use M4 rather than M3 (I suspect there's not much difference at the level of the book).

My favourite general electronics book is "The Art of Electronics" by Horowitz & Hill. Mine is the second edition which barely mentions microcontrollers but the principles are all there.

But as well as reading about the chips and principles, you'll need to learn a tool chain / integrated debugging environment (IDE).

Arm microcontrollers are extremely powerful and capable of solving many complicated tasks. Generally the most effective way to use them is program them in a high-level language such as C, and be able to set breakpoints and monitor variables, something that is made easy in an IDE.

And the most important thing? To play. Set yourself simple tasks such as flashing LEDs, and discover what you need to do to get that to happen.

Hope this helps,

Danish

AVI-crak
Senior

Magic does not exist, you will have to study the documentation.

MikeDB
Lead

Start with the Arduino platform and slowly learn. You can use the original Atmel based ones, or nowadays there's a whole ST supported STM32duino community with lots of active projects you can learn from.

http://wiki.stm32duino.com/index.php?title=Main_Page

Learning from others is far easier than starting from scratch. "On the shoulders of giants" and all that.

BTW, the original discussion forum is about to be put read only. There's, however, another forum continuing:

https://mcu.selfip.com/

turboscrew
Senior III

Thanks - hadn't been there for a while. But for the OP I'd start there.

Danish1
Lead II

One other point. Do buy a "demo"/"development" board.

For a hobbyist it might feel expensive, and it might not fit in your final intended project.

But those ST Nucleo/Discovery/whatever boards are good value for what they contain.

And more importantly, they work.

What is most frustrating is if something doesn't work, you don't know what part of it is wrong.

But if you can say "this works but that doesn't; what's different?" then you can trace it down.

Thank you very much, I wouldn't mind buying multiple books to read, all I want is just the knowledge and to simply doing a robots job. But in the book, The Definitive Guide to ARM Cortex M3, does it include how to program ARM Cortex M3 with steps?

Hi sir, for the past 1.5 years, I was working with Arduino and after gaining some experience, I wanted to use the bare chips for my projects as Arduino is big and not effective.