【发布时间】:2013-08-05 03:04:46
【问题描述】:
有一个来自 C 项目的 hex 文件。 我想在 LPC1768 的闪存上下载这个十六进制文件,其中包含一些我在运行时代码中使用的原始数据(用于在代码中初始化数据)。 我知道当我在板上写它时,在运行时,LPC1768 会从内存中的闪存复制数据。
问题 1:如何用 hex 文件,用 jflash 下载原始数据?
问题 2:如何找到原始数据在内存中的复制位置,以便在运行时使用它?
【问题讨论】:
有一个来自 C 项目的 hex 文件。 我想在 LPC1768 的闪存上下载这个十六进制文件,其中包含一些我在运行时代码中使用的原始数据(用于在代码中初始化数据)。 我知道当我在板上写它时,在运行时,LPC1768 会从内存中的闪存复制数据。
问题 1:如何用 hex 文件,用 jflash 下载原始数据?
问题 2:如何找到原始数据在内存中的复制位置,以便在运行时使用它?
【问题讨论】:
这似乎与我的问题相似:
Include binary file with GNU ld linker script
linking arbitrary data using GCC ARM toolchain
您可以将原始数据转换为目标文件,然后将其与您的代码链接以生成包含这两个文件的 hex 文件,然后您可以照常上传该文件。链接器将定义特殊符号,告诉您数据在内存中的开始和结束位置。查看上面的链接以获取更多信息和示例。
【讨论】:
您可以考虑使用Flash Magic 将十六进制文件下载到闪存中。它只下载十六进制。不过,您可能无法调试代码。
你是在尝试逆向工程吗?
【讨论】: