2024-08-13 02:42 AM
I have a general question. I am using STM32F423 and STM32L407 Evaluation boards for practicing. So in both there boards they are using the debugger IC which is STM32F103CBT6.
i. Why are they using this IC and what exactly does this IC does in programming the main IC.?
ii. Without this if we program, what will happen? and why can't we do that.?
Solved! Go to Solution.
2024-08-13 01:24 PM
Aren't there block diagrams in the user manuals?
It provides a means of accessing the target IC's scan-chains via JTAG or SWD protocols
The target IC can work fine without this access, you can program the parts in-situ using the methods described in app note AN2606, for UART connectivity AN3155.
You can use stand-alone debug pods, like the Segger J-Link, ARM U-Link, but these add cost and clutter compared to providing already attached, On-Board.
The integration of the debugger onto the NUCLEO and DISCO board allows for cheap, easy access, with a single board and cable. Something you can give a student, they can work on immediately in the lab, or take home.
The STM32F103 programmed with the debugger are not available in the sense of the ATMEL/MICROCHIP EDBG solution, but you can get some ST-LINK/V3MINI(E) type formats you can solder to your own development boards.
2024-08-13 03:01 AM - edited 2024-08-13 03:01 AM
The function is explained in the manuals of the boards: it is the ST-LINK/V2-1 debugger.
Hope that answers your questions?
Regards
/Peter
2024-08-13 01:24 PM
Aren't there block diagrams in the user manuals?
It provides a means of accessing the target IC's scan-chains via JTAG or SWD protocols
The target IC can work fine without this access, you can program the parts in-situ using the methods described in app note AN2606, for UART connectivity AN3155.
You can use stand-alone debug pods, like the Segger J-Link, ARM U-Link, but these add cost and clutter compared to providing already attached, On-Board.
The integration of the debugger onto the NUCLEO and DISCO board allows for cheap, easy access, with a single board and cable. Something you can give a student, they can work on immediately in the lab, or take home.
The STM32F103 programmed with the debugger are not available in the sense of the ATMEL/MICROCHIP EDBG solution, but you can get some ST-LINK/V3MINI(E) type formats you can solder to your own development boards.
2024-08-13 06:10 PM
On almost all boards - you can disable the STM32 debugger IC chip.
You should have a header to connect an external debugger.
Potentially, any JTAG/SWD adapter should be able to access and program the MCU. Best is to use an external STM32 Debugger dongle (external ST-LINK).
It works fine (done on many boards).
Just to bear in mind:
Sometimes (depends on the board), the STM debugger chip generates also the core clock for the main MCU. So, disabling Debugger (and allowing to connect an external debugger) might just disconnect the JTAG/SWD wires.
Just check the schematics for this board in order to see how the "external Debug connector" works.
2024-08-13 09:07 PM
Thanks for the reply! @Tesla DeLorean I have an another doubt. why does this IC have to be STM32F103C? Anything particular that makes F1 series that fit the role as a debugger?
2024-08-13 11:08 PM
@vbk22398 The STM32F103 used in the first ST-LINK was the first available part with USB at the time.
2024-08-14 05:29 AM
@Peter BENSCH Sir, any documents or any links to study more about the same.?
2024-08-14 07:27 AM
I don't know exactly what you want to know, but you can find all the relevant documents on the website of the respective tool, i.e. ST-LINK/V2, ST-LINK/V2-1 as part of NUCLEO/DISCOVERY or ST-LINK/V3 in various versions.
2024-08-14 02:25 PM
No just that it's adequate to do the job.. the V2-1 had a slightly more capable STM32F103, allowing for more end-points, and a composite USB device including MSC and VCP/CDC
The ST-LINK/V3 uses an STM32F723, this affords an internal USB-HS PHY so faster communications speeds, needs a better quality cable. Wire speed to SWD/JTAG up to 24 MHz, or so, vis perhaps 4 MHz on the older V2 models.
How to interact with the JTAG/SWD, perhaps go look at ARM's technical reference manuals, or look at code for OpenOCD or CMSIS-DAP