OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于网络加载vxWorks image 一问

共10条 1/1 1 跳转至

关于网络加载vxWorks image 一问

菜鸟
2007-08-10 14:04:47    评分
选择FTP BOOT 模式,出现以下现象,有可能是什么引起的?
target boot line:
boot device : End
unit number : 0
processor number : 0
host name : host
file name : vxWorks
inet on ethernet (e) : 198.87.0.11 :ffff0000
host inet (h) : 198.87.0.10
gateway inet (g) : 198.87.0.1
user (u) : xx
ftp password (pw) : xx
flags (f) : 0x0
target name (tn) : s3c2410

Attached TCP/IP interface to sng0.
Warning: no netmask specified.
Attaching network interface lo0... done.
Loading... 655386


WFTP log Infomation:
Connection accepted from 198.87.0.11
Command "USER xx" received
PASSword accepted
User xx logged in
Command "TYPE I"received
TYPE set to I N
Command "PASV"received
Entering Passive Mode[198.87.0.10,12,64]
Command "RETR vxWorks"received
RETRieve start on file vxWorks
Transfer aborted
Got file ....\vxWorks unsuccessfully
Socket error 10054 while sengding data
QUIT or close -user xx logged out
从本地连接中能看到,每次启动,PC机大约发了300多帧,接收到80多帧,然后就出现以上情况,死在那儿了,按说如果网络驱动有问题,前面那些发送接收应该也会有问题,偏偏到了要下传image时出问题,因此怀疑是不是config里有没设对的地方,在baidu和google上也搜到过类似现象的帖子,但都没有一个合理的解释,希望有人指教,谢谢!
附类似问题帖子的地址:
http://bbs.cedn.cn/viewthread.php?tid=6093
http://csg.lbl.gov/vxworks/vxwexplo/2001/archive0102
http://groups.google.com/group/c ... f9/c637191a2e5b86a7
http://groups.google.com/group/c ... 4b#ea9c22ad7bd7514b



关键词: 关于     网络     加载     vxWorks     image     一问    

菜鸟
2007-08-15 18:35:45    评分
2楼

我也有同样的问题,Socket error 10054 while sengding data 
并且我的问题更加特殊:
当vxworks文件1.5M时,一切都是好的,不会出现上面的问题
当vxworks文件6M时,出现Socket error 10054 while sengding data ;
(我有两个串口,一个10M,一个10M/100M自适应,都会是上面的情况
有人说是因为vxworks文件太大,把网口灌死了??)


在这里感谢youngereader  的专业,呵呵
你给出的连接中有人建议通过串口下载,我明天去试验一下..

还有一个问题,我的这个系统中,内存有64M(0x0---0x3ffffff)
将RAM_HIGH_ADRS设成0x02000000,console串口就不能打印输出
将RAM_HIGH_ADRS设成0x01000000,console能打印输出??为什么 ??
有没有人碰到过?

我的系统(tornado221+mpc866)


菜鸟
2007-08-17 16:50:26    评分
3楼
我的Socket error 10054 while sengding data 已经解决
主要是ram初始化有点问题
MAMR设置不对
哎,往往最奇怪的问题都是最基本的错误

菜鸟
2007-08-21 23:40:31    评分
4楼
PPC的vxWorks默认情况下使用短跳转,有32M文本区的限制,很有可能是引起:

将RAM_HIGH_ADRS设成0x02000000,console串口就不能打印输出
将RAM_HIGH_ADRS设成0x01000000,console能打印输出

的原因。

高工
2007-08-25 18:49:38    评分
5楼
hao

菜鸟
2007-08-28 09:15:00    评分
6楼

yaopg, 这个短跳转在哪里定义的,能不能改变??
或者用什么办法去更好地分配64m的内存呢?


菜鸟
2007-09-03 11:05:47    评分
7楼
啊,关于短跳转,请参考PPC的EABI相关规范和VxWorks对各种CPU架构实现的手册。
不推荐改变这一特点,因为会对性能造成一定的影响。应该考虑如何避免这个问题,把所有的文本段限制在32M之内,应该是足够用了。

菜鸟
2007-09-08 16:14:27    评分
8楼
谢谢yaopg
昨天做过ram的读写测试了,准备把后32m作为变量存贮区间使用


我在别的地方看到有人说使用gnu的-mlongcall可以解决,不过我试验的效果好像不行
有兴趣的同志可以试试,呵呵

菜鸟
2007-09-10 20:10:21    评分
9楼
mlongcall 不推荐,因为会全局影响所有函数调用和返回的汇编代码量,降低了执行效率。在嵌入式里面,毕竟速度重要些,而且把文本段集中在32M内难度不大。
个人观点,欢迎指教。

菜鸟
2013-11-21 20:06:49    评分
10楼
好贴,顶一下!!

共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]