STM32

From Braindump
Revision as of 08:42, 19 December 2024 by Jan (talk | contribs) (→‎STM32 F1)
Jump to navigation Jump to search

https://stm32-base.org/

https://stm32world.com/wiki/STM32_Memory_Map

https://github.com/stm32duino/Arduino_Core_STM32

https://uraltone.com/stm32f401ccu6-kehitysalusta-usb-c.html

https://github.com/stlink-org/stlink

https://kleinembedded.com/stm32-without-cubeide-part-1-the-bare-necessities/

STM32 F1

STM32F103C8T6 Used in the Bluepill ($2.7946 / 10k)

Cortex-M3 ARM @72 MHz, 20 Kb RAM and 64Kb Flash. 3.3V, some of its pins are 5V tolerant.

https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html

https://www.st.com/en/microcontrollers-microprocessors/stm32f103c8.html

STMicrelectronics RM0008 STM32F10xxx Reference Manual

STMicrelectronics AN2834 Application Note: How to get the best ADC accuracy in STM32 microcontrollers

The Generic STM32F103 Pinout Diagram, Rasmus Friis Kjeldsen


https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill

Based on Maple Mini from Leaflabs, does not have USB-to-Serial chip

STM32 F4

STM32F401CCU6 Used in the Blackpill ($2.2469 / 10k)

St32-pinout.png

Cortex-M4 @84 Mhz,with DSP, FPU 64 Kb of RAM and 256Kb flash

https://www.st.com/en/embedded-software/stsw-stm32065.html

https://www.freertos.org/Documentation/02-Kernel/03-Supported-devices/04-Demos/ST-Microelectronics/FreeRTOS-for-STM32F4xx-Cortex-M4F-IAR#ConfigAndUsage

STM32 H5

stm32h533ret6 (2.6679 / 10k)

Cortex-M33 @250 MHz, 512-Kbyte Flash, 272-Kbyte RAM

https://www.st.com/en/evaluation-tools/nucleo-h533re.html

um3121-stm32h5-nucleo64-board-mb1814-stmicroelectronics.pdf

https://github.com/STMicroelectronics/STM32CubeH5

STM32 N6

https://estore.st.com/en/nucleo-n657x0-q-cpn.html

Cortex-M55

Fake

Is my bluepill a fake one? did I blow it up or does it miss some bootloader? In run mode the blink program runs.

Fake unlicensed Gigadevice and other clones exist

https://mecrisp-stellaris-folkdoc.sourceforge.io/bluepill-diags-v1.640.html

https://www.e-tinkers.com/2020/01/getting-started-with-stm32-and-things-you-need-to-be-aware-of/

http://web.archive.org/web/20240214091007/https://www.e-tinkers.com/2020/01/getting-started-with-stm32-and-things-you-need-to-be-aware-of/

Bootloader

https://github.com/rogerclarkmelbourne/STM32duino-bootloader

https://github.com/STMicroelectronics/stm32-mw-openbl

https://www.youtube.com/watch?v=Myon8H111PQ

https://www.youtube.com/watch?v=L670v-Oghs4

Programmer Bluepill
RxD A9
TxD A10
5V 5V
GND GND

115200baud, 8E1 (even parity) ... Failed to detect F7 ... apparently the stm32 reads one byte to detect the baud speed.


USB D+ pin has 10kOhm insted of 1.5kOhm

boot0 set to 1 to enable programmer mode

boot1 set to 0 is system memory and set to 1 is embedded sram

https://deepbluembedded.com/stm32-boot-modes-stm32-boot0-boot1-pins/

ST-Link

https://estore.st.com/en/st-link-v2-cpn.html

clone: https://www.partco.fi/en/measurement/debugging/20140-stlinkv2.html

https://www.st.com/resource/en/user_manual/um1075-stlinkv2-incircuit-debuggerprogrammer-for-stm8-and-stm32-stmicroelectronics.pdf

The ST-Link/V2 is based on a STM32F103C8 it has an ERNI 4-pin SWIM connector and a 20 pin flat ribbon for JTAG/SWD serial wire debugging

JTAG: TCK, TMS, TDI, TDO

SWD: VCC, GND, RESET, SWCLK, SWDIO, SWO

For STM8, use the SWIM single wire interface module

For STM32, use the 20-pin interface. Connect the SWD pins VPP, GND, CLK, DIO


https://stm32-base.org/guides/connecting-your-debugger.html#official-st-linkv2

https://waterpigs.co.uk/articles/black-blue-pill-stm32-st-link-connection/

https://jonathanklimt.de/electronics/programming/embedded-rust/rust-on-stm32-2/

https://docs.rs/stm32f1xx-hal/latest/stm32f1xx_hal/index.html

https://github.com/stm32-rs/stm32f1xx-hal/tree/master

rustup update
rustup target install thumbv7m-none-eabi
cargo install cargo-flash
cargo init rusty-blink
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg
cargo flash --release --chip stm32f103c8

Arduino

https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

https://www.phippselectronics.com/blue-pill-programming-via-usb/

https://github.com/stm32duino/Arduino_Core_STM32/wiki/HAL-configuration

https://github.com/Serasidis/STM32_HID_Bootloader/releases

stm32flash.exe -g 0x8000000 -b 115200 -w hid_generic_pc13.bin COM2

IAR Workbench

IAR STM32F401CC.png