MCU32F1: Difference between revisions
Created page with "This page discusses STM32F1 compatible microcontrollers, sometimes referred to as clones. Data needs to be copies from the old wiki ( https://pmwiki.blaatschaap.be/pmwiki.php/Microcontrollers/MCU32F1 ) and updated. * STM32F103 * APM32F103 * CH32F103 * CKS32F103 * CS32F103 * FCM32F103 * GD32F103 * HK32F103 * MG32F103 * MH32F103 * MM32F103 * MS32F103 * RX32F103" |
Updates notes about incompatible parts |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
This page discusses [[STM32F1]] compatible microcontrollers, sometimes referred to as clones. | This page discusses [[STM32F1]] compatible microcontrollers, sometimes referred to as clones. | ||
While most of the xxx32F103 MCUs are drop-in replacements, there are exceptions to this rule. | |||
Data needs to be copies from the old wiki ( https://pmwiki.blaatschaap.be/pmwiki.php/Microcontrollers/MCU32F1 ) and updated. | Data needs to be copies from the old wiki ( https://pmwiki.blaatschaap.be/pmwiki.php/Microcontrollers/MCU32F1 ) and updated. | ||
| Line 6: | Line 8: | ||
* APM32F103 | * APM32F103 | ||
* BLM32F103 (marked not compatible in the past, needs more investigation) | |||
* CH32F103 | * CH32F103 | ||
* CKS32F103 | * CKS32F103 | ||
| Line 12: | Line 15: | ||
* GD32F103 | * GD32F103 | ||
* HK32F103 | * HK32F103 | ||
* MG32F103 | * MG32F103 (not drop-in compatible, completely different peripheral memory map) | ||
* MH32F103 | * MH32F103 | ||
* MM32F103 | * MM32F103 (not drop-in compatible, minor changes in the RCC, other peripherals not investigated) | ||
* MS32F103 | * MS32F103 | ||
* RX32F103 | * RX32F103 (marked not compatible in the past, needs more investigation) | ||
==== Memory Map ==== | |||
===== System Memory ===== | |||
The system memory is located at 0x1FFFF000 to 0x1FFFF7FF. | |||
It contains the boot rom, this is the internal bootloader which can be entered using the BOOT pins. | |||
At location 0x1FFFF7E0 the flash size is stored. | |||
At location 0x1FFFF7E8 the serial number is stored. | |||
This memory is programmed during production and cannot be altered by the user. | |||
The content of this memory area is one way to identify the MCU we are running on, as it contains the internal bootloader, a different manufacturer puts their own code in there, however, some of them have copied ST's bootloader. | |||
Furthermore, there may be some more identifying bytes in there. It seems for [[MH32F103|MegaHunt's MCUs]] the Serial Number contains some identifying information. Also on the APM32, there is a value at location 0x1FFFF7D0. While Geehy has their own bootloader, older ApexMic versions has ST's. | |||
===== Option Bytes ===== | |||
The option bytes are located at 0x1FFFF800 | |||
Latest revision as of 10:18, 19 April 2026
This page discusses STM32F1 compatible microcontrollers, sometimes referred to as clones.
While most of the xxx32F103 MCUs are drop-in replacements, there are exceptions to this rule.
Data needs to be copies from the old wiki ( https://pmwiki.blaatschaap.be/pmwiki.php/Microcontrollers/MCU32F1 ) and updated.
- STM32F103
- APM32F103
- BLM32F103 (marked not compatible in the past, needs more investigation)
- CH32F103
- CKS32F103
- CS32F103
- FCM32F103
- GD32F103
- HK32F103
- MG32F103 (not drop-in compatible, completely different peripheral memory map)
- MH32F103
- MM32F103 (not drop-in compatible, minor changes in the RCC, other peripherals not investigated)
- MS32F103
- RX32F103 (marked not compatible in the past, needs more investigation)
Memory Map
System Memory
The system memory is located at 0x1FFFF000 to 0x1FFFF7FF.
It contains the boot rom, this is the internal bootloader which can be entered using the BOOT pins.
At location 0x1FFFF7E0 the flash size is stored.
At location 0x1FFFF7E8 the serial number is stored.
This memory is programmed during production and cannot be altered by the user.
The content of this memory area is one way to identify the MCU we are running on, as it contains the internal bootloader, a different manufacturer puts their own code in there, however, some of them have copied ST's bootloader.
Furthermore, there may be some more identifying bytes in there. It seems for MegaHunt's MCUs the Serial Number contains some identifying information. Also on the APM32, there is a value at location 0x1FFFF7D0. While Geehy has their own bootloader, older ApexMic versions has ST's.
Option Bytes
The option bytes are located at 0x1FFFF800