TMS320F28377 EMIF连接外部SRAM问题。 - TMS320F2837x - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5255|回复: 1

[未解决] TMS320F28377 EMIF连接外部SRAM问题。

[复制链接]

1

主题

1

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2019-9-24 10:04:10 | 显示全部楼层 |阅读模式

连接的是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);
问题:读写无法实现,是不是配置问题,请大家帮忙提意见,谢谢。


回复

使用道具 举报

0

主题

30

帖子

1212

积分

创龙

Rank: 8Rank: 8

积分
1212
发表于 2020-8-4 16:17:44 | 显示全部楼层
您好,我司C2000平台单核逻辑例程有SRAM读写的例程,您可以参考一下相关代码
资料位于光盘资料的以下路径:Demo/F2837xS/NonOS/Application/SRAM
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-29 19:34 , Processed in 0.037108 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表