嵌入式开发者社区

标题: 6657中,用emifa13作为外部引脚的控制引脚,怎么样对其配置... [打印本页]

作者: SLG    时间: 2016-12-2 20:08
标题: 6657中,用emifa13作为外部引脚的控制引脚,怎么样对其配置...
6657中,用emifa13作为外部引脚的控制引脚,怎么样对其配置啊,我配置的一直为低电平,求解答[抱拳][抱拳]
作者: human    时间: 2016-12-3 15:57
参考一下KeyStone_EMIF16_Init.c的配置
作者: SLG    时间: 2016-12-3 21:20
我参考的6748里的emif_ad7606来配置的,想不到问题出在哪里
作者: SLG    时间: 2016-12-5 14:34
配置了之后没啥反应,不论怎么改,示波器显示的波形一直不对
作者: SLG    时间: 2016-12-5 18:32
这样配置对吗
作者: SLG    时间: 2016-12-5 23:19
现在无法读取寄存器的值,cs,emifa13,oe,we波形不变,应该是配置无效,,,PSC 初始化                                                  void PSCInit(void)
{
        // 配置 EMIFA 相关复用引脚,使能EMIFA
        EMIFAPinMuxSetup(SOC_DSC_BASE_REGS);
        // EMIF belong to clock domain 2 which need be enabled
        PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_DDR3EMIF, PSC_MDCTL_NEXT_ENABLE, PSC_POWERDOMAIN_ALWAYS_ON, PSC_PDCTL_NEXT_ON);
}



作者: SLG    时间: 2016-12-5 23:20
最初的配置,没什么用。。。
void EMIFAInit(void)
{
        // 配置数据总线 16bit
        EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_1, EMIFA_DATA_BUSWITTH_16BIT);

        // 选择 Normal 模式
        EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_1, EMIFA_ASYNC_INTERFACE_STROBE_MODE);

        // 禁止WAIT引脚
        EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_1, EMIFA_EXTENDED_WAIT_DISABLE);

        // 配置 W_SETUP/R_SETUP W_STROBE/R_STROBE W_HOLD/R_HOLD        TA 等参数
        EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_1, EMIFA_ASYNC_WAITTIME_CONFIG(10,20,10,10,20,10, 0 ));
}
作者: SLG    时间: 2016-12-5 23:22
void main()
{
       
        PSCInit();

        //EMIFA 初始化
        EMIFAInit();
        //EMIF16_Init();

        KS885XHW ks885hw;
        ks885hw.m_iobase = KS8851_IO_BASE;

        char lowByte;
        unsigned short a;
        int baseaddr;


        while(1)
        {
                KS8851REG_READ_WORD(&ks885hw, 0xC0, &a);
                //baseaddr = 0x74008000;
                //MIO_BYTE(baseaddr) = 0xC1;
                //Delay(1000);
                // baseaddr = 0x74000000;
                //lowByte = MIO_BYTE(baseaddr);
                Delay(10000);
        }
}
作者: SLG    时间: 2016-12-5 23:24
希望早点回复啊,谢谢
作者: 希望缄默    时间: 2016-12-7 09:20
SLG 发表于 2016-12-5 23:24
希望早点回复啊,谢谢

在 C665x 平台还需要配置 uPP与EMIF16的管脚复用
Device State Control Registers>PIN_CONTROL_1
作者: SLG    时间: 2016-12-7 09:37
用了啊HWREG(baseaddr+soc_dsc_pin_control1)=0x00000000
作者: SLG    时间: 2016-12-7 09:47
这个函数在pscinit中调用的





欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4