这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 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;在ICCAVR中如何实现? 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 跳转至

回复

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