[求助]AVR MEGA128的SRAM定位问题
小弟在定义一个全局数组的时候,编译器默认的是从SRAM的0x0060空间开始分配的,而0x60~0xff的地址空间为MEGA128的扩展I/O寄存器而不是普通的数据寄存器,因此在执行的过程中其中的值会被改变。所以我想定义一个resevered[160]数组来将那一片SRAM占用,不去使用它,于是编写了下面一段代码:
asm(
".area sram(abs)\n"
".org 0x0060\n"
"_r::.blkb 160\n"
);
extern char r[160];
但是载入到AVR studio中发现r[160]的空间并不是从0x0060开始的。我用的是ICC AVR。想请教一下,这么解决存在什么问题啊,有什么别的方法吗?谢谢了
发表时间:2006年9月5日15:34:08