TCC89X 调试(二) 更改SD卡PORT

本文详细介绍了TCC8900芯片中SD卡的配置方法及寄存器分配情况,包括如何通过配置寄存器将SD卡控制器分配到不同的Port,以及在实际操作中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCC8900有8个SD卡,不过都是复用的。
在寄存器组织方面,SD以MMC_Controller为中心分为两个核心(分别为Core0和Core1),每个核心分别有两个slot,它们的地址分配情况是:

 

共有四个SLOT。


在注册表里面可以看到:TCC8900用到了SLOT0 跟SLOT2.
          "SdhcIPcount"=dword:2
          "SlotCount_IP0"=dword:1
          "SlotCount_IP1"=dword:1

          "MemBase0_0"=dword:F05A0000
          "MemLen0_0"=dword:100
          "MemBase0_1"=dword:0  ;;SLOT1没有用
          "MemLen0_1"=dword:0
          "Irq0"=dword:2C

          "MemBase1_0"=dword:F05A0200
          "MemLen1_0"=dword:100
          "MemBase1_1"=dword:0 ;;SLOT3没有用
          "MemLen1_1"=dword:0
          "Irq1"=dword:2D 

 

0XF0FA0800  SDPORTCTRL  SD Port Configure Registers


通过配置 0xF0FA0800 的寄存器,可以将SD/MMC_Controller0和SD/MMC_Controller1分配到8个Port中的任意一个,例如在程序里面可以看到:
  BITCSET(pSDCTRL->SDPORTCTRL, 0x00007777, 0xF0003512);这个中间的3512,表示PORT3对应SLOT3,PORT5对应SLOT2,PORT1对应SLOT1,PORT2对应SLOT0.


结合注册表可以得出。CORE0用到了SLOT0对应SD 的PORT2.
                    CORE1用到了SLOT2 对应SD 的PORT5.

 

这里如果要将SD的 SLOT0改成其它的PORT口,
1、只需要将对应的GPIO口设成SD卡功能模式,
2、将SDPROTCTRL 的最后一位数字改成相应的PORT值。

 

这里做了实验PORT7按这样做不行,不知是为什么?

在PORT1 上做了实验是OK的。

 

欢迎你加入:149818111

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值