From 9e864a0543c90d1a0432084c0612c1aca3c7dd37 Mon Sep 17 00:00:00 2001 From: gmcn42 Date: Thu, 28 Nov 2019 11:37:07 +0100 Subject: [PATCH 1/2] Add "serial" upload information Serial uploading using the internal STM bootloader is available in 4.1.0 when upload_protocol is set to "serial" and an USB/TTL-UART adapter is connected to pins PA9 (TX) and PA10 (RX) and the Blue Pill is reset with jumpers BOOT0=1 and BOOT1=0. I think the docs should reflect that as it is a very common and easy method. --- boards/ststm32/bluepill_f103c8.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/boards/ststm32/bluepill_f103c8.rst b/boards/ststm32/bluepill_f103c8.rst index 80f8291f70..a1f94cd54c 100644 --- a/boards/ststm32/bluepill_f103c8.rst +++ b/boards/ststm32/bluepill_f103c8.rst @@ -72,6 +72,7 @@ BluePill F103C8 supports the next uploading protocols: * ``dfu`` * ``jlink`` * ``mbed`` +* ``serial`` * ``stlink`` Default protocol is ``stlink`` @@ -85,6 +86,10 @@ You can change upload protocol using :ref:`projectconf_upload_protocol` option: board = bluepill_f103c8 upload_protocol = stlink + +**A Note on the** ``serial`` **upload protocol:** + +The STM32 chips have a builtin bootloader which can be activated by setting the BOOT1 jumper to 1 (BOOT0 should be kept at 0) and pushing the reset button. The MCU will then wait for programming over the main UART. The pins are PA9 (TX) and PA10 (RX) on the blue pill boards. Programming will work using a USB/TTL-UART adapter, for example CH340 or similar. Keep in mind that RX from the MCU needs to be connected to TX of the USB adapter and vice versa. Debugging --------- @@ -141,4 +146,4 @@ Frameworks - STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency. * - :ref:`framework_zephyr` - - The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind. \ No newline at end of file + - The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind. From e54920ae106666514fd792a63efaca8a4562caed Mon Sep 17 00:00:00 2001 From: gmcn42 Date: Tue, 29 Sep 2020 08:48:21 +0200 Subject: [PATCH 2/2] Update boards/ststm32/bluepill_f103c8.rst Confused BOOT0 and BOOT1 in a paragraph Co-authored-by: a_p_u_r_o --- boards/ststm32/bluepill_f103c8.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards/ststm32/bluepill_f103c8.rst b/boards/ststm32/bluepill_f103c8.rst index a1f94cd54c..62627052bc 100644 --- a/boards/ststm32/bluepill_f103c8.rst +++ b/boards/ststm32/bluepill_f103c8.rst @@ -89,7 +89,7 @@ You can change upload protocol using :ref:`projectconf_upload_protocol` option: **A Note on the** ``serial`` **upload protocol:** -The STM32 chips have a builtin bootloader which can be activated by setting the BOOT1 jumper to 1 (BOOT0 should be kept at 0) and pushing the reset button. The MCU will then wait for programming over the main UART. The pins are PA9 (TX) and PA10 (RX) on the blue pill boards. Programming will work using a USB/TTL-UART adapter, for example CH340 or similar. Keep in mind that RX from the MCU needs to be connected to TX of the USB adapter and vice versa. +The STM32 chips have a builtin bootloader which can be activated by setting the BOOT0 jumper to 1 (BOOT1 should be kept at 0) and pushing the reset button. The MCU will then wait for programming over the main UART. The pins are PA9 (TX) and PA10 (RX) on the blue pill boards. Programming will work using a USB/TTL-UART adapter, for example CH340 or similar. Keep in mind that RX from the MCU needs to be connected to TX of the USB adapter and vice versa. Debugging ---------