2025-03-12 4:34 AM
Hello everyone,
I have a .hex and a .bin file that set an output to high/low on an STM32H745.
When I upload the .hex file, my project works correctly, but when I upload the .bin file, it doesn't work.
I'm sharing both files.
I can't figure out what I'm doing wrong. Can you help me?
2025-03-12 4:41 AM
How were the two files generated?
A .hex file can be sparse - ie, not contain data for every location - so check that your code doesn't rely on anything in those "unprogrammed" locations.
You should still be able to debug the running code to see what's happening....
You could try reading-back the complete flash in both cases, then comparing ...
2025-03-12 5:48 AM
The files have the same content. Are you perhaps uploading the BIN to a different address? Starting address in the HEX is 0x08100000 which is nonstandard. How are you booting into it?
Download and compare the contents of the flash after uploading each file. You're doing something differently.
2025-03-12 5:55 AM
@Andrew Neil In STM32H745 mcu the codes of the M4 core start from 0x08100000 as standard. above I use these options to generate the bin file and hex file.
@TDK I will now upload the file contents and test the comparison.
2025-03-12 7:43 AM
@Andrew Neil , @TDK
Thank you very much for your help.
I had a problem with my application that converts from bin to hex, so it was not working when I installed it.
I also paid attention to the addressing event you mentioned. Since it is a bin file, the address information needs to be entered, for this, the “Start address” information must be entered from the “Erasing & Programming” section on the program.