免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2631 | 回复: 7
打印 上一主题 下一主题

[操作系统] 请教嵌入式linux开发的一个奇怪问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-23 10:47 |只看该作者 |倒序浏览
请教一个嵌入式linux 的问题。我们有一块板子是一块AMC,用在ATCA网元中,  跑linux, Powerpc架构,他的启动过程如下:首先启动UBOOT,然后通过tftp从服务器上下载kernel 和initramfs,启动kernel,并挂载initramfs, 在将kernel和initramfs启动起来后,linux会跑/init(根目录下的init命令),init会用tftp命令从server上load几个文件(images), 其中文件大部分大小都在1M以内,但是有个image(A.IMG)特别大,20M左右。大部分时候tftp loading 的images都是正确的,但是有几次下载这个大文件A.IMG 会load 出错。要不就不出错,如果出错,每次出错都是在4M多一点的地方出错,每次都有两个地方出错,第一个地方有20bytes出错,离第一个出错地方0X614字节的地方必然会有另一个错误,错误数据有60bytes。我已经测试过tftp客户端从server上收到的数据包都是正确的,tftp客户端将数据写到文件中的时候,数据也是对的,但是在将数据写到文件中后,过一段时间,再将数据读出来,就有可能出错,很奇怪的问题,我怀疑是不是这个文件系统有什么问题?

论坛徽章:
0
2 [报告]
发表于 2011-08-23 12:41 |只看该作者
可能是数据传输过程中不稳定造成的吧!只是有时侯出现这个问题,应该会是这个原因的!

论坛徽章:
0
3 [报告]
发表于 2011-08-23 13:19 |只看该作者
tftp 客户端收到的数据都是正确的,我打印出来看过了,我也一直怀疑是下载的数据可能本身就已经错了,但是实际上是正确的,而且写进去后再读出来也是正确的,但是如果还往里面写数据,写着写着,会导致4M多的地方的数据出错,不知道为什么。

论坛徽章:
0
4 [报告]
发表于 2011-08-23 13:58 |只看该作者
也有可能是nand-flash驱动的问题,
nand-flash是按照块来写数据的。会不会是之后写的数据"污染"了已经写好的数据?

论坛徽章:
2
水瓶座
日期:2013-09-04 15:09:57白羊座
日期:2014-04-17 16:48:13
5 [报告]
发表于 2011-08-23 15:33 |只看该作者
什么文件系统的,Flash的坏块处理有做吧。

论坛徽章:
2
卯兔
日期:2013-09-22 20:08:052015亚冠之广州富力
日期:2015-05-18 17:31:30
6 [报告]
发表于 2011-08-23 15:36 |只看该作者
你的文件系统格式是什么?你写的命令是用什么命令?如果命令是不会跳过坏块的话,这样肯定是有问题的.

论坛徽章:
0
7 [报告]
发表于 2011-08-23 16:43 |只看该作者
我这个板子用的是initramfs,不是yaffs文件系统,或者别的文件系统,是内存文件系统,没有用到FLASH等存储设备,initramfs是在uboot阶段从server上download下来的

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2011-08-23 16:48 |只看该作者
回复 1# junhuawa
在 u-boot下用 memtest  或其它类似命令 ,检查内存, 或换一块板子试验下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP