I am developing a board using the STM32H725. We are currently programing each board using the STM32Cube programmer and then we send the PCB on a test bench to test each card. This step that seems to be quite simple but it actually adds additional time that cost us a lot of money each year.
What I would like would be to program the STM32 directly on the test bench via CAN, USUART or USB.
Is this something that is possible? If so where is this documented?
we do also >send the PCB on a test bench to test each card.
and it gets its firmware there, using USB (onchip bootloader) , then test going on.
just set (blue box) not using st-link , but USB or uart - if you prefer.
>If so where is this documented?
read in rm : memory and bus -> boot configuration
and use stm32cubeProgrammer . https://www.st.com/en/development-tools/stm32cubeprog.html
just select (blue box) not st-link, but USB or uart - if you prefer.
Protocols supported by the ROM based System Loader are described in AN2606, and protocols themselves in AN3155 UART, AN4122 I2C, etc.
Or type "stm32 bootloader protocol" into Google, or whatever.
You can code these on a PC, or some other embedded platform or MCU.
If you have your own loader, it can be board/hardware aware, and perhaps use more generic / standard protocols.
You can perhaps buy parts preprogrammed via Distributors who will write your .BIN / .HEX to parts prior to PCBA. Alternately you might learn/use JTAG protocols to push in code via that route. I believe Segger used to offer tools and libraries.