天嵌 ARM开发社区

 找回密码
 注册
查看: 2737|回复: 3

求教下uboot中nand/USB支持的问题

[复制链接]
zyp568 发表于 2012-9-10 02:05:19 | 显示全部楼层 |阅读模式
uboot版本: 2012.07
环境:      TQ2440 + ubuntu12.04 + arm-linux-gcc-4.3.2
移植后,在试验nand相关功能时,发现一些奇怪的问题。
1. 使用[nand read] / [nand write]命令时,如果被读/写的内容为0xFFFFFFFF,则可以读/写成功,内容为其他的时候,读/写失败。
2. nand的大小是正确识别的,256MB。
  怀疑是uboot默认nand操作指令不完全跟我的nand匹配,查了一下没查出什么问题,看过韦东山老师的视频,也没有对操作指令进行修改。
3. USB的dev号很诡异,info时用2,dev时要用0.
请教下各位是否碰到过这样的问题额?
详见下方图片:







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| zyp568 发表于 2012-9-10 10:26:58 | 显示全部楼层
本帖最后由 zyp568 于 2012-9-10 13:36 编辑

貌似找到问题了,手边没板子,真纠结啊。
比较了定义两个宏前后.bin文件的大小,一样大~~估计问题不在这里吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
亚瑟王 发表于 2012-9-10 14:46:53 | 显示全部楼层
zyp568 发表于 2012-9-10 10:26
貌似找到问题了,手边没板子,真纠结啊。
比较了定义两个宏前后.bin文件的大小,一样大~~估计问题不在这里 ...

不清楚你是如何移植的,建议你根据错误信息向前追查。
 楼主| zyp568 发表于 2012-9-13 07:51:19 | 显示全部楼层
nand读/写的问题已经解决。
原因:
drivers/mtd/nand/nand_base.c中的函数void nand_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len)里

通过添加的打印函数,将chip->IO_ADDR_W的值打印到串口,发现其值为0x4E00000C,指向了地址寄存器。
手动赋值0x4E000010后,nand读/写功能即正常。
去掉调试函数,把chip->IO_ADDR_W改成chip->IO_ADDR_R即可,因为chip->IO_ADDR_R整个过程中没有被修改过,一直是指向数据寄存器的。
话说这难道是uboot作者笔误了么?坑死爹了啊!!!

USB的问题还么解决哦,各位有空的大神,帮忙看看吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-29 05:00 , Processed in 1.031250 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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