Overview of ARM Assembly: Practical Guide for Cortex-M3/M4

The Cortex-M3/M4 is the most mainstream ARM core in embedded development, widely used in microcontrollers such as STM32. Its assembly language follows the RISC architecture’s “reduced and efficient” design philosophy. This article explains the core logic of ARM assembly step by step, from core registers to common instructions, and practical examples. 1. Core Registers (“Operation … Read more

The King of Microcontrollers: Why the STM32F103C8T6 Remains Timeless?

The King of Microcontrollers: Why the STM32F103C8T6 Remains Timeless?

In the field of microcontrollers, model iterations change as rapidly as fashion trends, yet there are always classic products that transcend cycles, becoming immortal legends in the hearts of engineers. The STM32F103C8T6 from STMicroelectronics is such a chip, having maintained its popularity since its launch and still thriving in numerous projects today. What is the … Read more

STM32 Bus Architecture

STM32 Bus Architecture

The STM32 series microcontrollers are 32-bit microcontrollers developed by STMicroelectronics based on the ARM Cortex-M series cores, including several sub-series such as F1, F4, and F7, covering various core architectures like CM0, CM3, and CM4, which can meet different selection requirements. Among them, the F1 series, as a general-purpose type, combines rich peripherals with high … Read more

Operating Modes of ARM Cortex-M3/M4

Operating Modes of ARM Cortex-M3/M4

In the field of embedded development, the Cortex-M3/M4 processors have become the preferred architecture in areas such as the Internet of Things and industrial control due to their high performance, low power consumption, and rich peripheral support. This article will delve into its core design mechanisms—the cooperative working mechanism of dual stack pointers (MSP/PSP) and … Read more

Recommended Models of FMD 32-bit Microcontrollers: A Comparison of M0 and M3 Series

Recommended Models of FMD 32-bit Microcontrollers: A Comparison of M0 and M3 Series

FMD’s 32-bit line has two main branches:• Cortex-M0: Low power + high integration, running at 48 MHz is sufficient;• Cortex-M3: Performance + rich peripherals, 72 ~ 120 MHz with USB/CAN.Both lines share the same ultra-deep sub-micron embedded Flash, capable of 2 million erase/write cycles at 125 °C, with register mapping similar to STM32F0/F1, allowing for … Read more

Detailed Explanation of the Program Status Register in Cortex-M3/M4

Detailed Explanation of the Program Status Register in Cortex-M3/M4

In the development of ARM Cortex-M series processors, the Program Status Register (PSR or xPSR) is key to understanding the program’s execution state and exception handling.This article will delve into the structure of the PSR in Cortex-M3/M4, including the roles of APSR, IPSR, and EPSR, as well as practical application scenarios, helping developers accurately grasp … Read more

Solutions for Jlink-OB Download Failures Using Keil MDK

Solutions for Jlink-OB Download Failures Using Keil MDK

Recently, I switched from Windows 10 to Windows 7, so I had to reinstall various EDA software that I had previously installed. While developing a program for a Cortex-M3 core MCU using Keil, I encountered a problem: I cannot download the program using Jlink-OB. When I switched back to the previous Windows 10 system, it … Read more

Understanding STM32 Debugging Techniques

Understanding STM32 Debugging Techniques

When learning STM32 development, the debugging step is essential。This article will guide you through the knowledge related to debugging. This article takes STM32F1 and Cortex-M3 as examples; the principles are the same or similar for other series chips or cores. 1Overview In STM32, there are many debugging components. Using them, various debugging functions can be … Read more

Essential Knowledge for Debugging STM32

Essential Knowledge for Debugging STM32

Learning STM32 development inevitably involves the step of debugging. This article will help you understand the knowledge related to debugging. This article takes STM32F1 and Cortex-M3 as examples; the principles are the same or similar for other series of chips or cores. 1Overview In STM32, there are many debugging components. Using them allows for various … Read more

Cortex-M3 Programming Model for Embedded Systems

Cortex-M3 Programming Model for Embedded Systems

To use the Cortex-M microcontroller in general applications, one needs to understand several aspects, including the programming model, how exceptions (such as interrupts) are handled, memory mapping, how to use peripherals, and how to utilize the software driver libraries provided by the microcontroller vendor. First, let’s take a look at the programming model of the … Read more