|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
请教DX们:ICC AVR的RAM绝对地址方法 !!! |
作者:jimho 栏目:单片机 |
我用的ATMEGA162,程序中需要对RAM进行绝对地址定义。 如在51中的 xdata AA _at_ 0x1000;在ICCAVR中如何实现? |
2楼: | >>参与讨论 |
作者: zsmbj 于 2004/3/25 7:53:00 发布:
在《AVR单片机C语言开发与入门指导》一书里有 #define AA (*(volatile unsigned CHAR *)0x1000) 然后就可以方便的使用了,如: AA = 0x80; |
3楼: | >>参与讨论 |
作者: dingyu79 于 2004/3/25 9:03:00 发布:
还有一种 #pragma abs_address:0x1000 unsigned CHAR AA #pragma end_abs_assress |
4楼: | >>参与讨论 |
作者: jimho 于 2004/3/25 10:16:00 发布:
不能定义到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依然存在? 为什么? |
5楼: | >>参与讨论 |
作者: jimho 于 2004/3/25 13:32:00 发布:
内部RAM就不能访问绝对地址吗?? |
6楼: | >>参与讨论 |
作者: dingyu79 于 2004/3/26 9:44:00 发布:
看《AVR单片机C语言开发与入门指导》 里面写的很详细 |
7楼: | >>参与讨论 |
作者: yingzeziga 于 2004/3/27 19:43:00 发布:
注意 访问外部ram时候要打开mcucr中的sre位。你还是要注意的! |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |