AnsweredAssumed Answered

关于RT系列FUSE问题

Question asked by main i on Jul 29, 2019
Latest reply on Aug 10, 2019 by Jay Heng

您好:

      使用外部pin输入状态来切换BOOT_CFG[]的配置会占用很多IO口,这些IO口如果接了外设,在上电时有可能改变了BOOT_CFG[]的配置,导致内核不能启动,因此我想关闭这个功能,查看手册发现,需要设置BT_FUSE_SEL = 1,但是我在程序中设置 SRC->SBMR2 |= SRC_SBMR2_BT_FUSE_SEL_MASK;  发现该寄存器的值并不会改变,它是一个只读寄存器

/** SRC - Register Layout Typedef */
typedef struct {
__IO uint32_t SCR; /**< SRC Control Register, offset: 0x0 */
__I uint32_t SBMR1; /**< SRC Boot Mode Register 1, offset: 0x4 */
__IO uint32_t SRSR; /**< SRC Reset Status Register, offset: 0x8 */
uint8_t RESERVED_0[16];
__I uint32_t SBMR2; /**< SRC Boot Mode Register 2, offset: 0x1C */
__IO uint32_t GPR[10]; /**< SRC General Purpose Register 1..SRC General Purpose Register 10, array offset: 0x20, array step: 0x4 */
} SRC_Type;

 

我尝试修改他的属性,改为__IO  uint32_t SBMR2; 但是仍然不能修改这个寄存器。我应该怎么在程序中修改这个寄存器?

Outcomes