zoukankan      html  css  js  c++  java
  • 使用串口下载vxworks映象的方法 分类: vxWorks 2014-04-22 08:51 469人阅读 评论(0) 收藏

    使用串口下载vxworks映象的方法
    由于坛子里这方面的可行性文章比较少,不时有一些网友在询问这方面的问题,再加上通过这种方法可以调试网络驱动,所以我花了一点时间把整个下载过程试了一下。
    1
    .配置config.h文件
        
     a. 修改DEFAULT_BOOT_LINEtsfs(target server file system)方式引导vxWorks映象:
    #define DEFAULT_BOOT_LINE
    "tsfs(0,0)aman:/vxWorks h=192.168.0.108 e=192.168.0.67 u=amd pw=0000 tn=snds100"
      b. 如果定义了INCLUDE_END,则#undef掉它。
      c.屏蔽掉你原来对串口的设置。如果你有两个可用串口,那么增加以下的配置内容:
    ―――――――――――――――――――――――――――――――――――
    /* Serial port configuration */
    #define INCLUDE_SERIAL

    #undef  CONSOLE_TTY
    #define CONSOLE_TTY  1 /*console channel */
    #undef  CONSOLE_BAUD_RATE
    #define CONSOLE_BAUD_RATE  38400 /* Redefine to PP1 default */

    #undef  WDB_TTY_CHANNEL
    #define WDB_TTY_CHANNEL     0

    #undef  WDB_COMM_TYPE
    #define WDB_COMM_TYPE     WDB_COMM_SERIAL  /* 0 communication through serial port */

    #undef  WDB_TTY_BAUD
    #define WDB_TTY_BAUD    38400

    #define INCLUDE_TSFS_BOOT
    ―――――――――――――――――――――――――――――――――――
    这时你的串口0通道将被用作vxworks映象下载及握手的通道,而串口1通道则被作为控制台信息的打印通道。两者的波特率都是38400。如果你的只有一个串口,那么你必须这样配置(我没有尝试)
    ―――――――――――――――――――――――――――――――――――
    #undef CONSOLE_TTY
    #define CONSOLE_TTY         NONE
    #undef WDB_TTY_CHANNEL
    #define WDB_TTY_CHANNEL     0
    #undef WDB_COMM_TYPE
    #define WDB_COMM_TYPE  WDB_COMM_SERIAL
    #undef  WDB_TTY_BAUD
    #define WDB_TTY_BAUD    38400
    #define INCLUDE_TSFS_BOOT
    这时你将没有控制台,所以你将不能更改boot参数。

    2
    .配置TornadoTarget Server
    a.
    选择Tornado下的菜单“Tools”->“Target Server”->“Config…”->New”,新建一个Target Server。如下图所示:

    点击浏览该文件



    b.配置core file
    如下图所示,指定要下载的vxworks映象文件:

    点击浏览该文件



    c.配置tsfs文件系统
    如下图所示:

    点击浏览该文件


    3.这样就基本完成了所有的配置。重新编译bootromvxworks,接上2根串口线,配置好作为控制台的超级终端。再启动tornadotarget server,然后重启目标机,出现如下的界面:(由于一帖只能帖3图,所以只好跟在下一帖了)
      目标机从串口0开始下载vxworks映象并运行它。最后打印出WDB: Ready.要了解更详细的内容请参阅Tornado在线帮助:TSFS Boot Configuration
      希望大家完善。

     
    跟帖:)

    点击浏览该文件

     

    我的flash上没有文件系统,配置目标服务器时必须配置tsfs项吗?如果不是那引导行怎么改
    我用一个网口的方式,可是bootroom启动后,目标服务器也配置成功,可是超级终端显示下载不了vxworks
    seasoblue
    斑竹在辛苦一下

     

     
    请注意:tsfs是指target server file system,而不是tffs!所以和有没有flash无关。你按我上面的步骤作应该没有问题。
    good luck!

     

    目标服务文件系统:TSFS
    虽然目标服务文件系统(TSFS)是一个全特征VxWorks文件系统,但是通过使用目前定位在主机上的文件系统执行文件操作。TSFS使用WDB驱动程序把来自I/O系统的请求转移到目标服务器。目标服务器使用主机文件系统读取执行请求。那么当你用TSFS打开一个文件,被打开的文件事实上在主机上。将来在对open()调用中获得的文件描述符的read()和write()调用事实上是从打开的主机文件读取和写入。

    我使用一个串口方式下载映像,可是这样超级终端和目标服务器不能同时使用。
    可以使用telnet吗,把控制台重定向。可是改了引导行后,网口ping不通目标机了
    斑竹多指教

     
    配置vxworks时要,包括target file system,不包括network connect,包括serial connect

    我用以上方法启动目标机,光标在Waiting for Target Server connection...处停滞不前,主机的Log Console移一直connecting totarget agent....为什么会有这种情况?检查target server配置没发现有什么不妥。能给些建议吗?

    我用以上方法启动目标机,光标在Waiting for Target Server connection...处停滞不前,主机的Log Console移一直connecting totarget agent....为什么会有这种情况?检查target server配置没发现有什么不妥。能给些建议吗?
    当我将config.h#if TRUE改为#if FALSE,并且仍旧用fd=0,0(0,0)....作文引导行时,terminal上可以看见启动信息,而目标机显示启动信息只到VxLd1.2.................
    我希望在主机的terminal和目标机上都能看到目标机启动和运行信息,可以吗?请指教

    1.   检查目标机和宿主机的波特率是否一致。
    2
    。适当降低波特率,如38400

    因为你没有选中目标服务器配置中console and redirection选项中的redirect  target iocreat console windows
    另外target server file system选项中选中read only

    请问大侠们一个问题:
    我是用的一个console串口和一个10M的以太网口,可是在启动时,console显示信息一直是正常的,直到
    Starting at 0x10000...

    Attached TCP/IP interface to cpm unit 0                                      
    Attaching network interface cpm0...                                  
    Attaching network interface lo0... done.

    哦,忘了说我是用的MPC860作为CPU的。
    然后发生的事情很奇怪,大概有1/5的概率是会出现WDBREADY的信息,但是大多数情况下,则提示:
    Implementation Dependent Software Emulation
    Exception current instruction address: 0x000cf40c
    Machine Status Register: 0x00009030
    Condition Register: 0x22000080
    Task: 0x3ffdf8 "tRootTask"

    请问问题所在?谢谢!

    我按照seasoblue的方法串口下载vxworks
    启动后终端显示有规律的乱码,(主机和目标机串口波特率是一致的)
    问题可能出在哪里呢

    不光是串口波特率,还有数据位的长度/停止位长度/奇偶校验/停止位长度/流量控制等都要一致。

    15楼可能没有注意到斑竹的这个步骤
    > b.
    如果定义了INCLUDE_END,则#undef掉它。

     

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Spread for Windows Forms快速入门(2)设置Spread表单
    Spread for Windows Forms快速入门(3)行列操作
    Html5 Canvas 扫雷 (IE9测试通过)
    Web页面中5种超酷的Hover效果
    文字处理控件功能比较:TX Text Control vs. RichTextBox
    Spread for Windows Forms快速入门(7)单元格的交互操作
    Spread for Windows Forms快速入门(6)定义单元格的外观
    Html5 Rocks 镜像
    如何在ASP.NET中生成HTML5离线Web应用
    Spread for Windows Forms快速入门(5)常用的单元格类型(下)
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706633.html
Copyright © 2011-2022 走看看