[AVR单片机] 如何将表格分别定义到Flash、Sram、eeprom中?

[复制链接]
 楼主| huamunv 发表于 2010-2-27 14:17 | 显示全部楼层 |阅读模式
请问icc中如何将表格分别定义到Flash、Sram、eeprom中?
看书上说定义到flash中用const unsigned char[];那么到sram中该如何定义?另外如何定义到各个存储器的指定地址?高手路过帮忙。。
麻辣鸭脖子 发表于 2010-2-27 16:51 | 显示全部楼层
可以使用eeprom 地址寄存器和eeprom 数据寄存器有效地直接访问常数表

.eseg 定义eeprom 段
.db my_var00=$45
.db my_var01=$4c
.db my_var02=$5f
.cseg 定义通用代码段
wangwo 发表于 2010-2-28 22:57 | 显示全部楼层
一般定义的变量都是放到了sram中
lovelyegle 发表于 2010-2-28 23:42 | 显示全部楼层
在ICC AVR 中是这样定义数据到eeprom中去,
...
#pragma data:eeprom
unsigned char ms=0, a=1, b=2;
//从eeprom的0地址开始放这些数据
#pragma data:data
...
后面使用第三句让数据放回到sram中去。
qingqiu647 发表于 2010-3-3 14:50 | 显示全部楼层
没有用过ICC,对KEIL 的C51来说定义是可以指定区域的,如果没有指定的话,就默认放在Ram。例如 unsigned char  code LED[]={0x00,0x14};就指定到flash去了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

730

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部