EDN首页   博客首页

日志档案

发表于 2006-11-14 12:32:23

15

标签: vxworks加入静态库引起的麻烦  

vxworks加入静态库引起的麻烦

前段时间,老板给了一大堆程序要移植到vxworks上,做好适配后将程序都作成了.a文件。但是把所有的库加进去,build没什么问题。但是在下载到目标板以后start at 308000就死了。而把库去掉就没问题了。困扰啊!忙了几天。先后试了去掉MMU,cache,有时候有点作用但是还是很不稳定。

感觉应该是内存方面的问题,于是跟到内核一点点地打印,前面发了通过串口打印的程序。最后发现在内核初始化前,打印内存大小时出现问题。于是又仔细的看了一下,初始化内存的资料。我用的工控板,X86支持自动计算内存大小,现在我还是不知道它是怎么计算的内存,但是感觉应该是这个地方的问题。于是我将自动计算内存关掉,自己设置一个固定值。OK啦!再用MMU和cache都没什么问题了。

仔细想想应该是函数memtop这个函数出现了问题。

系统分类: 嵌入式   |   用户分类: vxworks学习心得   |   来源: 无分类   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(1192)    回复(5)  

投一票您将和博主都有获奖机会!

  • iceliux

    2006-11-22 22:11:48

    你好,请教一个问题:

    有没有办法根据已有的.a文件生成相应的.o或都.out文?

    iceliux@emails.bjut.edu.cn

  • hubert

    2006-11-24 8:48:06

    可以利用GNU工具ar完成

  • 汪陆君

    2006-11-28 14:17:42

    vxworks是在syslib.c文件中通过sysPhysMemTop这个函数计算出可用的实际内存的。最底层是通过汇编对页边缘对齐的内存地址空间进行读写检测来达到目的的。

    wlj319@163.com

  • 路路

    2006-11-14 20:36:54

    请教您个问题,希望得到您的帮助。

    在用软盘启动目标机的时,目标机上未出现启动信息,只出现了一些“+”号,ftp server的log信息显示vxWorks已经下载成功,启动target server后,显示连接成功。此时tornado的各种组件都能使用,也能进行编程工作,目标机不能显示输出信息,未进入系统界面,不知是什么原因呢?

  • yanshen

    2006-11-14 23:23:52

    是不是你没有包含target shell啊?包含了以后在目标板上才能显示。还有target shell与PC_CONSOLE的定向有关,PC_CONSOLE必须定向到目标板所带的显示器上才行。