Understanding the Differences Between ARM7, ARM9, s3c2410, STM32, and Cortex-M3

Follow+Star Public Account Number, don’t miss exciting content

Understanding the Differences Between ARM7, ARM9, s3c2410, STM32, and Cortex-M3

Author | strongerHuang

WeChat Official Account | Embedded Column

You see the number 9 in ARM9 is larger, don’t you think it’s more powerful?
You see a lot of information is based on s3c2410, don’t you think it’s still quite popular now?
If we rewind 10 years, ARM9 and s3c2410 were indeed quite popular. Why do I say this? Because they were a batch of processors before ARM.
This article will review various ARM processors and discuss the relationships and differences between ARM7, ARM9, s3c2410, STM32, and Cortex-M3.

ARM Naming Rules

The naming rules for ARM are a bit complex, with some changes between the early and current naming conventions. For the average person, just understanding a few major naming rules is enough.

ARM naming is divided into Instruction Set Architecture, Processor Architecture, Processor Model three categories of naming rules:

Understanding the Differences Between ARM7, ARM9, s3c2410, STM32, and Cortex-M3

1. Instruction Set Architecture

Instruction set architecture naming format:

Armv + [n] + [variants] + [x(variants)]

Armv:Fixed character, i.e., ARM Version

n:Instruction set version number, to date, 9 series of ARM architecture versions have been released, so n=[1~9]
variants:Variants
x(variants):Indicates that the specified variant after x is not supported
Major Versions: ARMv1 ~ ARMv9
Then it can be further divided, for example: ARMv8-A, ARMv8-R, ARMv8-M
ARMv9 architecture was only launched this year (2021), and will have more series of processors.
2. Processor Architecture (Series)
Starting from the ARMv6 architecture, ARM further divides processors into three different categories based on performance and application scenarios: Cortex-M, Cortex-R, Cortex-A.
Early processors did not undergo this major classification.
3. Processor Model
The processor model here differs from our direct processor model (for example: STM32F103ZET6), as this is from ARM’s perspective.
The naming rules for processor models before ARMv6:
ARM + [x][y][z] + [variants]
x:Processor series, there are multiple series such as 6, 7, 9, 11
y:Memory Management/Protection Unit
z:Cache
Variants have the following letters available:
T:Supports Thumb instruction set
D:Supports on-chip debugging
M:Supports fast multipliers
I:Supports Embedded ICE, supports embedded trace debugging
E:Supports enhanced DSP instructions
J:Supports Jazelle
(F):Equipped with vector floating-point unit VFP
-S:Synthesizable version
For example: ARM926, belongs to ARMv5 instruction set architecture, CPU is ARM9 series, equipped with 2 memory management/protection units, and 6 caches.
ARMv6 and later processor models are the ones everyone is more familiar with now, for example:
  • Cortex-M0, Cortex-M3, Cortex-M4

  • Cortex-R4, Cortex-R5

  • Cortex-A55, Cortex-A73

Here’s another image:
Understanding the Differences Between ARM7, ARM9, s3c2410, STM32, and Cortex-M3

Differences Between Processors

After understanding the ARM processor naming rules, let’s look at the differences between ARM7, ARM9, s3c2410, STM32, and Cortex-M3.

1. ARM7

ARM7 is a processor series (major version, or ARM7 family), which contains many types of processors.

Most adopt the ARMv4T core architecture, but some processors take ARMv3 or ARMv5TEJ core. This series adopts the von Neumann architecture.

The ARM7 series was launched in 1993, classic ARM7 processors include ARM7TDMI, ARM7EJ-S, etc. (Early STM32 products like STM7 also use the ARM7TDMI 32-bit RISC core).

2. ARM9 and s3c2410

After ARM7 comes ARM9, there is actually a transitional product ARM8 (just like Win7 jumped directly to Win10).

ARM9 was still quite popular during my school days, and there are still many learning materials about ARM9.

Understanding the Differences Between ARM7, ARM9, s3c2410, STM32, and Cortex-M3

The classic s3c2410 is actually a processor based on the ARM920T core, and after S3C2410, S3C2416, S3C2440, etc. can be said that students learning embedded Linux all know of their existence, and many Linux development boards and materials on the market are designed based on these processors.

Currently, many embedded Linux development boards are based on NXP’s iMX.6 processor (Cortex-A9).

3. STM32 and Cortex-M3

STM32 is familiar to those learning microcontrollers and embedded development; it is a processor based on the Cortex-M core from ST (STMicroelectronics), which includes multiple series (STM32F0, F1, F4, L0, L1, G0, G4, etc.).

Cortex-M3 is just a core of an ARM processor, and many semiconductor companies develop their products based on the Cortex-M3 core.

The End

Finally, for beginners, there is no need to get too caught up in the relationships and differences between these processors.

In the case of uncertainty, just choose a currently popular processor to learn from, buy a development board to start learning, and code and think more.

———— END ————

Reply in the background with ‘Science Popularization Knowledge’ or ‘Embedded Software and Hardware Knowledge’ to read more related articles.

Welcome to follow my public account, reply “Join Group” to join the technical exchange group according to the rules, reply “1024” to see more content.
Welcome to follow my video account:

Understanding the Differences Between ARM7, ARM9, s3c2410, STM32, and Cortex-M3

Click “Read Original” to see more shares, and feel free to share, bookmark, like, and view.

Leave a Comment

Your email address will not be published. Required fields are marked *