blackmagic/src/platforms/stlink/Flashsize_F103
Uwe Bonnes 80a9fd51ca Clarify STM32F103x8 Flashsize handling.
Should finally fix #471.
2019-09-01 12:11:51 +02:00

51 lines
1.9 KiB
Plaintext

Announced versus available Flash size on F103
============================================
Up to Stlink V2, the CPU soldered on the board was a F103C8 with 64 kiByte
flash. Up to about version 280 of BMP, this limit was not hit when linked
against nanolib.
StlinkV2-1 has a STM32F103CB, like a genuine BMP.
However with more and more devices supported, BMP at about version 282 hit
this limit. There are two ways to work around:
- Branch STlink V2-1 as separate platform and and care for the original STlink
platform by restricting/ommitting features.
- Rely on uncertain upper flash on F103C8
The first option needs more care as an additional platform is introduced and
will restrict usage of older STlinks as BMPs.
However F103C8 and F103CB have the same chip and upper flash exists on F103C8.
This flash may have been tested bad, or not have been tested at all,
or, in the best case, was tested good but market requirements made STM sell
it as F103C8.
Ignoring the chip marking and using an F103C8 blindly as a F103CB is done
already with no known problems on many STM board and china boards (e.g. blue
pill) with genuine STM32. China stlinks clones with a GD32F103x8 will
probably not work. Best is to get new genuine ST hardware. The
STLINK-Vmini is < 10 $ without VAT or to resolder a genuine
STM32F103CB chip. Think also about using the pc-hosted pc-stlinkv2
platform on stlinks with revent firmware.
Flash above the announced size with recent bootloader/BMP:
==========================================================
Use either the provided python tool, as script/stm32_mem.py
does not care for the announced size and verifies:
> ../scripts/stm32_mem.py blackmagic.bin
or compile and use the upgrade executable.
> cd upgrade
> make (PROBE_HOST=...)
> ./blackmagic_upgrade
To long to read
===============
Use the BMP provided upgrade tools:
- scripts/stm32_mem.py
- Compiled upgrade tool in upgrade
Only if mismatch is reported, think further.