zynqmp zcu102 arm 裸机SD卡驱动

1.加载PL端提供的*.HDF

2.创建hello world例程(bsp)。

3.在main函数中调用驱动初始化sd卡。

void mmc_test(void)
{
	s32 Status;
	XSdPs InstancePtr;

	XSdPs_Config *pConf = XSdPs_LookupConfig(0);
	Status = XSdPs_CfgInitialize(&InstancePtr, pConf, pConf->BaseAddress);

	if(Status == XST_SUCCESS)
	{
		Status = XSdPs_CardInitialize(&InstancePtr);
	}

	if(Status == XST_SUCCESS)
	{
		if(InstancePtr.HCS == 1)
			xil_printf("High capacity support in card\r\n");

		xil_printf("card speed:%d M ", InstancePtr.BusSpeed / 1000000);

		if(XSDPS_DEFAULT_SPEED_MODE == InstancePtr.Mode)
		{
			xil_printf("(mode: DEFAULT_SPEED_MODE. error ?)\r\n");
		}
		else if(XSDPS_HIGH_SPEED_MODE == InstancePtr.Mode)
		{
			xil_printf("(mode: HIGH_SPEED_MODE)\r\n");
		}
		else
		{
			xil_printf("(mode: %d)\r\n", InstancePtr.Mode);
		}

		xil_printf("Capacity:%d GB\r\n", (u64)InstancePtr.SectorCount * XSDPS_BLK_SIZE_512_MASK / 1024 / 1024 / 1024);
		//InstancePtr->CardID
	}
	else
	{
		xil_printf("error!\r\n");
	}

}

4.sd卡读写接口,头文件都有可以使用:

5.可以再移植个fat文件系统方便文件读写。

比较简单就不说了,欢迎提问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值