vxworkstolinux
‘壹’ 如何局域网上使用vxWorks安装linux
修改hosts文件 在文件 /etc/hosts 中添加如下行: 10 10 0 150 xmdong 10 10 0 151 target FTP 服务器 Tornado自带了一个FTP服务器软件WFTPD。当HOST是 linux 平台时,TARGET通过 网络 连接只能用FTP协议从HOST下载vxWorks映像文件。 打开FTP Server。 选中S
修改hosts文件
在文件
/etc/hosts
中添加如下行:
10 10 0 150 xmdong
10 10 0 151 target
FTP服务器
Tornado自带了一个FTP服务器软件WFTPD。当HOST是linux平台时,TARGET通过网络连接只能用FTP协议从HOST下载vxWorks映像文件。
打开FTP Server。
选中Security >Users/Rights…菜单,在添加新用户对话框中:
User Name: target,
Password: target,
Home Directory: 这里我设置为BIN,你也可以设置为其他路径,记住你的设置。后面DEFAULT_BOOT_LINE中定义的vxWorks文件路径,就是以HOME为根目录的相对路径。建议将vxWorks文件复制到HOME目录下面,这样vxWorks文件的路径最短。转载,仅供参考。
另外,你可以通过Logging >Log Options…菜单,选中那些可选项目,来观察FTP过程中的问题。
配置好之后,启动FTP Server。
3 4 配置BSP
配置BSP的工作是通过修改config h文件完成的。这一步比较关键。
打开BSPNAME/config h文件。
在文件的108行左右,会有对不同CPU的DEFAULT_BOOT_LINE定义语句,它描述了引导参数,定义正确之后所制作的Boot ROM软盘才能正常引导TARGET机子。
根据我们的配置,这里应该修改为:
#elif (CPU == I80486)
#define DEFAULT_BOOT_LINE
"elPci(0,0)xmdong:vxWorks
h=10 10 0 150 e=10 10 0 151 u=target pw=target tn=target"
参数 参数值 描述
Boot device elPci 3COM 3C905B网卡
Processor number (0,0)
Host name xmdong 主机名
File name vxWorks VxWorks Image 文件路径名
Host inet (h) 10 10 0 150 主机网络接口地址
Inet on Ethernet (e)10 10 0 151 目标机网络接口地址
User (u) target FTP用户名
Password (pw) target FTP密码
Target name (tn) target 目标机名称
有关引导参数的详细描述,请参考Tornado User’s Guide之 2 5 4 Description of Boot Parameters。
BSP中缺省包含了对Intel Ether Express PRO100 网卡的支持,而我们用的是3C905B网卡,因此要去掉原来的定义,添加对我们的网卡的支持:
#undef INCLUDE_FEI
#define INCLUDE_EL_3C90X_END /* for our 3COM 3C905B NIC */
新工程
然后在Tornado中新建一个工程。选择“Create a bootable VxWorks image”,OK。
n Step 1
Name: Project2
Location: /Tornado/proj/Project2 (以后我们提到PROJECT就是指这个路径)
Workspace: Add to current Workspace
n Step 2
Would you like to base your project on: A BSP, pc486 (也就是我们说的BSPNAME)
n Step 3
Finish
Build工程
在Tornado环境的Workspace窗口中,选中前面新建的工程PROJECT,从鼠标右键弹出菜单中执行ReBuild All (VxWorks)。
Build Output窗口显示了build的过程。成功之后,生成PROJECT/default/vxWorks映像文件。
将文件PROJECT/default/vxWorks复制到BIN目录。因为在前面配置FTP服务器的过程中,我们将BIN目录配置为FTP用户target的HOME目录。如果你将PROJECT/default目录配置为HOME目录,就可以省去这个复制操作。
Boot ROM
在Tornado菜单中选择Build >Build Boot ROM…
在弹出对话框中:
Select a BSP: pc486
Select an Image to Build: bootrom_uncmp
OK
Build Output窗口显示了build的过程。不出意外的话,BSPNAME目录下面会生成bootrom_uncmp文件。
这里选择bootrom也是可以的,其他的没有试过。
3 8 制作引导盘
将上一步生成的文件BSPNAME/bootrom_uncmp复制到BIN目录。
打开一个konsole窗口。
进入BIN目录:
$cd tornado/host/x86-linuxbin
执行mkboot程序:
mkboot /dev/sda bootrom_uncmp'
‘贰’ 嵌入式操作系统学linux vxworks哪个好
学习嵌入式操作系统,我个人建议还是linux入手比较好,我从事这个电子产品开发和推广领域已经8年了,每年我们公司去招聘会招聘新人的时候,前后左右的公司在嵌入式岗位的要求上9成以上是要求有linux基础,但是正如楼上的仁兄说的 C 是最基础的东西,我们公司的招聘考试题目80%是有关C的题目,呵呵说远了。
linux的资料比较多,虽然学起来比较慢一些,但是懂的人也较多,资料也比较丰富,你可以得到的帮助也比较多。所以还是建议从linux开始吧。
另外你说“听说,linux是免费的,vxworks 是收费的”这个概念是这样,linux的开源是指它的kernel是全开源,而vxworks的kernel是要求缴纳授权金的,公司使用vxworks开发产品是要交钱的,所以才有盗版的出现。但是目前国际经济不景气,非常多的软件公司开始查盗版,然后起诉使用盗版的公司用以获得高额罚金。非常不幸我的部门就被查了1起,刚交了35W,晕死~~
‘叁’ 路由器系统vxworks和linux哪个好
tplink的路由器,低端一般都是vxwork的系统,占用低,实时性高,优势主要是占用空间低,搭配的硬件成本就会下降;至于说那个好,如果比专用功能,当然是vxwork更强大,而linux的优势极大的扩展性和资源支持,市面上的一般中高端路由器都是linux为主。
且不论系统,这个和用户也关系不大,tp-link家用路由器并没有很多的功能;WDR6500采用的芯片性能比WDR5660高一档次,无线性能强不少,供参考。
长远考虑建议楼主看看WDR6500千兆版,千兆端口更适合目前100M及以上的宽带。
‘肆’ linux和VxWorks做哪个对个人更有发展前途
现在基本上都是linux吧,毕竟开源。如果对内核研究很深的话,走哪都会很吃香。
vxworks是个封闭系统,你只能根据他给的api做一些上层的东西,内核和驱动方面的东西修改起来很困难。
‘伍’ Linux或Vxworks下大量调用sendto时,sendto失败,原因为 Level 2 ha
因为
linux任务可以排队
vxworks任务几乎不排队
俩任务时钟都不统一
‘陆’ linux和vxworks的区别
1.VxWorks 是美国 Wind River System 公司( 以下简称风河 公司 ,即 WRS 公司)推出的一个实时操作系统。Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似Microsoft Visual C,但是提供了更丰富的调试、仿真环境和工具。
嵌入式Vxworks系统的主要应用领域主要有以下几方面: 1.数据网络:如:以太网交换机、路由器、远程接入服务器等 2.远程通讯:如:电信用的专用分组交换机和自动呼叫分配器,蜂窝电话系统等 3.医疗设备:如:放射理疗设备 4.消费电子:如:个人数字助理等 5.交通运输:如:导航系统、高速火车控制系统等 6.工业:如:机器人 7.航空航天:如:卫星跟踪系统 8.多媒体:如:电视会议设备 9.计算机外围设备:如:X终端、I/O 系统等 总之,VxWorks的系统结构是一个相当小的微内核的层次结构。内核仅提供多任务环境、进程间通信和同步功能。这些功能模块足够支持VxWorks在较高层次所提供的丰富的性能的要求。
2.Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最着名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。
Linux的应用
过去,Linux主要被用作服务器的操作系统,因为它的廉价、灵活性及Unix背景。传统上,以Linux为基础的“LAMP(Linux, Apache, MySQL, Perl/PHP/Python的组合)”技术,除了已在开发者群体中广泛流行,它亦是现时提供网站服务供应商最常使用的平台。 基于其低廉成本与高度可设置性,Linux常常被应用于嵌入式系统,例如机顶盒、移动电话及移动装置等。在移动电话上,Linux已经成为Symbian OS的主要竞争者;而在移动装置上,则成为Windows CE与Palm OS外之另一个选择。目前流行的TiVo数码摄影机使用了经过客制化后的Linux。此外,有不少硬件式的网络防火墙及路由器,例如部份LinkSys的产品,其内部都是使用Linux来驱动、并采用了操作系统提供的防火墙及路由功能。 采用Linux的超级电脑亦愈来愈多,根据2008年11月的TOP500超级电脑列表,现时世上最快速的超级电脑使用Linux作为其操作系统。而在表列的500套系统里,采用Linux为操作系统的,占了439组(即87.8%)。 2006年开始发售的SONY PlayStation 3亦可使用Linux的操作系统,它有一个能使其成为一个桌面系统的Yellow Dog Linux。之前,Sony亦曾为他们的PlayStation 2推出过一套名为PS2 Linux的DIY组件。Ubuntu自9.04版本,恢复了PPC支持(包括PlayStation 3)。 而随着OLPC的XO-1,华硕的Eee PC等低价电脑的推行,许多人乐观的认为在低端PC市场,linux的市场占有率正在快速的增长。但在Windows进入此一市场后,Linux的市占率快速下滑。现在Windows系统在所有的PC市场中,都占有绝对优势。
‘柒’ 学习VxWorks系统,如何入门相比Linux,它有何优势
首先linux操作系统现在已经应用于大多数的网络设备上,学习linux系统后,对网络设备的调控更加得力。 其次linux系统是开源的,大多数网络服务器都是使用linux系统的,帮助肯定很大。
‘捌’ Linux,vxworks,wince嵌入式有什么区别和联系
linux,vxworks,wince均是可以用于嵌入式领域的操作系统,其功能跟PC上的windows
xp之类的作用类似,均是为了方便管理硬件和软件而使用的。
而ARM,是一家公司的名称,也是一大类型微控制器/微处理器的统称(均是以ARM公司提供的CPU核为基础开发)。在ARM之外,还有MIPS,PowerPC等几种类型的CPU用在嵌入式领域,你可以把它们看作是PC平台的CPU,只是它们的使用领域不是桌面电脑而已,并集成了很多功能模块。
所以你的问题的回答:
1,有脱离ARM的,比如说在MIPS上开发做产品,也是属于嵌入式,嵌入式LINUX可以移植到MIPS上;WINCE和VXWORKS也是一样。为什么我们听说ARM会比较多,那是因为它的推广工作做得好,价格功耗有优势,国际上的知名的半导体大厂都有使用了ARM内核的产品,所以可以说是百花齐放的一个程度。
2,嵌入式开发基本上使用C,也可以用C++但很少用。在涉及到底层(硬件)部分,有需要用到少量的汇编(当然汇编格式与所使用的CPU类型有关).
3,在这个问题里,ARM是一个CPU,一个产品除了CPU外,还有别的部件,比如说温度传感器,各种通讯接口,这些都是硬件的东西,是实实在在的芯片构成的。假如这个产品不复杂,但又用了ARM,一样可以不使用操作系统,直接用普通写法的程序去控制硬件(业内通俗说法叫:裸奔);但是当这个产品的功能很复杂,又用了以太网,又用了界面,又用了很多高级的硬件,比如说智能手机,那么它就需要一个嵌入式的操作系统去控制手机,这样对于手机来说,产品的开发速度会加快,而且维护也相对容易,改进时的修改工作量也较少。你在市面上见到的大部分智能手机都是基于WINDOWS
MOBILE系统的,当然NOKIA的SYMBIAN也属于嵌入式操作系统,只是其是专用于手机,还有少部分的智能手机比如MOTO的部分智能手机就是用的嵌入式LINUX的系统。
所以,对于一个较复杂的产品,工程师是各司其职,有专门负责硬件电路部分的,有专门去修改操作系统的驱动的,有专门去编写上层的应用软件的,这样就有了嵌入式硬件工程师,嵌入式软件工程师之分了,很多中小公司很多工作都是一人做完的,所以分类就不是那么细了。
4,这个问题3中已经回答了一部分,跑上操作系统的,基本上都是你说的那样划分的,因为每一部分的工作都比较复杂,所以最好专人负责各自的部分,这样项目进度才能保证.
其实你问的这些,书上网上都有的,搜一搜就有了~~~~
‘玖’ vxworks系统能像linux那样有系统盘直接安装吗在哪里下载
vxworks由于是嵌入式系统,并不能支持普通PC的那么多设备,所以直接装不太现实,不过可以使用虚拟机安装X86版。
提供一篇资料在VmWare里运行VxWorks的方法,供参考,里面也有镜像文件的下载地址:
http://www.vxdev.com/html/44/624.htm
‘拾’ 如何将系统从Vxworks平台移植到linux平台
我做过Linux到vxWorks的移植,难易程度,取决于应用的可移植性和底层I/F的使用情况
个人觉得,从Linux到vxWorks比较简单,反过来会难一些。(主要是内存管理,task/进程线程等的差异较大)
主要需要考虑以下内容:
数据类型
ByteOrder
系统函数(内存管理,ByteOrder转换,字符串处理,标准输入输出,Timer,Semaphore等)
驱动程序访问的I/F(地址的转换:vxWorks单一内存空间,内存访问,DMA,PCI,中断相关,排他处理等)
进程线程/task的管理
Makefile
几句话很难概括,具体到项目也会有很大区别,祝顺利