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.

18 REPLIES 18

Remember you can run Arduino on things like the Blue Pill or Maple STM32 processor boards which are very small.

Also if you do your own boards you've the hassle of soldering dense QFP devices.

Most of these things aren't spoon-feeding texts, you need to start working on foundational knowledge.

Perhaps you just need to marathon watch as many YouTube videos you can find covering the topic areas of interest, at the level of ability you have, and work your way up from there.

I think Joseph Yiu's books are a good counter-point to the ARM TRM, the latter books get thick and cover more stuff. As I recall the CM0 one had the most stuff in it, and the CM3/M4 would cover most of what the older ones did.

For micro-controllers and peripherals the classics by Leventhal and Zaks would provide a good insight into the mechanics and fundamentals the ARM cores were built out of. My foundation is with 6502 and 68000 micros, all these things are more the same than different.

A lot of courses seem to focus on the 8051, I'd avoid this and focus on RISC/CISC evolution.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

I expect courses focus on the 8051 because it is still hugely popular even in new custom IC designs as the IP is free, the tools are totally debugged and the core uses almost no space on the die. And despite ARM's protestations, in the same process an 8051 doing not much uses less power than an ARM M0+ doing not much, which is why they are still used for jellybean applications like keyboard controllers.

But I agree the OP should probably stick to one architecture for now which should be ARM.

Well, to be honest, I am design my own Drone Flight controller, so I don't want wires going from one board to another, instead I'll include the circuit for the sensors in one schematic and make it in one PCB. Basically I want a clean look and a professional looking PCB for this project

turboscrew
Senior III

My problem with the 8051 isn't it's use in applications it is good for, it is the misapplication in ones it shouldn't be in, say running 512KB of firmware, or doing a lot of wide math. Also if one expects to carry a 30 year career starting in 2019 you should probably focus on where mindshare is going, not where it has been.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Not sure I see that as an issue. The 151 & 251 extensions to the 8051 support an 16Mb address space, and in any case the average MCU application has < 4k of program memory. I have an application specific 8051 based IC proposal sitting in the corner waiting for funding to come through, and that will deliver an IC using 180nm at under 25 cents. Nothing else can match those sort of prices for low cost applications, of which there are far more of than the larger stuff we all tend to think of. But as I said, it's best to start with just one architecture and until Risc-V gets traction, that may as well be ARM.

Some people have told me to start programming development boards that are al ready assembled and just need code to run, I am thinking of buying the STM32 Nucleo 32 board and the discovery board to start my programming, would you recommend me starting with these boards? Also I have some books kept in mind to help me code with it, let me know if they are fine, I will send you the links of those books