我有一些正在运行的固件,我正在将它们部署到具有64K闪存的STM32部件(从地址0x8000000开始)。我想使用闪存空间末尾的一些内存来在STM32部件本身上存储一个gzipped文件。
使用openOCD将此文件写入闪存中某个位置的最佳方式是什么?我是否应该以某种方式将其捆绑到固件ELF中?我是否应该先闪存固件,然后使用另一个闪存命令将文件写入闪存空间的特定部分?
编写完成后,如何使用openOCD将文件从该位置拉出,并以gzip可以解压缩的格式返回?
发布于 2019-10-01 15:22:04
对于第一个问题,this thread讨论了如何在可执行文件中嵌入一些资源。
在命令行中使用openOCD直接加载二进制文件可能会更容易。
对于第二个问题,您可以直接访问Flash中文件的二进制内容。棘手的一点是,您必须实现一个解拉链来解压缩它。可能有很多源代码可以做到这一点,但也许您可能想要评估这是否是最好的解决方案:您可以通过存储压缩文件来节省内存,但您会“浪费”一些代码来解压缩它?
https://stackoverflow.com/questions/58176007
复制相似问题