这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 综合技术» 基础知识» DX,ICC,AVR,RAM 请教DX们:ICC AVR的RAM绝对地址方法 !

共4条 1/1 1 跳转至

DX,ICC,AVR,RAM 请教DX们:ICC AVR的RAM绝对地址方法 !!!

院士
2006-09-17 18:14:16 打赏
DX,ICC,AVR,RAM 请教DX们:ICC AVR的RAM绝对地址方法 !!!



关键词: 请教 绝对 地址 方法

院士
2006-12-22 22:43:00 打赏
2楼
问 我用的ATmega162,程序中需要对 RAM进行绝对地址定义。
如在51中的 xdata AA _at_ 0x1000;在 ICC AVR中如何实现? 1: 在《 AVR 单片机C语言开发与入门指导》一书里有#define AA (*(volatile unsigned char *)0x1000)

然后就可以方便的使用了,如:
AA = 0x80; 2: 还有一种#pragma abs_address:0x1000
unsigned char AA
#pragma end_abs_assress 3: 不能定义到 RAM区?用上面的方法好象都不行:
*.c
#pragma abs_address:0x0110
unsigned char AA[0x100];
unsigned char trbox[10];
#pragma end_abs_address

*.mp
Area Addr Size Decimal Bytes (Attributes)
------------------- ---- ---- ------- ----- ------------
bss 0100 0014 = 20. bytes (rel,con,ram)

Addr Global Symbol
----- --------------------------------
0100 __bss_start
0100 _RESH
0101 _STATUS
0102 _rebox
010C _nw
010E _i
010F _j
0110 _P
0111 _pos
0112 ___FreeList
0114 __bss_end

Area Addr Size Decimal Bytes (Attributes)
-------------- ---- ---- ------- ----- ------------
memory 0000 411A = 16666. bytes (abs,ovr,rom)

Addr Global Symbol
----- --------------------------------
0110 _AA
4110 _trbox


RAM区的地址0x110依然存在?
为什么? 4: 内部 RAM就不能访问绝对地址吗?? 5: 看《 AVR 单片机C语言开发与入门指导》里面写的很详细 6: 注意访问外部ram时候要打开mcucr中的sre位。你还是要注意的!

专家
2023-02-03 22:15:19 打赏
3楼

学习


高工
2023-02-03 22:16:55 打赏
4楼

学习


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]