cancel
Showing results for 
Search instead for 
Did you mean: 

Can I download HEX files to STM32 without PCs and programs?

SShin.4
Associate

I already have a compiled HEX file and I have already done downloading HEX files to STM32 using my PC using Keil and ST-LINK.

Now I would like to download the Hex file to STM32 only on a hardware basis in a more advanced way, without PCs and programs.

Move the HEX file to a device and press a switch or something on that device to download the data to STM32. Also, download the HEX file by connecting my smartphone to my stm32? I wonder if it is possible to download the HEX file to STM32 without a PC or program, and if so, let me know how.

5 REPLIES 5
Georgy Moshkin
Senior II

You may create flashing device using stm32 to flash other "blank" stm32 chips through usart, check application notes AN2606 and AN3155

It require some skills, but it is certainly doable.

https://www.st.com/content/ccc/resource/technical/document/application_note/b9/9b/16/3a/12/1e/40/0c/CD00167594.pdf/files/CD00167594.pdf/jcr:content/translations/en.CD00167594.pdf

https://www.st.com/content/ccc/resource/technical/document/application_note/51/5f/03/1e/bd/9b/45/be/CD00264342.pdf/files/CD00264342.pdf/jcr:content/translations/en.CD00264342.pdf

Disappointed with crowdfunding projects? Make a lasting, meaningful impact as a Tech Sponsor instead: Visit TechSponsor.io to Start Your Journey!
Ozone
Lead II

Re-inventing the wheel, is it not ?

Segger and others have standalone programmers, that can flash one or even multiple devices at once on a button press or trigger signal.

Not sure if Segger able to do it using usart. Theoretically in final product SWD pins may be configured as GPIO/etc. and connected to some ICs which interfere with parallel connection to Segger. Usart most likely may be used already in the design. Also it seems that Segger can't work without computer.

Actually I needed such device long time ago, when upgraded hundreds devices firmware using bulky notebook with usb-rs232 cable, device cable and battery. I imagined that with a small battery powered flasher device with two green/red LEDs upgrading would be much more productive: just connect small cylinder-shaped flasher to each device and wait till green LED lights up. Blinking green LED if it detects already flashed, blinking red if some flashing error. With a few such flasher cylinders I would certainly finish work much faster.

Disappointed with crowdfunding projects? Make a lasting, meaningful impact as a Tech Sponsor instead: Visit TechSponsor.io to Start Your Journey!

Segger has historically sold stand-alone pods capable of "production programming" type tasks.

I've built stand-alone flashers with NUCLEO-F767 boards, the target device has a little over 1MB for its flash image, and this was pushed over a USART connection.

Back in the early days of flash we soldered unprogrammed devices onto a small 68K single board computer, and used a header connector, and a little glue logic so we could plug in, and boot from, a Golden ROM dongle, and the firmware image would copy itself onto the onboard flash.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Alex R
Senior

Please use one of the following devices:

https://www.segger.com/products/flash-in-circuit-programmers/

You only need the JTAG or SWD connectors to program