QNX ----  IMX6UL SDMMC调试

                                QNX ----  IMX6UL SDMMC调试

   在QNX下,QNX提供了一个build的配置文件,和相关驱动源码,下载《QNX SDP 6.6 BSP for the Freescale i.XM6 Solo X Sabre SDB》开发包,导入到工程就可以开始BSP调试了。

我的开发是基于IMX6UL ARM Cortex-A7/M4处理器,编译不能够直接运行,需要对BSP进行修改,前几天调试QNX内核,能够启动系统和串口驱动。接下来调试SDMMC驱动,记录一下调试过程。

  1. 查看SDMMC目录架构和驱动加载方法:

 

从官方例子SDMMC驱动,提供了基本的驱动框架,其中base.c提供SD基本操作方法,sd.c根据板子指定配置引脚修改,本例子采用的SD卡,而我的开发板为TF卡,因此相对应于SD卡是没有WP管脚(写保护)的,仅仅存在CD(card select)管脚。因此需要加载sd.c的相关选项。

加载启动命令:

devb-sdmmc-mx6_generic cam pnp,verbose blk rw,cache=2M sdio addr=0x02190000,irq=54,bs=cd=0x209C000^29^179  disk name=SDMMC

  其中addrSD1基地址,irq为中断,cd=0x209C000^19^179对应得GPIO管脚配置。

修改完后,编译下载,查看dev目录下是否存在SDMMC设备。

然后并没有出现SDMMC设备,因此通过sloginfo查看驱动过程。

其中编号1800为SDMMC加载流程,提示TF卡没有插入,应该是没有检测到。修改GPIO配置:

修改SD1_CD引脚配置,然后下载进入,结果依旧,通过源码SD.C,SD1_CD引脚是通过中断检测的,应该需要配置GPIO中断,配置好中断,然后查看init_intrinfo.c文件的中断向量,

 找到相对于的配置引脚,修改加载命令为。

devb-sdmmc-mx6_generic cam pnp,verbose blk rw,cache=2M sdio addr=0x02190000,irq=54,bs=cd=0x209C000^19^179  mkdosfs name=SDMMC

下载后,查看dev目录下挂在成功:

通过sloginfo 查看挂载信息:

可以查到TF驱动已加载。 然后采用mount 命令挂载该设备。

可以查看到SD的信息,由于该TF卡存的是中文歌曲,因此会出现乱码,但不影响挂载^-^。

不过遗留一个问题,该设备只能读,不能写,有哪位解决的没有。。。。。。。。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值