添加SDIO驱动相关组件
添加SD卡驱动相关的组件
使能上述4个组件,根据这四个组件名字可以大致推测出:
DRV_TI_MMCHS_CTRL组件和具体的处理器有关,也就是SDIO驱动部分
DRV_SDSTORAGE_CARD组件和SDIO协议有关,和处理器无关,它仅仅是个协议
DRV_GPIO_FDT_OMAP组件还是和处理器有关,需要使能设备树来初始化相关硬件引脚
DRV_TI_EDMA3组件也是和处理器相关的,使能DMA后对文件的读写操作通过DMA的方式,否则是很占用CPU资源的。
添加EMMC驱动组件
因为开发板上也有一个EMMC设备,所以也要将EMMC的组件添加上,方便以后使用EMMC。
上电运行
上电后发现sd卡的两个分区皆挂载成功了,但无法cd进入,返回error=0x14。
VxWorks支持的文件系统
rawFS文件系统
sd卡我做了两个分区,一个是Fatfs32文件系统,一个是ext3文件系统。
从打印信息可以看到内核在挂在SD卡时将其挂在成rawFS文件系统了,rawFs 即将整个块设备作为单个文件进行操作,不存在文件和目录层次性管理功能。对于一个挂接的块设备,如果 Vxworks 无法辨别其已有文件系统类型,则就以 rawFs 作为该块设备的默认文件系统。
执行ls -l命令,可以看到sd0a和sd0b(也就是SD卡的Fatfs32和ext3分区)是目录类型,但没有rwx中的任何权限,所以这说明我们没有添加dosFS文件系统组件,内核挂载时无法识别这两种文件系统,所以全部按照rawFS的类型来挂载了。
添加dosFS组件
可以看到启动后sd0a挂载成功,但是sd0b依然按照rawFS挂载了,这是因为dosFS无法识别ext3文件系统。
ls -l后可以看到sd0a也具有rwx权限了,也能cd进去了。