今天同事遇到一个内存溢出的问题,在帮忙解决过程中发现自己对这些东西还没有彻底弄清楚,就搜集了一些资料整理一下, 受益匪浅。以前也记过笔记,但是时间一长又忘了,还是放在这里好了。
一.51的存储器结构笼统来说单片机片内存储器分为CODE区和data区,cpu从code区读取指令,对data区的数据进行运算处理。前者在程序运行中为只读,一般为FLASH,用来放置程序代码和一些只读的数据(如字模表之类),后者可以随机读写,用来存放程序运行中的临时数据,如局部变量或全局变量,全局变量一直占用着RAM内存,而局部变量在使用完后会自动清除RAM空间。当然在片外,可以外扩FLASH和RAM(此时称为XRAM,因为寻址方式不一样),外扩的大小与单片机寻址能力有关。有的单片机将外扩RAM封装在片内,如AT89C51,所以有了所谓的片内XRAM。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !