#ifdef CONFIG_MMU
#define IO_ADDRESS(x) (((x) & 0x000fffff) | (((x) >> 4) & 0x0ff00000) | IO_BASE)
#else
#define IO_ADDRESS(x) (x)
#endif
从上面的代码已经很清楚了,不带mmu的系统共就直接操作裸的寄存器
带mmu的系统就必须操作经过内存映射以后的地址了
#ifdef CONFIG_MMU
#define IO_ADDRESS(x) (((x) & 0x000fffff) | (((x) >> 4) & 0x0ff00000) | IO_BASE)
#else
#define IO_ADDRESS(x) (x)
#endif
从上面的代码已经很清楚了,不带mmu的系统共就直接操作裸的寄存器
带mmu的系统就必须操作经过内存映射以后的地址了