⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vxworks中文faq.txt

📁 vxworks中文FAQ
💻 TXT
📖 第 1 页 / 共 5 页
字号:
VxWorks中文FAQ

前言(Surface):
    随着国内使用VxWorks的用户越来越多,为了方便VxWorkers少走一些弯路,特别推出了中文FAQ,其中
很多的FAQ来自comp.os.vxworks和原创。(很多FAQ都可以在该新闻组找到英文版)  
    文档的FAQ总共分为7大类:
	1.入门FAQ
	2.Tornado工具FAQ
	3.BSP FAQ
	4.文件系统 FAQ
	5.网络 FAQ
	6.VxWorks操作系统 FAQ
	7.其它 FAQ
    基本涵盖了Tornado/VxWorks使用中的主要方面。
    文档组织本身没有逻辑上的关联,经过分类,只是松散的组合在一起,可根据你的需要选择阅读某一部
分。
    为了保持本文档的开放性和可扩充性,欢迎大家把自己曾经碰到过的问题及其解决办法按分类加到文档
里来。在修改本文档时,请把修改记录加到历史记录里。
    欢迎任何人指出文档中的错误之处,请把错误之处发到附录B里的任一个EMAIL里,在此对那些问题的提
出者、回答者以及文档的维护者一并表示感谢!  

当前版本(Current Version):
version 0.1

历史(History):
2002-08-27 wys205  create 0.1 version

目录(Content):
1.入门FAQ
1.1 概念
1.2 环境
1.3 编程

2.Tornado工具FAQ
2.1 编译器和链接器
2.2 调试器
2.3 FTP
2.4 主机工具
2.5 安装
2.6 MAKEFILE
2.7 工程
2.8 目标机服务器
2.9 Shell
2.10 Telnet
2.11 Tornado
2.12 版本控制
2.13 Visual Studio集成
2.14 Windsh
2.15 WindView


3.BSP FAQ
3.1 不同BSP
3.2 处理器
3.2.1 Power PC
3.2.2 I960
3.2.3 MIPS
3.2.4 ARM
3.2.5 x86
3.3 Bootstrap
3.4 配置你的VxWorks
3.5 VME
3.6 VxWorks环境 environment
3.6.1 usrSerial.c
3.6.2 prj_vxworks.tcl
3.7 PCI
3.8 网卡


4.文件系统 FAQ
4.1 Dos文件系统
4.2 Flash文件系统
4.3 Floppy-disk文件系统
4.4 RAM-disk文件系统
4.5 基本文件系统问题

5.网络 FAQ
5.1 配置问题
5.2 ARP
5.3 DHCP
5.4 FTP和TFTP
5.5 PPP
5.5.1 PPP on Windows 95
5.5.2 PPP on Windows NT
5.5.3 PPP on Solaris
5.6 Sockets
5.7 Telnet
5.8 SNMP
5.9 其它网络相关问题


6.VxWorks操作系统 FAQ
6.1 C++ issues
6.2 Communication problems
6.3 Interrupts
6.4 LoadModule problems
6.5 pthreads
6.6 Reboot
6.7 Semaphores
6.8 Simulator (VxSim)
6.9 Task related items
6.10 Time/timer related items
6.11 Wind Web Server related items
6.12 Zinc/windML related items
6.13 Other items
6.14 VxWorks AE issues
6.15 I/O 操作


7.其它 FAQ
7.1 Hard delay
7.2 Memory leaks
7.3 Corba engines
7.4 Web servers
7.5 NTP usage
7.6 Performace / Benchmarks
7.7 SNMP
7.8 Lint
7.9 Encryption
7.10 其它

附录A.一些有用的连接
附录B.维护


1.入门FAQ
1.1 概念

1.1.0 什么是VxWorks?
A: VxWorks是风河公司为分布式环境设计的具备网络功能的实时操作系统。它可以运行在不同的平台上,
如:MC680x0, MC683xx, Intel i960, Intel i386, R3000, SPARC, Fujitsu SPARClite, and TRON Gmicro
等系统上。它要求采用主机来开发程序,支持的主机有Sun3, Sun4, HP9000, IBM RS-6000, DEC, SGI, 
和MIPS等。
  它不在目标机上运行开发系统软件如:编译器、连接器、编辑器等。开发环境是基于交叉开发或远程开发
的办法。你需要某种类型的主机如UNIX等来运行编译器和调试器,编译后的代码能下载到目标机上,作为
VxWorks映象的一部分。在开发过程中,独立的目标代码可以动态下载到运行的目标机系统上。最终的
应用程序被写到ROM中。

1.1.1 最近刚开始学习VXWORKS,越看越迷糊:
1)BSP,bootImage,VxWorksImage三者的关系是什么?BSP是BootImage的一部分还是VxWorksImage 的一部
分?对于可以自启动的系统是不是三者合在一起生成一个VxWorks Image?
2)应用程序代码是和VxWorks内核一起编译生成一个VxworksImage吗?
以上问题是针对于代码存放在rom介质上的系统(如flash)。希望各位大侠不吝赐教!谢谢。。。

A:BSP 是用来支持你的硬件的软件, 它包含在你的VxWorksImg里面.
对于ROM启动的系统来说, BootImg是ROM里代码的第一部分, 用来
在开机时首先运行. 如果你的所有代码都在ROM上, 则引导程序把
VxWorksImg拷贝到系统内存, 然后再跳转的系统内存去执行.

BSP的作用屏蔽不同的硬件结构(如CPU和外围芯片)向VxWorks的Kernel提供
它所需要的一个统一的接口调用(如时钟)
(by 泡泡)

