运行视图和加载视图

2019-04-15 16:34发布


http://blog.csdn.net/jonah_king/article/details/76223831 这篇文章写得是相当的好http://www.cnblogs.com/Ilmen/p/3453248.html
为了便于理解单片机的存储空间,我们提出了两种视图,运行视图和加载视图。 一、加载视图 请大家想一个例子,你电脑上的应用程序,没有运行的时候,是不是只在硬盘上,点击运行后就跑到了内存里运行起来了。 单片机也是一样,你写完程序,编译成功,生bin或hex或者lmage文件,把他烧录到片子里@jonah_king。 这个时候你程序的应用信息肯定全被包含在了烧录文件里(要不然程序怎么能正常运行),同时这个烧录文件是不可能包含ram区域的数据的(这时候还没有上电,RAM是掉电易失的),这个状态下的程序叫加载视图,就是烧录程序时,程序看上去的样子! 加载视图就是我们程序中的   代码段+数据段,包含了一个程序需要的全部信息这篇文章讲的听通俗的,有程序说明。 二、运行试图 那么问题来了,刚上电复位时,ram区肯定是空的,那么访问全局变量时,数是怎么找到的?这就涉及到RAM区域的分配,以及启动代码的功能了,还没有想好具体的文章内容怎么写,暂且搁置。 如果我们仔细看一下启动代码,就是main之前东西,我们就能知道了。这里我们首先要明白两个概念。程序的运行视图和加载视图。

还有一个叫运行视图,就是运行视图,单片机上电了,程序跑起来了,RAM区域的内容被改变了,再说一遍,RAM区域的内容被改变了,并且是时刻变化的。