欢迎来到朵拉利品网
知识中心
资讯
  • 资讯
  • 产品
  • 供应商
您的位置: 朵拉利品网 >  知识中心 > keil初始化内存 用keil的时候怎么自己初始化ram和堆栈而不是编译器帮我们做的
keil初始化内存 用keil的时候怎么自己初始化ram和堆栈而不是编译器帮我们做的
2020-04-19 04:30:59 来源:朵拉利品网

2, KEIL 查看内存



(1)如何禁止KEIL初始化RAM为零?
1. 在KEIL Noinit 打钩
2. 另须对需要热启动保持的变量用__at关键字指定某个区域,否则还是没用
或者__attribute__((zero_init)) 关键字
(2) 对STM32如何判断是软复位还是上电复位?
flag = RCC_GetFlagStatus(RCC_FLAG_SFTRST); //上电复位flag=0, 软件复位flag=1
void RestStm32Cpu(void)
{
__set_FAULTMASK(1); // 关闭所有中端
NVIC_SystemReset(); // 复位
}
微处理器:LPC2114
编译环境:Keil MDK V4.10

3, 如何禁止KEIL初始化RAM为零&如何判断是软复位还是上电复位



(1)何禁止KEIL初始化RAM零
1. KEIL Noinit 打钩
2. 另须需要热启保持变量用__at关键字指定某区域否则没用
或者__attribute__((zero_init)) 关键字
(2) STM32何判断软复位电复位
flag = RCC_GetFlagStatus(RCC_FLAG_SFTRST); //电复位flag=0, 软件复位flag=1
void RestStm32Cpu(void)
{
__set_FAULTMASK(1); // 关闭所端
NVIC_SystemReset(); // 复位
}
微处理器:LPC2114
编译环境:Keil MDK V4.10

名词解释


flag

Flag(フラグ),网络流行词,二次元术语,英文单词原意为旗帜,后来指故事中让人能够预测到之后发展的事件。