基于OHCI的ARM平台下USB HOST裸机驱动开发

由于项目需要,最近研究了下S3C2440裸机读写U盘的裸机驱动开发, http://lancelot.blog.51cto.com/393579/328233帖子给了我很大的启发,同时 http://bbs.21ic.com/icview-139413-1-1.html提供的USB HOST源码也非常有帮助,在不开DCache的情况下确实可以正常读写U盘,但一旦打开DCache后程序就会死掉,原因是OCHI协议里面规定HCCA必须定义到非缓存区域,解决办法是利用ADS的分散加载功能,把USB的程序加载到非缓存区,其他的程序则加载到缓存区,这样就可以正常运行USB的程序了,但由于本人水平有限,研究了下分散加载,最终还是没有搞定,我也很纳闷,2440的Init.s执行完后,跳到Main函数,一切都很正常,但GUI_Init()一执行就死机,跟踪了半天也没发现原因,后来我想到了一个折中的办法,由于我只是间隔地对U盘进行读写,主要是保存一些参数,因此访问U盘的时候关闭DCache,访问完成后再打开DCache,这样USB的程序就可以和其他的程序正常结合了,LCD刷屏的速度也得到了满足,当然这肯定不是问题的解决之道,以后有时间再回来研究下ADS的分散加载功能,哪位对分散加载比较熟悉的可以联系我,请教啊!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值