【问题标题】:Reading and Writing file to end of flash memory in STM32 device在 STM32 设备中读取和写入文件到闪存的末尾
【发布时间】:2020-01-30 05:27:24
【问题描述】:

我有一些功能正常的固件正在部署到具有 64K 闪存的 STM32 部件(从地址 0x8000000 开始)。我想在闪存空间的末尾使用一些内存来在 STM32 部件本身上存储压缩文件。

使用 openOCD 将此文件写入闪存中某个位置的最佳方法是什么?我应该以某种方式将它捆绑到固件 ELF 中吗?我是否应该刷新固件,然后使用另一个 flash 命令将文件写入闪存空间的特定部分?

编写完成后,如何使用 openOCD 从该位置提取文件并以 gzip 可以解压缩的格式取回?

【问题讨论】:

    标签: embedded stm32 flash-memory openocd


    【解决方案1】:

    对于第一个问题,this thread 讨论了如何在可执行文件中嵌入一些资源。

    在命令行中直接使用 openOCD 加载二进制文件可能会更容易。

    对于第二个问题,您可以直接访问 Flash 中文件的二进制内容。棘手的一点是你必须实现一个解压缩器来解压缩它。可能有很多源代码可以这样做,但也许您可能想评估这是否是最佳解决方案:您会通过存储压缩文件来节省内存,但会“浪费”一些代码来解压缩它?

    【讨论】:

    • 我认为最好的方法确实是 openOCD 用flash write_image 加载它,我实际上不需要在设备上解压缩,它只需要转储十六进制,外部设备就会 tar/枪压缩它
    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多