T5的3.12.16,如何修改SD卡的SDIO引脚

Wi-Fi 设备、蜂窝设备、WuKongAI、开发板、TuyaOS 移植等


Post Reply
xdt_chen
Posts: 3

T5只有一个SDIO控制器,SDIO的引脚默认是在GPIO2,GPIO3,GPIO4,我们想挂两个SD卡,这两个SD卡互斥,同一时间只能有一个使用,所以我们想另一组SDIO的引脚(GPIO14,GPIO15,GPIO16)挂第二张SD卡,我们存在以下两个问题:
1.如何修改SDIO的引脚配置
我们尝试在gpio_hal.c中重新定义GPIO_DEFAULT_DEV_CONFIG,修改了GPIO14,GPIO15,GPIO16引脚配置,实际上就是将原来的GPIO2,GPIO3,GPIO4的引脚配置移动到GPIO14,GPIO15,GPIO16,但实际上无法使用。
2.如何重新初始化SDIO引脚,我们想有新SD卡插入时,重新初始化SD卡,主要是更换另一组SDIO引脚,以此来切换到另一张SD卡。

Attachments
aa6b97bf0c8ed785014dad43635b6b14.png
6f7f1be00bfa057533aec452c9dd1d4c.png
8292a2ccb321af6bf2fb64bd7d224cb6.png
Serial Debug 2025-10-09 084728.txt
(46.68 KiB) Downloaded 1 time
一个网友
Posts: 41
Location: ⭐星星⭐

Re: T5的3.12.16,如何修改SD卡的SDIO引脚

您好,这个处理比较复杂,大概流程可以参考如下:

接口调用链:
tkl_fs_mount ---> fatfs_mount ---> bk_sd_card_init ---> bk_sdio_host_init ---> sdio_host_init_common

企业微信截图_17600063613361.png

在上图红框所在位置,添加自定义GPIO初始化,可以基于上述调用链,把gpio分组信息传递到底层,根据group信息进行对应的初始化

注意:初始化sd卡时候,要deinit掉前一次已经初始化的SD卡

努力写bug……

xdt_chen
Posts: 3

Re: T5的3.12.16,如何修改SD卡的SDIO引脚

你好,我尝试了一下,发现第二组SDIO引脚(14,15,16)还是无法使用,只有第一组(2,3,4)才能用,用同样的飞线测试的,帮忙看看是啥问题

Attachments
d32d68580d2fae4fac8a8b549c03ffee.png
7c0bf505175eef025a1011ce7950c854.png
aff1a674bdab0aec1ca2916ba02f9444.png
一个网友
Posts: 41
Location: ⭐星星⭐

Re: T5的3.12.16,如何修改SD卡的SDIO引脚

您好,简单测试了下,初始化是正常的,但是我的板子,这几根线没有接,所以初始化失败了,
您那里无法使用是什么意思

log.png
code.png

努力写bug……

Post Reply