我正在为一个STM32 MCU构建固件更新程序。我已经在设备上编写了引导加载程序软件,与FLASH中的主应用程序分开。
我需要做的是生成一个二进制文件,该文件将成为FLASH中主应用程序的替换代码。这意味着我可以通过UART传输文件并覆盖主应用程序。如何生成这样的文件?
该代码是使用stm32CubeIDE编程的,生成一个.elf文件。在通过UART传输之前,我会在此二进制代码中添加一个头部。
非常感谢您的帮助,
Harry
我需要做的是生成一个二进制文件,该文件将成为FLASH中主应用程序的替换代码。这意味着我可以通过UART传输文件并覆盖主应用程序。如何生成这样的文件?
该代码是使用stm32CubeIDE编程的,生成一个.elf文件。在通过UART传输之前,我会在此二进制代码中添加一个头部。
非常感谢您的帮助,
Harry
arm-none-eabi-objcopy -o ihex input.elf output.elf
,即如何将elf转换为hex。通常,引导加载程序非常简单,它们公开了一个API来编程和擦除存储器区域。因此,您需要在PC上运行一个程序,该程序将理解例如hex文件格式并与您的引导加载程序通信。但是,您没有说您使用了什么“引导加载程序软件”。 - KamilCuk