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查看驱动过程。

扫描二维码关注公众号,回复: 3284798 查看本文章

其中编号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卡存的是中文歌曲,因此会出现乱码,但不影响挂载^-^。

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

 

猜你喜欢

转载自blog.csdn.net/u011996698/article/details/82802229