找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 4823|回复: 6

uboot与U盘

[复制链接]
发表于 2014-1-6 16:05 | 显示全部楼层 |阅读模式
本帖最后由 hamani3456 于 2014-1-6 16:08 编辑

[img]file:///C:\Users\ADMINI~1\AppData\Local\Temp\)SC5BVG@Z77TFAZI3REO[}R.gif[/img][img]file:///C:\Users\ADMINI~1\AppData\Local\Temp\)SC5BVG@Z77TFAZI3REO[}R.gif[/img]
{:soso_e136:}{:soso_e136:}

隐约好像是从那次刷了不死uboot后
(这个不死uboot确实好用,刷砖后只要按一个键两三分钟就救砖成功)
我那841n v7的usb host插入U盘后就再也没识别到过

之前一直可以……(之前插上U盘后,在mount point上就有显示出U盘的容量大小,并且在kernel logging上也有类似识别出U盘的记录)
查了电路,也没哪断线脱焊什么的



实在查不出问题出在哪!?
重刷了好多固件,包括之前可认U盘的固件,都没有用。

就是还没有重刷回之前的U-boot

这样的情况与uboot有没有关系啊?
实在不愿意折腾来折腾去到时还是空啊

请砖家指点下哈

{:soso_e183:}{:soso_e183:}

 楼主| 发表于 2014-1-7 11:48 | 显示全部楼层
{:soso_e127:}{:soso_e127:}

沉得这么快,差点找不到踪影了

正如要搞好openwrt真难
要搞坏那是太简单
 楼主| 发表于 2014-1-9 14:52 | 显示全部楼层
我这情形太冷门了吗?
没有谁有碰到过类似的情况吗?

还是这问题太艰辛,只有传说中的大神才知晓其中的玄机???

实在不愿重刷uboot啊。一是因为现在在用的不死uboot用着超爽,二是怕重刷后根本没用,也就是根本不是uboot本身的问题
发表于 2014-1-9 18:53 | 显示全部楼层
uboot和挂载一点关系都没有,如果固件没问题就有可能是硬件问题
 楼主| 发表于 2014-1-10 09:26 | 显示全部楼层
{:soso_e181:}  {:soso_e181:}

看来得重焊usb-host了
 楼主| 发表于 2014-1-13 10:24 | 显示全部楼层

今天看了篇博文,如下。这样看来,uboot与U盘挂载应该还是有关系的啊,不知我这样理解对不对

U-Boot中支持USB
今天查看了一下在P4080DS板子的U-Boot中支持USB,主要是加入USB Host端驱动和相应设备端驱动来支持存储设备,这样就 可以将Kernel以及文件系统存放在U盘上,来通过U盘来启动。
跟其它接口一样,在U-Boot中,USB的支持也是通过放在相应板子上的几个宏定义来实现,对于P4080DS板,是在include/configs/corenet_ds.h定义:


        #define CONFIG_CMD_USB                /* 支持USB命令集,这样就可以使用U-Boot命令访问USB设备 */
        #define CONFIG_USB_STORAGE                /* 支持USB存储设备 */
        #define CONFIG_USB_EHCI                /* 支持EHCI协议标准的USB Host端 */
        #define CONFIG_USB_EHCI_FSL                /* 支持具体到Freescale的EHCI标准的USB Host控制器 */
        #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
        #define CONFIG_CMD_EXT2                /* 支持EXT2文件系统 */
在上面个所有宏定义中,除了CONFIG_USB_EHCI_FSL以外,所有其它都是公共的,也就是与平台无关,所以要在P4080DS的U-Boot上,添加对该平台的USB的支持,仅需要实现由CONFIG_USB_EHCI_FSL定义所要求的操作就可以了。
具体来说,做了下列一些操作:
在drivers/usb/host/Makefile一行
        COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-fsl.o
即加入与P4080 USB Host端控制器的驱动drivers/usb/host/ehci-fsl.c。这个驱动文件的主要工作就是建立一个对应P4080 USB Host端控制器的数据结构,设置为Host模式和少数一些特性,初始化PHY,最后使能该控制器。因此所做的工作非常简单。

USB初始化的调用过程:
1. 在U-Boot命令行中发
        => usb start
2. USB命令解析器判定(common/cmd_usb.c)是start命令,会调用usb_init()函数(common/usb.c)
3. usb_init()会调用底层初始化函数usb_lowlevel_init()(drivers/usb/host/ehci-hcd.c)
4. 在usb_lowlevel_init()函数里,最后会调用到具体的Host控制器的初始化函数ehci_hcd_init(),这个函数就是放置在对应各种Host控制器的初始化文件的函数。对于Freescale处理器中的Host控制器,该文件是drivers/usb/host/ehci-fsl.c。
因此整个调用流程为:
usb start命令 ---> usb_init() ---> usb_lowlevel_init() ---> ehci_hcd_init()


发表于 2014-1-13 10:49 | 显示全部楼层
你这个情况应该是硬件问题吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-16 20:11

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表