Skip to main content
Sashvat
Associate III
May 31, 2019
Solved

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

  • May 31, 2019
  • 7 replies
  • 3472 views

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.

    This topic has been closed for replies.
    Best answer by Danish1

    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

    7 replies

    Danish1
    Danish1Best answer
    Lead III
    May 31, 2019

    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

    Sashvat
    SashvatAuthor
    Associate III
    May 31, 2019

    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?

    Tesla DeLorean
    Guru
    May 31, 2019

    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 VenmoUp vote any posts that you find helpful, it shows what's working..
    AVI-crak
    Senior
    May 31, 2019

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

    MikeDB
    Senior II
    May 31, 2019

    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.

    turboscrew
    Senior III
    May 31, 2019

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

    https://mcu.selfip.com/

    MikeDB
    Senior II
    May 31, 2019

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

    turboscrew
    Senior III
    May 31, 2019
    Danish1
    Lead III
    May 31, 2019

    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.

    turboscrew
    Senior III
    June 1, 2019