stm32f103 board
Function | Pin and Port |
USART3 TX | PB10 |
USART3 RX | PB11 |
USART2 TX | PA2 |
USART2 RX | PA3 |
USART1 TX | PA9 |
USART1 RX | PA10 |
USART | TX pin | RX pin | special | speed | sensor | linux |
3 | PB10 | PB11 | 9600 | MH-Z19B | /dev/ttyACM1 | |
2 | PA2 | PA3 | 9600 | |||
1 | PA9 | PA10 | BOOT=0 | 9600 |
dpavlin@nuc:/nuc/stm32/pill_serial$ cat flash.sh sudo ../stlink/build/Release/st-flash write src/pill_serial.bin 0x08000000
lower serial speed to 9600 so we can use slow sensors on it: serial-speed.diff
https://github.com/r2axz/bluepill-serial-monster
http://git.rot13.org/?p=openocd-rpi2-stm32;a=blob;f=openocd-rpi.txt
https://github.com/thanks4opensource/buck50/issues/2
https://github.com/keirf/Greaseweazle/wiki/STM32-Fakes
dpavlin@nuc:/nuc/stm32/Greaseweazle$ wget https://github.com/keirf/Greaseweazle/releases/download/v0.22/Greaseweazle-v0.22.zip dpavlin@nuc:/nuc/stm32/Greaseweazle$ unzip Greaseweazle-v0.22.zip Greaseweazle-v0.22/alt/Blinky_Test-v0.22.hex Archive: Greaseweazle-v0.22.zip inflating: Greaseweazle-v0.22/alt/Blinky_Test-v0.22.hex
write it to flash using openocd
> flash write_image erase /nuc/stm32/Greaseweazle/Greaseweazle-v0.22/alt/Blinky_Test-v0.22.hex 0 ihex auto erase enabled wrote 5120 bytes from file /nuc/stm32/Greaseweazle/Greaseweazle-v0.22/alt/Blinky_Test-v0.22.hex in 0.299529s (16.693 KiB/s)
serial output is on the programming interface at pins A9/TX and A10/RX: Not via the USB port!
pi@pihdmi:/nuc/stm32/buck50 $ microcom -p /dev/ttyUSB1 connected to /dev/ttyUSB1 Escape character: Ctrl-\ Type the escape character to get to the prompt. ** Blinky ** Blinky Test ** ** Keir Fraser <keir.xen@gmail.com> ** https://github.com/keirf/Greaseweazle Serial = ff48:0670:8967:5655:4740:6706 Flash Size = 128kB Device ID = 0x0000 Revision = 0x0000 Testing I2C1... OK Testing I2C2... OK Testing SPI1... OK Testing SPI2... OK Testing TIM1... OK Testing TIM2... OK Testing TIM3... OK Testing TIM4... OK DMA Test #1... OK DMA Test #2... OK DMA Test #3... OK DMA Test #4... OK Testing 64kB Flash... OK Enable TIM4 IRQ... .OK Testing 20kB SRAM (endless loop)................................................................
After flashing this test, you will not be able to address blue pill using openocd.
To work-around this problem, I switched boot0 jumper, used stm32loader (after pressing reset button) to load alternative binary.