The Definitive Guide to the ARM Cortex-M3
Joseph Yiu
This is one of a very small number of books about the relatively new ARM processor, the Cortex-M3. Now in a second edition, the book covers all the essential information required to get to grips with this elegant and powerful core and concentrates mostly on the core itself. While several manufacturers, such as ST, Luminary, Atmel and Philips among others, implement Cortex-M3 based processors, they differ in the range of peripherals connected to the core. At its heart, each uses the same logic, registers and instruction set to get the job done.
Over the course of 20 chapters, Yiu examines the general arrangement of the ARM architecture, the instruction set, registers, interrupt controller, memory management, bus configuration, exception handling, programming and debugging via the built-in JTAG interface. Towards the end of the book, is a section on getting started with GNU and Keil toolchains as well as guidance on porting applications from the well-established ARM7 core to the newer Cortex-M3.
Plentiful code examples are given throughout. While these are generally in assembly language, the dedicated C programmer should not feel disadvantaged since there is ample description of the registers, their addresses and bitfields to make porting the code into C a relatively easy exercise. translation to C is, perhaps less trivial when looking at the bit-banding capabilities of the processor and here the author has thoughtfully provided examples in C to complement the assembler code.
If you are interested in really getting under the skin of this processor, this is the book to choose
You can have a look inside the book at Amazon: The Definitive Guide to the ARM Cortex-M3