当前位置:   article > 正文

ADSP SC58x SC584 SC587 SC589 读写EMMC简易教程_adsp-sc58x系列芯片讲解ppt

adsp-sc58x系列芯片讲解ppt

一、下载官方SDK

官方SDK并没有提供EMMC读写教程,但是提供了SD卡读写教程,由于SD卡和EMMC底层使用的API是相同的,可参考。SD卡例程地址
https://www.analog.com/cn/design-center/evaluation-hardware-and-software/software/adswp-ucfs.html#software-overview

二、 EMMC外设

SC58x用于EMMC读写的外设是MSI,翻看参考手册,只支持EMMC4.5版本,主频最大为52M,支持8线读写
在这里插入图片描述

三、 加载MSI组件(RSI组件)

在这里插入图片描述

四、初始化EMMC相关配置

1、初始化MSI引脚

在这里插入图片描述

2、EMMC初始化

A、复位EMMC
B、配置EMMC时钟为400Khz,输出时钟,然后至少74个CLK
C、使用CMD0 CMD1 CMD2 CMD3等命令开始配置EMMC,然后继续配置寄存器,例如BLOCK长度、设置 EMMC数据线为8线、EMMC速度等级等等
D、提高CLK到45M,这里我选择OCLK_0/2作为MSI外设时钟,而OCLK时钟,是由450M主频分频得来,这里配置5倍分频,所以得到OCLK=90M,CDU_CLK09=45M。

3、EMMC写

A、设置BLOCK个数
B、设置BLOCK长度512个字节,写buffer地址
C、1个BLOCK使用CMD24命令;多个BLOCK使用CMD25命令;设置超时时间,开始写数据
D、使用CMD13不断查询写完成

4、EMMC读

A、设置BLOCK个数
B、设置BLOCK长度512个字节,读buffer地址
C、1个BLOCK使用CMD17命令;多个BLOCK使用CMD18命令;设置超时时间,开始读数据
D、使用CMD13不断查询读完成

初始化的寄存器相对较为多,本人比较偷懒,直接扒了NXP官方库的EMMC代码,把对应的底层函数替换成ADI对应函数,直接上马。

欢迎技术交流QQ 736009573

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/982603
推荐阅读
  

闽ICP备14008679号