TQRFSOC开发板47DR :EMMC和SD卡扇区读写

       本例程实现读取EMMC和SD卡的扇区,RFSOC开发板的SD卡引脚绑定在PS端,而EMMC硬件引脚绑定在PL端,所以需要将EMMC的引脚绑定到EMIO,并且添加对应的引脚约束文件。最后在vitis中实现读写EMMC和SD卡扇区的程序。

       本例程在第一篇hello_world的项目基础上进行修改。打开hello_world项目,打开设计文件-->打开zynq配置-->添加SD0的配置,设置为EMIO,eMMC,8bit。设置完成后点击OK保存配置。

修改vivado配置图

       单击多出来的SDIO_0引脚,使用快捷键CTRL+T,将EMIO的EMMC引脚引出。

引出EMMC的EMIO引脚图

       右键设计文件-->重新生成顶层文件。

重新顶层文件图

       选择可修改的文件。

设置顶层为可修改文件图

       打开新生成的顶层文件-->修改文件内容如图所示,注意只需要修改红框中的内容,其它无需修改。

修改顶层文件图

       添加引脚约束文件,

添加引脚约束文件图

       新建引脚约束文件-->设置名称,点击OK和finish完成创建。

新建引脚约束文件图

       打开创建的引脚约束文件,修改内容如下所示。引脚约束文件会放入项目目录中的File文件夹中。

修改引脚约束文件图

       修改完成后生成bit文件。

生成BIT文件图

       删除之前hello_world项目中的vitis文件夹。

删除旧项目的vitis文件夹图

       导出XSA文件。

导出vitis文件图

       导出XSA文件地址在默认的基础上添加vitis路径。此步骤会自动创建vitis目录。

选择XSA文件保存地址图

       打开vitis

打开vitis软件图

       地址选择与导出的XSA文件相同,点击Launch打开项目。

选择vitis项目地址图

       创建平台项目-->设置名称。

创建平台项目图

       选择导出的XSA文件-->完成创建。

选择使用导出XSA文件创建项目图

       选择项目-->编译。

编译平台项目图

       创建新的项目。

创建vitis新项目图

选择Hello world历程-->完成创建。

选择创建项目模板图

修改helloworld.c中的内容如下图所示,helloworld.c文件也会提供在项目目录中的File文件夹中。

修改vitis代码并编译图

       在上述代码中第8行定义的EMMC1_SD0,为选择读写测试EMMC或是SD卡,其值设置为1表示测试EMMC读写扇区测试,设置为0表示测试SD卡。注意每次修改后需要保存并编译。

       由于本例程需要使用扇区的方式读写SD卡,打乱其中的文件格式,所以使用JTAG在线运行的方式实验本历程,将开发板的启动模式设置为JTAG模式,插入SD卡,JTAG接口和电源。此开发板的串口是与JTAG用的是同一个USB,内部集成了一个usb hub芯片。所以插上JTAG后也会识别出两个串口,使用串口助手软件分别打开两个串口,等待接收数据。

RFSOC实物图

        设置在线运行环境,右键项目-->Run As--> Run Configurations...

设置在线运行环境图

       选择SystemDebugger_rw_emmc_sd_system-->Target Setup-->Browse...-->Apply-->Run。设置完成后会烧写bit文件,运行程序。

添加bit文件并运行图

       查看串口打印内容可以显示出写入并读取后的数据。

EMMC读写串口打印内容图

       可以修改EMMC1_SD0的定义,修改为0测试SD卡。

修改代码为SD卡读写编译图

       编译完成后右键项目-->Run As-->1 Launch Hardware。重新运行程序查看查看输出内容。

SD卡读写在线运行图

       可以看到串口打印内容相同。

SD卡读写串口运行图

       可以拔出SD卡进行测试,串口打印内容如下图所示,可以看到在初始化的阶段报错。

拔出SD卡测试图

       到此本历程就结束了,该例程展示了如何在RFSOC开发板上实现对EMMC和SD卡的扇区读写。其中重点在设计文件中配置SD卡和EMMC的引脚,确保EMMC引脚绑定到EMIO。添加引脚约束文件,并修改相应内容。最后,例程完成了对EMMC和SD卡的扇区读写测试,提供了串口打印的反馈。

通过网盘分享的文件:TQRFSOC开发板47DR,EMMC和SD卡扇区读写
链接: https://pan.baidu.com/s/1zINbTSryghtMw5cuoCaQ9Q 提取码: an42 
--来自百度网盘超级会员v9的分享

压缩包中共有两个文件:
file文件夹内包含引脚约束文件以及hello_world.c文件
RW_EMMC_SD.rar压缩包内是完整的文件项目

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值