Top resource About: What is STM32? art 019 IR sensor

Top resource About: What is STM32?

What is STM32?

What is STM32? STM32 is a 32-bit Flash microcontroller family developed by ST Microelectronics. It is based on the ARM® Cortex®‑M processor and offers a 32‑bit product range that combines very high performance, real-time capabilities, digital signal processing, and low‑power, low‑voltage operation.
A detailed description of each series, development tools, and part number decoding can be found on Wikipedia
 

 

Top resource About: What is STM32? art 019 IR sensor

What is STM32? ARM Architecture

ARM stands for Advanced Risk Machine. It is one of the most popular architectures used in devices like cameras, mobile phones, and embedded system devices. These are known for their low-power-consumption vs better performance abilities.

 

Image for post

ARM is a 32-bit RISC (Reduced Instruction Set Computing) architecture. 32-bit implies that there are 32-lines in the address bus, ie; it can address up to 2³² locations. The RISC instruction implies that the hardware is complex and a lot of process handling is done by the hardware, thus making it easier to code instructions for ARM processors.

The STM32F4-Discovery

Since STM32 is an ARM-based microcontroller, it will have distinctions based on whether it is Core 7, Core 4, Core 0, etc. In this blog, I have made use of a development kit ie; STM32F4 Discovery board. A dev-kit, as can be guessed from the name, is used when developing an application. It is essentially a break-out board, which gives access to almost all the pins on the STM32 IC and also has a built-in accelerometer and magnetometer. Thus, it is a great tool to develop and test your application/firmware. Once it can be ensured that the code is good and working, it can then be ported to an actual IC on a production-grade PCB.

The STM32F4 dev-kit has the STM32F407VGTx as the onboard IC. If we go through the datasheet, the IC part number gives the specific details and capabilities of the IC.

 -> 32-bit microcontroller
     -> general-purpose
   -> camera-interface/ethernet connectivity
     -> 100 pins
     -> 1024 KB Flash Memory
     -> LQFP IC Package

The Startup Procedure

The startup procedure for the STM32 is not as simple as it would be in an Arduino. There is a learning curve, and it is quite steep but I will try to explain it in a concise manner. To learn more, we will need to refer to the user manual. A link to it is given below.

Firstly, we need to set up the system clocks and peripherals of the STM32 chip. This is done via setting the configuration of the RCC registers. The RCC is a set of registers which have the clock control, like clock frequency and Prescaler settings. Then we need to set the registers of the peripherals that we need to use.

 
What is STM32?
What is STM32?