Ease of use with the Cortex-M
News Release from:
09 August 2012
Interrupt handling is easy and fast in the Cortex-M series processors, but there are a lot more factors that make the Cortex-M series processor easy to learn and use. First of all, the processor has a B linear address space, so there is no need to use any memory paging to overcome memory size limitations.
All the peripherals are also memory mapped, so they can be accessed using normal C pointers, without any need to have special data types or C language extensions for peripheral register declarations.
The Cortex-M series processors are designed to be very C friendly. For example, almost all the operations can be programmed in C, and the instruction set allows 8-bit, 16-bit, 32-bit and even 64-bit data to be processed efficiently. In addition, the Cortex Microcontroller Software Interface Standard, an initiative driven by ARM has made the learning process much easier. The CMSIS-Core library provides access functions (header files) to the processor’s features, and standardises the look and feel of peripheral definitions in different Cortex-M processor-based devices.
All major microcontroller vendors provide CMSIS compliant device driver libraries to make it easy for software developers to develop software on Cortex-M processor-based devices. The libraries contain all the peripheral register definitions and driver functions for setting up and using the peripherals. The CMSIS-Core libraries are also tools independent.
Another useful feature of CMSIS is the free DSP library. This library allows software developers to create DSP applications with the Cortex-M processor quickly and easily, without any royalty and licensing cost. The DSP library is optimised for the Cortex-M4 processor, but it can also run on the Cortex-M3 processor and even the smaller Cortex-M0 and Cortex-M0+ processors if the performance requirement is low.
For development of complex projects, the ARM software ecosystem is an indispensable resource. There are more than 30 operating systems including a number of open source OSes and plenty of middleware packages available, including many free libraries from tool vendors and microcontroller vendors.
One key point is that, although the Cortex-M series processors have lots of features, designers do not need to learn them all before using them. Microcontroller vendors normally provide example code and application notes on their web sites. There are plenty of project examples, including many simple but yet practical examples of real applications. In addition, compiler suites might also include other project examples and quick start guides.
If this abstract has piqued your interest, read the full article online in the August issue of Electronic Specifier Design, by clicking here.