至此,完成了FMC配置、SDRAM初始化、SDRAM刷新3大步骤,到了最后一步:编程访问SDRAM。关键的一个问题是:外部SDRAM地址从0xC000 0000 开始,如何定义一个变量(数组),使得它的地址恰恰从0xC000 0000 开始?一种方法是定义一个uint16_t类型的数据指针,并且使得这个指针指向0xC000 0000地址,如:
#define SDRAM_BANK_ADDR ((uint32_t)0xC0000000)
uint16_t *pSDRAM;
//set data pointer, pointing external sdram
pSDRAM = (uint16_t *)SDRAM_BANK_ADDR;
|