bsp: 板级支持包,主要完成目标硬件的初始化工作,提供操作系统一个统一的接口,负责硬件操作,
如中断处理,启动,停止,等工作。Bootimage:引导镜像,我向如果把boot翻译成启动不是很是当的说法,
这是一个引导程序,负责把目标系统环境初始化,最小的程度,如启动了串口,或者网络接口,可以使用这
些接口现在程序,与主机通信,然后获取你需要的OS-vxworksimage vxworksimage-包含vxworks内核以及
各种组件的镜像,也就是object images,这是真正的操作系统,通常bootimage负责获取这个镜像,然后跳
到镜像所在的位置开始执行。(by hongwind )

1.1.2 如何学习VXWORK,PSOS入门?
A:初次上站,感觉大家水平一般,入门级选手较多,实时多任务操作系统和以前大家使用的低端产品,如51
机在原理上是不同的,因此大家最好先学习多任务操作系统的原理。否则无法深入学习。 
推荐一本书:坦尼博姆著:《操作系统》,各地都有的卖,主要是讲MINIX的原理,其实就是UNIX系列操作
系统的实现原理,由于VXWORKS和PSOS都是这个系列的操作系统,因此理解了这本书,也就理解了它们的工
作原理。必将事半功倍,而且对你理解WINDOWS的工作原理也很有好处。  (by bruin)

1.1.3 BSP和驱动的关系?
A: BSP主要完成硬件和系统的初始化工作: 
  CPU初始化; 
  总线初始化; 
  内存控制器初始化; 
  将代码、数据拷贝到RAM; 
  中断控制器初始化; 
  系统时钟初始化; 
  初始化操作系统; 
  调用驱动程序初始化函数; 
  创建设备; 
Device Driver主要是按照设备模型管理设备,并把自己挂到操作系统的适当模块上(I/O系统,文件系统或
者直接向应用程序提供接口): 
  块设备驱动:挂到文件系统上; 
  字符设备:挂到I/O系统上; 
  串行设备:挂到TTY模块上; 
  网络设备:挂到网络模块上。 

1.1.4 IBM PowerPC 和 Motorola PowerPC有什么不同?
A: PowerPC是早期Motorola和IBM联合为Apple的MAC机开发的CPU芯片,IBM PowerPC 和 Motorola PowerPC
的内核都是采用PowerPC,主要用于嵌入式系统。

1.1.5 什么是H.GOMMA原则?
A:任务划分原则:
对不同的外设,应划分为不同的任务;
对于突发性事件,应划分为不同优先级的不同任务;
含有大量运算的事件归为一个任务;
存在功能耦合或偶然耦合的事件,划为一个任务;
对于经常重复发生的事件,不同发生频率的事件划分为不同任务。

1.2 环境
1.2.1 斑竹tornado都是支持那些cpu??能列一下吗或哪里能找到
斑竹tornado都是支持那些cpu??能列一下吗或哪里能找到!!! 
A:开发平台: Windows NT, Sun Solaris, SunOS, HP-UX, Win95 
支持处理器: x86, 68k, PPC, CPU 32, i960, SPARC, SPARCLite, SH, ColdFire, R3000, R4000, 
C16X, ARM, MIPS ... 

1.3 编程
1.3.1 vxworks,bsp中有些定义怎么找不到用到的地方,还有些定义找不到在哪里定义过了,比如
MAMR_PTA_SHIFT,哪位大侠给解答一下。不胜感激! 
A:在h/drv/multi/ppc860Siu.h里。看代码还是用Source Insight
(by vxfree)

1.3.2 当文件名为*.C时,TORNADO不能正常编译该文件?
A: 把文件名改为*.c后,就可以了。

1.3.3 inline的含义?
A:在调用函数的 地方直接嵌入函数的代码,主要用于加快代码执行。gcc中为__inline__ ANSI C中为inline.

2.Tornado工具FAQ

2.1 编译器和链接器
2.1.1 当我把多个目标文件链接成一个时,出现了一个错误:
ldppc:built in linker script:43: syntax error 我怎么样才能消除这个错误?
A:请确定你的链接器使用了-r参数。
(From: weber.dirk@t-online.de)

2.1.2 我怎样使用新版本的编译器?
A:参看如下连接,有一个PPC的编译器
http://www.newgcc4vxworks4ppc.cjb.net/

2.1.3 当用另一个编译器编译代码时,得到更多的错误和警告,怎样才能让GCC生成更多的警告信息?
A:首先用-Wall参数打开所有警告开关;另一种生成更多报告的方法就是把文件看作是C++文件,参数为 
-x c++.(From: Claudio Ortega, cortega@sinfomed.org.ar)

-Wall不能真正打开所有的警告,我采用由Bruce Evans推荐的参数
 而且在FreeBSD环境下,BDECFLAGS变量比较固定。

# BDECFLAGS are a set of gcc warning settings that Bruce Evans has suggested
# for use in developing FreeBSD and testing changes.  They can be used by
# putting "CFLAGS+=${BDECFLAGS}" in /etc/make.conf.  -Wconversion is not
# included here due to compiler bugs, eg: mkdir()'s mode_t argument.
#
BDECFLAGS=      -W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
                -Wcast-qual -Wchar-subscripts -Winline \
                -Wmissing-prototypes -Wnested-externs -Wpointer-arith \
                -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings

This set of flags is *much* pickier than -Wall alone. 
(From: W Gerald Hicks)

2.1.4 当编译我的模块时一切都是好的,但是当我试图下载时得到一个错误:missing symbol "__eabi"?
A:在你的模块里可能有个main函数,根据PPC "extended Application Binary Interface" (eabi)
标准,main函数必须调用__eabi函数,该函数为运行你的程序设置必要的运行环境。
    由于这个原因GNU编译器在main函数里插入 __eabi函数。
    Tornado不提供该函数,因为在实时环境下,你不必写main函数。VxWorks在应用程序运行前已经设置

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -