zoukankan      html  css  js  c++  java
  • 51单片机程序和变量存储位置

    一、概念理清

    使用环境: keil2,生成的代码大小如下,data保存于内部RAM中,xdata保存于外部扩展SRAM中,code保存于FLASH中。

    51单片机涉及的存储介质:

    RAM: 内部RAM,每种51单片机都应该有,共256字节。大小固定

    SRAM:内存,掉电消失,外部扩展RAM,比内部RAM稍慢,作用一样,用于定义变量。大小要查单片机具体手册。最大0xFFFF

    FLASH:(保存程序代码,只能按扇区更改)。大小要查单片机具体手册。

    EEPROM:(保存掉电保存的数据,flash中也可以保存掉电保存的数据,但EEPROM可以按字节寻址,比FLASH稍微灵活一点)。大小要查单片机具体手册。.

    二、C51存储修饰关键字:data、 idata 、pdata 、xdata、 code

            char i :  使用的RAM前128字节。无修饰,等同与data char i,对应keil2编译后的data

    idata char i : 使用的RAM前256字节。即包含了data,对应keil2编译后的data

    pdata char i :使用SRAM的前256字节,对应keil2编译后的 xdata

    xdata char i:使用SRAM的所有字节。即包含了pdata,对应keil2编译后的 xdata

    code char i: 使用FLASH中的空间,不可更改,相当于存储常量。,对应keil2编译后的flash

    三、EEPROM不是用于变量定义,用来保存掉电数据。作用和FLASH一样。

  • 相关阅读:
    CA证书申请、认证原理
    流量异常监控
    排查和处理一台被攻击的linux系统及其事后分析
    day39---mysql基础三
    一次专利讲座的笔记
    HBase MVCC 代码阅读(一)
    [翻译]HBase 中的 ACID
    [翻译]HBase 的 MVCC 和内建的原子操作
    HBase Maven 工程模块梳理
    关于 MVCC 的基础
  • 原文地址:https://www.cnblogs.com/ycpkbql/p/12076875.html
Copyright © 2011-2022 走看看