This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
十六进制文件的记录包含标头、地址、校验和和数据。 您可以将数据编程到地址(绝对地址)。
BTW、请检查您的链接器 cmd 文件是否已将 const 映射并加载到 RAM 而不是闪存。
它是从0x080053B0开始的日志数据。 十六进制文件用于引导加载程序、而不是应用程序映像。 您可以使用 Uniflash 将 Hex 文件或.out 文件加载到闪存中。
使用引导加载程序以十六进制格式对应用程序映像进行编程时、需要首先计算地址的绝对值:
TTyle (第7字节和第8字节)= 0x04 ->高位地址
地址(第3个~第6个字节):低位地址
绝对地址=高位地址<< 16 +低位地址
如果地址位于 RAM 范围、只需将初始化的变量复制到 RAM、就不使用闪存 API。