#define NFDATA (*(volatile unsigned long *)0x4E000010)
#define NFDATA (*(volatile unsigned char *)0x4E000010)
对于有些寄存器,可能这两种定义基本上等价的.
我当时也是这么觉得的
后来在手册看到这个,才明白二者之间的区别
如果我们使用这种
#define NFDATA (*(volatile unsigned long *)0x4E000010)
,则会进行4次I/O直到填满寄存器,而非zero-extend