1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我指的是某一个变量,而不是整体的区域。就是说整型变量a放在0x2000 0001中,整型变量b放在0x2000 0100中。就是所有变量有自己指定存储区域,而不是由系统自由分配。哪位牛友指点一下,万分感谢!
|
|
相关推荐
2个回答
|
|
是的,16为这么写 u16 c __attribute__((at(0x2000 0x00))) 可是我在.c文件中定义u8 ksdflag_attribute_((at(0x20000601))); //ksdflag是口设定主次调标志,是8位无符号整型,但是编译后出现如下错误ASC RE BUILD 14-01-06.c(46): error: #20: identifier "u8" is undefined ASC RE BUILD 14-01-06.c(46): error: #79: expected a type specifier ASC RE BUILD 14-01-06.c(256): error: #20: identifier "ksdflag" is undefined。 我的.h文件时在网上找的内容如下 #ifndef __ABSACC_H__ #define __ABSACC_H__ #define CBYTE ((unsigned char volatile code *) 0) #define DBYTE ((unsigned char volatile data *) 0) #define PBYTE ((unsigned char volatile pdata *) 0) #define XBYTE ((unsigned char volatile xdata *) 0) #define CWORD ((unsigned int volatile code *) 0) #define DWORD ((unsigned int volatile data *) 0) #define PWORD ((unsigned int volatile pdata *) 0) #define XWORD ((unsigned int volatile xdata *) 0) #ifdef __CX51__ #define FVAR(object, addr) (*((object volatile far *) (addr))) #define FARRAY(object, base) ((object volatile far *) (base)) #define FCVAR(object, addr) (*((object const far *) (addr))) #define FCARRAY(object, base) ((object const far *) (base)) #else #define FVAR(object, addr) (*((object volatile far *) ((addr)+0x10000L))) #define FCVAR(object, addr) (*((object const far *) ((addr)+0x810000L))) #define FARRAY(object, base) ((object volatile far *) ((base)+0x10000L)) #define FCARRAY(object, base) ((object const far *) ((base)+0x810000L)) #endif #endif |
|
|
|
在KEIL软件中,可以使用#pragma语句来将变量定义在特定的存储空间中。
首先,需要了解目标芯片的内存布局情况,确定要将变量放置的存储区域的起始地址和大小。 然后,在变量声明之前,使用#pragma语句指定存储区域。例如,将整型变量a放在0x20000001地址处,可以使用以下语句: #pragma location = 0x20000001 int a; 类似地,可以使用#pragma语句将变量b放置在0x20000100地址处: #pragma location = 0x20000100 int b; 通过使用不同的地址指定不同的存储区域,可以实现将变量定义在特定的RAM空间中的目的。 需要注意的是,在使用#pragma语句指定存储区域时,需要确保地址不会重叠或超出有效范围,以免引发内存访问错误。另外,不同的芯片可能有不同的地址段划分和使用规则,请根据目标芯片的文档和资料进行设置。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12009 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 15:21 , Processed in 0.659175 second(s), Total 75, Slave 58 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号