ADSP SC58x SC584 SC587 SC589 读写EMMC简易教程

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

二、 SC58x用于EMMC读写的外设是MSI,翻看参考手册,只支持EMMC4.5版本,主频最大为52M,支持8线读写。
ADSP SC58x SC584 SC587 SC589 读写EMMC简易教程
三、 加载MSI组件(RSI组件)
ADSP SC58x SC584 SC587 SC589 读写EMMC简易教程
四、初始化EMMC相关配置
1、初始化时钟,这里我选择OCLK_0/2作为MSI外设时钟,而OCLK时钟,是由450M主频分频得来,这里配置5倍分频,所以得到OCLK=90M,CDU_CLK09=45M。
2、初始化MSI引脚
ADSP SC58x SC584 SC587 SC589 读写EMMC简易教程
3、初始化EMMC芯片寄存器。
初始化的寄存器相对较为多,本人比较偷懒,直接扒了ST官方库的EMMC代码,把对应的底层函数替换成ADI对应函数,直接上马。
整个初始化步骤大致分为:
(1)CLK输出频率为400K以下的时钟,至少需要74个CLK。
(2)配置EMMC寄存器
(3)提高CLK到45M

欢迎技术交流QQ 736009573