Hello! Faced a ridiculous situation: I wrote a trial firmware in Linux Mint eclipse Oxigen 3 for stm32f103c8t6 simple flashing LED. After the build, as it should be, I get the .elf and .hex files. Poured into the controller using stlinkv2 utility st-flash. In the terminal it shows that everything was successful. But the controller LED does not blink. Reset, turning off and on does not help. And it is still impossible to upload the .elf file to the controller, respectively, debugging does not work. The most interesting thing is that when I copied the same firmware on a computer under Windows and uploaded the controller with the same stlinkv2, the controller started up. What could be the problem? When flashing from Windows, the controller memory looks the same as the firmware. With Linux firmware, completely different values ​​appear in the memory of the controller.

Windows firmware

Linux firmware

the firmware file itself

board and programmer

    1 answer 1

    Understood: It was necessary to flash the command ./st-flash --format ihex write myapp.hex, indicating the hex-format of the firmware.

    It was possible to win and debug, namely to fix the error reset command not defined for the device 'generic tcp / ip'

    The error occurred due to the fact that I installed the newest version of gdb hardware debugging release 9.4, it was necessary to install gdb hardware debugging release 9.3 in eclipse (everything worked with it immediately).