ARM(Advanced RISC Machine)
ARM is a company as well as an architecture that only design its specific architecture but is not the manufacture or seller of a processor or microcontroller. This company just sells its designs certificate to other companies. In this article some companies which use this architecture are introduced and at the end a microcontroller from one of them will be chosen to training.
Types of ARM processor
New generation of processors (Not all of them) of ARM company are divided in to three family for the variety of usage. Of course, if we evaluate them into the details these three categories, they include several subcategories. Let describe the difference between microcontroller and microprocessor to prevent confusion.
It can be said that the processor is almost the same as the CPU, but a microcontroller plus CPU has memories, ports, converters, timers, communication interfaces and etc. The truth is that the processor which ARM company designs and sell its architecture franchise to other companies is not just a CPU; There is more than CPU on this processor. The ARM processors are something between a microcontroller and CPU.
New generation of ARM processor:
ARM Cortex-A Generation
This type of ARM processor is considered for operating systems such as android, Linux and etc. Most of the cell phones use this type of processor.
ARM Cortex-R Generation
This type of ARM processor is optimized for the real-time process and security-sensitive applications. As an example, for using in automobile or in such cases that sensitive decision is required, these processors are used.
ARM Cortex-M Generation
These types of microcontrollers are designed for a low cost and low power applications which embedded in the billions of devices. Probably, based on applications you guess that our focus will be on Cortex-M generation. Yes, our concentration in this tutorial will be on Cortex-M series and finally we get acquainted with the peripheral units of this type of processors. Let us to introduce a bit about Cortex-M processor and its details.
To date, 10 types of Cortex-M processors have been designed. The features of which can be seen in the following tables.
In the two above images the features of different types of processors have been compared. If you do not know about these features is not problem, you will become familiar with each of them as you learn.
The companies that use the ARM processor
ATMEL, NXP, TI, ST are the famous companies that use the ARM architecture in their microcontrollers. So, these company mentioned above are not involved in the design of the ARM processors and just buy the architecture and processor and add peripherals such as timers, memory, ports, and converters to make a microcontroller.
But, which of the microcontrollers of the above companies will we use?
Due to mass tools and suitable compilers which ST company provide us with them we will use ST microcontrollers. ST company has two categories of microcontrollers, STM8 which is 8bit microcontroller and STM32 which is 32-bit microcontroller. Note that STM8 family have nothing to do with the ARM architecture and in this tutorial, we will not learn it so the microcontrollers we are looking at are STM32 microcontrollers. Consider that ARM microcontrollers are 32bit, unlike AVR and other 8-bit or 16-bit microcontrollers. Let us introduce 32-bit microcontrollers from ST company.
Types of STM32 Microcontrollers
First, pay attention to the below figure:
It is obvious that the Vertical axis, is related to the category of ARM Cortex-M and Horizontal axis is related to category of STM32 microcontrollers from ST company. The Horizontal axis of the Cortex-M processors was discussed earlier and now we want to look at the vertical axis that belongs to the ST company classification and tell you what category is suitable for each application.
Wireless family is mainly used for applications such as internet of things(IoT).
Ultra-low-power category due to less power consumption is appropriate for the device that use the battery as the power source.
Mainstream series has public usage and usually are used in the projects that we do not have limitation in power, process, and memory.
High Performance family is the most powerful microcontrollers of the ST company. This type of microcontrollers has much more process power to other series and are used in the projects that need high process and speed.
In this article we read about what was ARM and the categories of the processors and the microcontrollers based on this architecture as well as we defined which microcontroller we will use.
In the second part, we will get acquainted with the tools and how to configure STM32 microcontrollers.