1. RAM理解下先
2.闪存理解下先
3.
说真的,没做过选型,买器件,到实际调试这些存储器,根本无法直观的清晰的掌握它们的功能及作用以及分类。
我只能从一些经验和描述中做出结论: 内存是用来临时存储程序代码段,数据段,然后再用符号段、栈、堆来运算程序数据的。
程序代码我们一般指的是指令代码,比如加减运算,放在应用层就是逻辑控制代码文本内容。
而实际数据的数据就是完成某一个功能所需要的模拟运算里用到的所有数据,
代码段、常量数据段肯定是只读的必加载到某个内存段,作为执行任务的准备资源。然后未初始化的放在符号段,这个暂时我能理解的是,内存还有个bss段,符号段。当然这些段啊段的。在单片机中,我们就是分段 存储整个固件程序了。如果在操作系统中有内存管理的环境下,这些段是动态维护的,一旦程序所谓退出。这些段里数据就给释放了。
4. 一些专业人士对程序分段的理解
可以理解到,这些分段其实就是内存中的一种分段方式,或者进程/程序在内存中存储方式。对于单片机的话,因为只有一个进程,所以就是整个程序内存空间的分段情况了,如果是unix系统的话,其实就是每个进程在内存上的存储情况(应该是这样,想起某个博友分享过一片关于进程存储的文章)。
那么问题来了,搞这么多时间去理解这个有毛用??
对于我来说,我是因为涉及到排查是否硬件故障,存储溢出的问题才来一步一步又不得不复习这些概念的......相信你将来也会遇得到的.....lucky
参考博主:https://www.cnblogs.com/yanghong-hnu/p/4705755.html
其他的刚关闭网页...