为什么手机的内存卡支持有容量限制?

dragonzcs 2009-06-10 11:20:35
为什么手机的内存卡支持有容量限制?是不是与手机的CPU的寻址范围有关?电脑是不是也有内存容量限制?
...全文
658 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
主要是文件系统的限制。
MicroSD采用FAT格式,最大只能到2GB,MicroSDHC支持FAT32,理论可到1TB,目前支持32GB的存储容量。
dontium 2009-06-10
  • 打赏
  • 举报
回复
手机中的T-FLASH卡,用的是SD卡协议(实际上也就是小封装的SD卡),SD卡协议有1.0和2.0的,
手机中的CPU在硬件上就不支持2.0版,如以下是6226的一段说明:

The controller fully supports the Memory Stick bus protocol as defined in Format Specification version 2.0 ofMemory Stick Standard (Memory Stick PRO) and the SDMemory Card bus protocol as defined in SDMemory Card Specification Part 1 Physical Layer Specification version 1.0 as well as the MultiMediaCard (MMC) bus protocol as defined in MMC system specification version 2.2.

CMD17命令用的是这个:
MSDC_WriteReg32(SDC_ARG,arg);
它是这样定义的:
#define MSDC_WriteReg32(adrs,data) *(volatile kal_uint32*)(adrs) = (kal_uint32)(data)
有关的寄存器定义为:
#define SDC_CFG (MSDC_ADRS+0x20)
#define SDC_CMD (MSDC_ADRS+0x24)
#define SDC_ARG (MSDC_ADRS+0x28)
#define SDC_STA (MSDC_ADRS+0x2c)
#define SDC_RESP0 (MSDC_ADRS+0x30)
#define SDC_RESP1 (MSDC_ADRS+0x34)
#define SDC_RESP2 (MSDC_ADRS+0x38)
#define SDC_RESP3 (MSDC_ADRS+0x3c)
……
而SDC_ARG是32位的:
MSDC+0028h SD Memory Card Controller Argument Register SDC_ARG
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name ARG [31:16]
Type R/W
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name ARG [15:0]
Type R/W

从寄存器看,它可以很好地、完全支持2.0


我现在在搞2440,看了它的SD卡的控制寄存器,是12位的,对大容量的SD卡的支持也是有限制的.
wxgiter 2009-06-10
  • 打赏
  • 举报
回复
电脑有内存限制,32位的操作系统能寻址4G内存。。。。
手机不清楚,应该类似吧。。。

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