keil5中数据的不同定义和单片机(以stc8为例)里的对应关系(idata,xdata,data,code)

不同的定义和存储位置

程序来源于千问AI

c 复制代码
// 存储在 Flash(只读)
const char code msg[] = "Hello";  

// 存储在内部 RAM(data 区,快速访问)
unsigned char data buffer[10];  

// 存储在外部 RAM(xdata 区)
unsigned int xdata big_array[100];  

// 存储在 idata 区(可间接寻址的内部 RAM)
unsigned char idata temp;

不同的位置数据访问速度 的不同

stc8G1K08的手册对应关系

个人理解总结

掉电数据变化

在flash中,掉电后的数据依然可以保存,在RAM中的数据掉电后就会被初始化。

从程序中,不同定义的数据存储位置

存储位置 定义的一般格式
idata 默认的临时变量 unsigned char data buffer10;,unsigned char idata buffer10;,unsigned char buffer10;
code 放在单片机flash中,一般容量较大 const定义的常量,const char code msg\[\]
xdata 片外大容量RAM/片内扩展RAM unsigned int xdata big_array\[\]

从下图中看出,flash 一般容量最大idata/iRAM 最小但访问速度最快xdata 速度最慢

程序中修改后各种内存的变化对比,

相关推荐
AOI小白新手上路21 小时前
江科协51单片机 17-2 红外遥控电机调速实验调试总结
单片机·嵌入式硬件·51单片机
oshan20121 天前
零基础STM32入门教程--10-PWM 呼吸灯
stm32·单片机·嵌入式硬件
记帖1 天前
STM32C5A3R开发(7)----ADC电压采集
嵌入式硬件·adc·dac·stm32cubeide·stm32c5·stm32cubemx2·stm32c5a3rgt6
自小吃多1 天前
器件移动、旋转、镜像、对齐、等间距操作笔记
笔记·嵌入式硬件
jianqiang.xue1 天前
智能体整体架构设计:四大模块与目录组织
单片机·嵌入式硬件·物联网·架构·esp32
Messy create1 天前
【BMS-AFE-温度检测】
stm32·单片机·能源
东莞市永盛电气1 天前
三相208V变380V变压器,出海工业设备供电适配方案
python·单片机·嵌入式硬件
Learn-Share_HY1 天前
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
linux·嵌入式硬件·物联网·网络协议·tcp/ip·http·iot
深圳市宝华视联1 天前
医院内网部署手术示教系统注意事项
嵌入式硬件·实时互动·音视频·实时音视频·视频编解码·嵌入式实时数据库
新晨单片机设计1 天前
S001A-基于STM32单片机超声波视力保护仪【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus