|
一直发现一个很奇怪的问题,4755手册上这么写的,也就是说寄存器的地址为以下地址:
0x10000000 0x10FFFFFF 16 I/O Devices on APB Bus
0x11000000 0x12FFFFFF 32 Reserved
0x13000000 0x13FFFFFF 16 I/O Devices on AHB Bus
但是在君正给的操作源码中,这部分的地址却变为:
#define CPM_BASE 0xB0000000
#define INTC_BASE 0xB0001000
#define TCU_BASE 0xB0002000
#define WDT_BASE 0xB0002000
#define RTC_BASE 0xB0003000
#define GPIO_BASE 0xB0010000
#define AIC_BASE 0xB0020000
#define ICDC_BASE 0xB0020000
#define MSC_BASE 0xB0021000
#define UART0_BASE 0xB0030000
#define UART1_BASE 0xB0031000
#define UART2_BASE 0xB0032000
#define UART3_BASE 0xB0033000
#define I2C_BASE 0xB0042000
#define SSI_BASE 0xB0043000
#define SADC_BASE 0xB0070000
#define EMC_BASE 0xB3010000
#define DMAC_BASE 0xB3020000
#define UHC_BASE 0xB3030000
#define UDC_BASE 0xB3040000
#define LCD_BASE 0xB3050000
#define SLCD_BASE 0xB3050000
#define CIM_BASE 0xB3060000
#define BCH_BASE 0xB30D0000
#define ETH_BASE 0xB3100000
也就是原来的地址变为以0xB。。。。开始的地址空间了。。。
另外,更奇怪的是我使用的测试内存地址为0X80000000 ,但是执行后串口打印出来的是0X20000000,也就是内存地址0X2000000会映射到地址0X80000000。难道此时开启了MMU ? |
|