做网站 用asp,网站源码使用,网站开发中怎么样对接接口,免费流程图网站全局与局量等知识
断电后#xff0c;程序以及数据都在FLASH中。 断电后#xff0c;内存中就没有变量了。 程序在烧在FLASH中的#xff1b; 程序运行的时候#xff0c;全局变量的初始值#xff0c;必然是从FLAASH中的来的#xff1a;
初始化全局变量的过程#xff1a;… 全局与局量等知识
断电后程序以及数据都在FLASH中。 断电后内存中就没有变量了。 程序在烧在FLASH中的 程序运行的时候全局变量的初始值必然是从FLAASH中的来的
初始化全局变量的过程 代表伪指令 去FLASH中去某个位置 读指令 数据写到RO中去 完成初始化 以上的方式是效率低的。那么如果全局变量很多咋办 BIN文件是写在 FLASH上的 那如果有很多的变量怎么办 这样程序运行的时候就会见数据段整段的拷贝到内存。 那如果没有初始值的全局变量呢 这那么多的全局变量也保存在FLASH中吗 解答不是的。 类似于memset这些变量在内存中都放在ZI段运行的时候相当于把ZI段全部清清零。 全局变量初始化完成之后我们才去执行main函数。
那么局部变量呢----- 栈 过程 1.记录返回地址 记录下一个D的地址。 2.执行C
LR返回地址会被覆盖 所以在A开始就要将LR保存起来保存在栈中栈在哪里 栈就是一块内存。 所以不仅仅是LR寄存器会被覆盖。
程序运行的时候 第一步将数据段拷贝到内存中。 第二步让SP指向一块空闲的内存 第三部调用MAIN函数。 汇编中对应的局部变量的写入栈的过程