你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教下,sdram 调试有数据错乱 ??

[复制链接]
hpdell 提问时间:2019-3-29 21:21 /
本帖最后由 hpdell 于 2019-3-29 21:27 编辑

请教下,sdram 调试有数据错乱 ??


sdram-1.png

上图片中,2个框框里面的数据内容会同步发生变化,这个是怎么回事啊 ?

sdram 使用 MT48LC16M16

相关配置代码如下:

uint8_t BSP_SDRAM_Init(void)
{
  uint8_t sdramstatus = SDRAM_ERROR;
        FMC_SDRAM_TimingTypeDef SDRAM_Timing;
        SDRAM_HandleTypeDef       SDRAM_Handle;
        FMC_SDRAM_CommandTypeDef command = {0};
        
  /* SDRAM device configuration */
  SDRAM_Handle.Instance = FMC_SDRAM_DEVICE;

        SDRAM_Timing.LoadToActiveDelay    = 2;
        SDRAM_Timing.ExitSelfRefreshDelay = 7;
        SDRAM_Timing.SelfRefreshTime      = 4;
        SDRAM_Timing.RowCycleDelay        = 7;
        SDRAM_Timing.WriteRecoveryTime    = 2;
        SDRAM_Timing.RPDelay              = 2;
        SDRAM_Timing.RCDDelay             = 2;

        SDRAM_Handle.Init.SDBank             = FMC_SDRAM_BANK2;               /*   由硬件决定,使用 FMC_SDNE1, FMC_SDCKE1  */
        SDRAM_Handle.Init.ColumnBitsNumber   = FMC_SDRAM_COLUMN_BITS_NUM_9;  
        SDRAM_Handle.Init.RowBitsNumber      = FMC_SDRAM_ROW_BITS_NUM_13;   
        SDRAM_Handle.Init.MemoryDataWidth    = FMC_SDRAM_MEM_BUS_WIDTH_16;        
        SDRAM_Handle.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4;
        SDRAM_Handle.Init.CASLatency         = FMC_SDRAM_CAS_LATENCY_3;      
        SDRAM_Handle.Init.WriteProtection    = FMC_SDRAM_WRITE_PROTECTION_DISABLE;
        SDRAM_Handle.Init.SDClockPeriod      = SDCLOCK_PERIOD;                /* FMC时钟200MHz,2分频后给SDRAM,即100MHz */
        SDRAM_Handle.Init.ReadBurst          = FMC_SDRAM_RBURST_ENABLE;       /* 使能读突发 */
        SDRAM_Handle.Init.ReadPipeDelay      = FMC_SDRAM_RPIPE_DELAY_0;      

  /* SDRAM controller initialization */

//  BSP_SDRAM_MspInit(&SDRAM_Handle, NULL); /* __weak function can be rewritten by the application */

  if(HAL_SDRAM_Init(&SDRAM_Handle, &SDRAM_Timing) != HAL_OK)
  {
    sdramstatus = SDRAM_ERROR;
  }
  else
  {
  /* SDRAM initialization sequence */
    BSP_SDRAM_Initialization_sequence(&SDRAM_Handle, &command);
    sdramstatus = SDRAM_OK;
  }

  return sdramstatus;
}

MT48LC16M16 相关资料
000.png

我的行列设置应该是没有错的吧 ???

sdram  读写测试代码:

000-code.png







收藏 评论3 发布时间:2019-3-29 21:21

举报

3个回答
hpdell 回答时间:2019-3-30 12:25:53
终于搞好了 ,原来是有根地址线没有搞对

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2 自主问答~

查看全部评分

七哥 回答时间:2019-3-31 01:27:13
缺地址线A7,或A7不受控。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

hpdell 回答时间:2019-4-1 15:57:50
toofree 发表于 2019-3-31 01:27
缺地址线A7,或A7不受控。

是的,a7地址线不知道是怎么搞的,结果搞到 接地上去了,悲催

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版