21ic问答首页 - GD32F350 跳转IAP有读保护,看内存是没有安全防护的
相关问题
- 视觉识别案例2-人体姿态估计库 mediapipe0 回答
- GD32EmbeddedBuilder支持的型号太少了0 回答
- AiCube工具 V1.00D发布,已支持Ai8051U-32Bit, 请测试,AIapp-ISP V6.95J版0 回答
- 咨询UCOS III任务堆栈大小问题0 回答
- MCU存东西咋整的理解0 回答
- 单片机堆栈4 回答
- 也可以把使用DMA 搬运的显寸数据通过mpu 配置为no_cache属性,这样就不会因开关cache 将一...0 回答
- IDE中仿真时变量和内存的刷新频率是否可调0 回答
- 当嵌入式软件发生内存泄漏时,有哪些检视方法?1 回答
- 向内挖潜力,向外拓空间——MCU系统内存3 回答
赞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
您需要登录后才可以回复 登录 | 注册