完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
typedef struct {
S3C24X0_REG32 NFCONF; S3C24X0_REG32 NFCONT; S3C24X0_REG32 NFCMD; S3C24X0_REG32 NFADDR; S3C24X0_REG32 NFDATA; S3C24X0_REG32 NFMECCD0; S3C24X0_REG32 NFMECCD1; S3C24X0_REG32 NFSECCD; S3C24X0_REG32 NFSTAT; S3C24X0_REG32 NFESTAT0; S3C24X0_REG32 NFESTAT1; S3C24X0_REG32 NFMECC0; S3C24X0_REG32 NFMECC1; S3C24X0_REG32 NFSECC; S3C24X0_REG32 NFSBLK; S3C24X0_REG32 NFEBLK; } S3C2440_NAND; static S3C2440_NAND * s3c2440nand = (S3C2440_NAND *)0x4e000000; /* 等待NAND Flash就绪 */static void s3c2440_wait_idle(void){ int i; volatile unsigned char *p = (volatile unsigned char *)&s3c2440nand->NFSTAT; while(!(*p & BUSY)) for(i=0; i<10; i++);} “volatile unsigned char *p = (volatile unsigned char *)&s3c2440nand->NFSTAT; ” 中NFSTAT应该是寄存器地址吧? 为什么 要再次取址&s3c2440nand->NFSTAT , 不应该是 s3c2440nand->NFSTAT即可吗? |
|
相关推荐
6个回答
|
|
typedef unsigned int S3C24X0_REG32; //NFSTAT是一个32位的无符号整型变量,&是取变量的地址
|
|
|
|
谢谢!
我看有的代码里有这样的的写法:#define NFSTAT (*(volatile unsigned char *)0x4e000010) 那实际NFSTAT的地址是 0x4e000010。 这样理解没有问题吧? |
|
|
|
#define NFSTAT (*(volatile unsigned char *)0x4e000010)
这句只是一个宏定义,NFSTAT是一个宏变量,在程序中所用到的地方编译器都会用(*(volatile unsigned char *)0x4e000010)代替它。 所以NFSTAT不是地址,自己可以这样理解,但实际意义不一样。 |
|
|
|
|
|
|
|
1、NFSTAT是结构体S3C2440_NAND中的一个成员变量。
2、static S3C2440_NAND * s3c2440nand = (S3C2440_NAND *)0x4e000000;这一句定义结构体变量s3c2440nand,并且将s3c2440nand这个结构体放在地址0x4e000000处。 3、s3c2440nand->NFSTAT表示s3c2440nand结构体中的成员变量NFSTAT,加上取址符:&s3c2440nand->NFSTAT就表示NFSTAT这个变量的地址,并且这个变量的地址应该是0x4e000000+0x20=0x4e000020(0x20十进制为32,NFSTAT在结构体中是第9个变量,与第一个变量相差8个int型的地址空间,所以就是4*8=32个字节大小)。 |
|
|
|
我的nand flash芯片是k9f2g08u0c,再官网下载的nand flash源代码编译后点不亮LED。随书光盘里的也不可以用,自己写的也点不亮,有哪位大神有吗
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2184 浏览 6 评论
1985 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4543 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 17:19 , Processed in 0.830612 second(s), Total 87, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号