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.

[参考译文] TM4C129XNCZAD:在引导加载程序中添加版本详细信息

Guru**** 2777545 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1610874/tm4c129xnczad-adding-version-details-in-bootloader

器件型号: TM4C129XNCZAD

尊敬的先生:

我的引导加载程序位于 0x0000 处、应用程序位于 0x4000 处

我将 t WO 文件添加到引导加载程序 bl_version.c 和 bl_version.h 中、但无法写入位置 0x3F00 的闪存。  这个位置我必须通过应用软件读取我正在获得 FF FF FF FF FF。  

bl_version.c 下面的代码

包含“bl_version.h"</s>“

/*标记为已使用、以便链接器永远不会将其删除*/
__attribute__((section(“.BOOT_VER")“)、used))
const BL_VERSION_T 引导加载程序版本=

  bl_magic、
  BL_VER_MAJOR、
  BL_VER_MINOR、
  BL_VER_PATCH、
  0xFF
};

 

bl_version.h 头文件具有

#ifndef __BL_VERSION_H__
#define __BL_VERSION_H__

#include

#define BL_VER_MAJOR 1
#define BL_VER_MINOR 0
#define BL_VER_PATCH 0

#define BL_MAGIC 0xB00710AD    
#define BL_VERSION_ADDR 0x00003F00

typedef 结构

  uint32_t 魔术;
  uint8_t major;
  uint8_t 次要;
  uint8_t 补丁;
  uint8_t 保留;
} BL_VERSION_T;

/* BL_version.c 中定义的版本对象*/
extern const BL_VERSION_T BootloaderVersion;

#endif /*__BL_VERSION_H__*/

 

散点文件为  

闪存 0x00000000 0x00010000

  重置 0x00000000 0x00003F00
  {
    *。o(复位,+第一个)
    .any (+RO)
  }

  BOOT_VER 0x00003F00 0x00000100
  {
    *(.BOOT_VER)
  }

  SRAM 0x20000000 0x00010000
  {
    .Any (+RW +Zi)
  }
}   

 

在内存位置 0x3F00 上仍显示 FF FF FF FF FF FF FF  

请做必要的事情