21ic问答首页 - GD32F350 跳转IAP有读保护,看内存是没有安全防护的
相关问题
- 读“[学习资料] 嵌入式系统开发中的内存管理与优化实战”有感,并童趣科普1 回答
- ESD防护设计0 回答
- 芯片在进行 IAP 操作的过程0 回答
- 浪涌保护器分级防护:退耦装置的安装规范与创新方案0 回答
- GD32F350上电后.3.3V电压会升到3.6V5 回答
- 用DMA搬数据总是提前结束10 回答
- MCU压缩我的理解0 回答
- 官方例程IAP,通信错误。21 回答
- IAP双向升级 HC32L1962 回答
赞0
评论
2025-01-10
赞0
评论
2025-01-08
赞0
没有勾选, 我读内存也是没有开启保护, 不知道怎么回事
评论
2025-01-07
赞0
评论
2025-01-07
赞0
评论
2025-01-07
赞0
评论
2025-01-07
赞0
评论
2025-01-07
赞0
评论
2025-01-07
赞0
{
// enable peripheral clock of RTC
RCU_REG_VAL(RCU_RTC) |= BIT(RCU_BIT_POS(RCU_RTC));
if(RTC_BKP0 == INTO_IAP)
{
// enable peripheral clocks of RTC and PMU
RCU_REG_VAL(RCU_PMU) |= BIT(RCU_BIT_POS(RCU_PMU));
// enable backup domain write
PMU_CTL |= PMU_CTL_BKPWEN;
RTC_BKP0 = 0;
__disable_irq();
__set_PRIMASK(1);
// 加个延时, 万一出现问题允许刚复位的时候SWD连接进来
for (volatile int i = 0; i < 2000000; i++) {
__NOP();
}
register void (*SysMemBootJump)(void);
register uint32_t SysMemBootJumpAddr = *(uint32_t *)(0x1FFF0000 + 4);
// 初始化堆栈指针
__set_MSP(*(__IO uint32_t*)0x1FFF0000);
SysMemBootJump = (void (*)(void))SysMemBootJumpAddr;
// 跳转到系统存储器
SysMemBootJump();
while(1);
}
}
评论
2025-01-06
您需要登录后才可以回复 登录 | 注册