|
连接的是8位数据口SRAM.
参照例程:
地址:#define SDRAM_CS2_START_ADDR_read 0x100002
#define SDRAM_CS2_START_ADDR_write 0x100002
引脚配置
void setupEMIF1PinmuxSync8Bit(void)
{
uint16_t i;
//设置GPIO端口做EMIF地址端口复用 14位
GPIO_setPinConfig(GPIO_93_EM1BA0); //AL0
GPIO_setPinConfig(GPIO_92_EM1BA1); //AL1
GPIO_setPinConfig(GPIO_38_EM1A0); //AL2
GPIO_setPinConfig(GPIO_39_EM1A1); //AL3
GPIO_setPinConfig(GPIO_40_EM1A2); //AL4
GPIO_setPinConfig(GPIO_41_EM1A3 ); //AL5
GPIO_setPinConfig(GPIO_44_EM1A4); //AL6
GPIO_setPinConfig(GPIO_45_EM1A5); //AL7
GPIO_setPinConfig(GPIO_46_EM1A6); //AL8
GPIO_setPinConfig(GPIO_47_EM1A7); //AL9
GPIO_setPinConfig(GPIO_48_EM1A8); //AL10
GPIO_setPinConfig(GPIO_49_EM1A9); //AL11
GPIO_setPinConfig(GPIO_50_EM1A10); //AL12
GPIO_setPinConfig(GPIO_51_EM1A11); //AL13
//功能引脚复用
GPIO_setPinConfig(GPIO_37_EM1OEN); //OEL
GPIO_setPinConfig(GPIO_33_EM1RNW); //R/WL
GPIO_setPinConfig(GPIO_34_EM1CS2N); //CEL
//数据引脚复用
GPIO_setPinConfig(GPIO_85_EM1D0); //DL0
GPIO_setPinConfig(GPIO_83_EM1D1); //DL1
GPIO_setPinConfig(GPIO_82_EM1D2); //DL2
GPIO_setPinConfig(GPIO_81_EM1D3); //DL3
GPIO_setPinConfig(GPIO_80_EM1D4); //DL4
GPIO_setPinConfig(GPIO_79_EM1D5); //DL5
GPIO_setPinConfig(GPIO_78_EM1D6); //DL6
GPIO_setPinConfig(GPIO_77_EM1D7); //DL7
//
// Configure Data pins for Async mode.
//
for(i = 77;i <= 85;i++)
{
if(i != 84)
{
GPIO_setPadConfig(i, GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode(i, GPIO_QUAL_ASYNC);
}
}
}
寄存器配置:
SysCtl_setEMIF1ClockDivider(SYSCTL_EMIF1CLK_DIV_1);
//his function selects the master for an EMIF1 instance among CPU1 or CPU2.
EMIF_selectMaster(EMIF1CONFIG_BASE, EMIF_MASTER_CPU1_G);
// EMIF_selectMaster(EMIF1CONFIG_BASE, EMIF_MASTER_CPU1_G);
//
// Disable Access Protection. (CPU_FETCH/CPU_WR/DMA_WR)
//
EMIF_setAccessProtection(EMIF1CONFIG_BASE, 0x0);
//
// Commit the configuration related to protection. Till this bit remains
// set, contents of EMIF1ACCPROT0 register can't be changed.
//
EMIF_commitAccessConfig(EMIF1CONFIG_BASE);
//
// Lock the configuration so that EMIF1COMMIT register can't be changed
// any more.
//
EMIF_lockAccessConfig(EMIF1CONFIG_BASE);
//
// Configure GPIO pins for EMIF1.
//
setupEMIF1PinmuxSync8Bit();
// setupEMIF1PinmuxAsync16Bit();
//
// Configures Normal Asynchronous Mode of Operation.
//
EMIF_setAsyncMode(EMIF1_BASE, EMIF_ASYNC_CS2_OFFSET,
EMIF_ASYNC_NORMAL_MODE);
//
// Disables Extended Wait Mode.
//
EMIF_disableAsyncExtendedWait(EMIF1_BASE, EMIF_ASYNC_CS2_OFFSET);
//
// Configure EMIF1 Data Bus Width.
//
EMIF_setAsyncDataBusWidth(EMIF1_BASE, EMIF_ASYNC_CS2_OFFSET,
EMIF_ASYNC_DATA_WIDTH_8);
//! Sets the Asynchronous Memory Timing Characteristics.
// Configure the access timing for CS2 space.
//
EMIF_AsyncTimingParams tparam;
tparam.rSetup = 10;
tparam.rStrobe = 5;
tparam.rHold = 1;
tparam.turnArnd =1;
tparam.wSetup = 10;
tparam.wStrobe =5;
tparam.wHold = 1;
EMIF_setAsyncTimingParams(EMIF1_BASE,EMIF_ASYNC_CS2_OFFSET,&tparam);
问题:读写无法实现,是不是配置问题,请大家帮忙提意见,谢谢。
|
|