『壹』 vxworks 6.6 wftp32 下載vxworks後輸入ugldemo命令無法進入
我就是用USB盤起運DOS,再用vxload去啟動Vxworks,這些命令都沒問題,我在VMware上都試過了.但到實機下邊就不可以,問題一定出在硬體與軟體的相容性.但我是初學都,對問題的定位要細化下去就要花半個多月的時間看底層代碼,有沒有做過的,高手給指點一下.請高手也略說明一下,所給方案的原由,這些天我也在網上看了,core2CPU也是X86架構的,在不啟用多核功能時,應當和單核的編程模型是一樣的,console能打出字說明,單個CPU的初始化沒問題,是VXwork為適應多核做了CPUprobe?如果有bootrom時vxwork要初始化雙核,但這時給出了不正確的CPU(VXworks6.6試用版好似只能用Pentium雙核的),這時bootrom的代碼就可能死了.現在我最想知道,這有沒有我分析的代碼,這些代碼在什麼地方.Vxworks還是有版權啊,源碼分析也沒有多少本書.
『貳』 什麼是vxworks
vxworks
VxWorks 是美國 Wind River System 公司( 以下簡稱風河 公司 ,即 WRS 公司)推出的一個實時操作系統。Tornado 是WRS 公司推出的一套實時操作系統開發環境,類似Microsoft Visual C,但是提供了更豐富的調試、防真環境和工具。
VxWorks操作系統有以下部件組成:
內核(wind):
多任務調度(採用基於優先順序搶占方式,同時支持同優先順序任務間的分時間片調度)
任務間的同步
進程間通信機制
中斷處理
定時器和內存管理機制
I/O 系統
VxWorks 提供了一個快速靈活的與 ANSI C 兼容的 I/O 系統,包括 UNIX 標準的Basic I/O(creat(), remove(), open(),close(), read(), write(), and ioctl().),Buffer I/O (fopen(), fclose(), fread(), fwrite(), getc(), putc()) 以及POSIX 標準的非同步 I/O。VxWorks 包括以下驅動程序:網路驅動、管道驅動、RAM盤驅動、SCSI驅動、鍵盤驅動、顯示驅動、磁碟驅動、並口驅動等
文件系統
支持四種文件系統: dosFs,rt11Fs,rawFs 和 tapeFs
支持在一個單獨的 VxWorks 系統上同時並存幾個不同的文件系統。
板級支持包 BSP(Board Support Package)
板級支持包向VxWorks操作系統提供了對各種板子的硬體功能操作的統一的軟體介面,它是保證VxWorks操作系統可移植性的關鍵,它包括硬體初始化、中斷的產生和處理、硬體時鍾和計時器管理、局域和匯流排內存地址映射、內存分配等等。 每個板級支持包括一個 ROM 啟動(Boot ROM)或其它啟動機制。
網路支持:
它提供了對其它VxWorks系統和TCP/IP 網路系統的"透明"訪問,包括與BSD套接字兼容的編程介面,遠程過程調用(RPC),SNMP(可選項),遠程文件訪問(包括客戶端和服務端的NFS機制以及使用RSH,FTP 或 TFTP的非NFS機制)以及BOOTP 和代理ARP、DHCP、DNS、OSPF、RIP。無論是松耦合的串列線路、標準的乙太網連接還是緊耦合的利用共享內存的背板匯流排,所有的 VxWorks 網路機制都遵循標準的 Internet 協議。
系列網路產品:
WindNet SNMP
WindNet STREAMS
WindNet 第三方產品,包括 OSI、SS7、ATM、Frame Relay、CORBA、ISDN、X.25、
CMIP/GDMO、分布式網路管理等。
這些產品擴展了VxWorks的網路特性,並增強了嵌入式處理器的網路特性
虛擬內存( VxVMI)與共享內存(VxMP)
VxVMI 為帶有 MMU 的目標板提供了虛擬內存機制。
VxMP 提供了共享信號量,消息隊列和在不同處理器之間的共享內存區域。
目標代理(Target Agent)
目標代理遵循 WBD(Wind Debug)協議,允許目標機與主機上的 Tornado 開發工具相連。在目標代理的預設設置中,目標代理是以 VxWorks 的一個任務tWdbTask 的形式運行的。
Tornado 目標伺服器(Target Server)向目標代理發送調試請求。調試請求通常決定目標代理對系統中其它任務的控制和處理。預設狀態下,目標伺服器與目標代理通過網路進行通信,但是用戶也可以改變通信方式。
實用庫
VxWorks 提供了一個實用常式的擴展集,包括中斷處理、看門狗定時器、消息登錄、 內存分配、字元掃描、線緩沖和環緩沖管理、鏈表管理和 ANSI C 標准。
基於目標機的工具
在 Tornado 開發系統中,開發工具是駐留在主機上的。但是也可以根據需要將基於目標機的Shell 和裝載卸載模塊加入 VxWorks。
總之,VxWorks的系統結構是一個相當小的微內核的層次結構。內核僅提供多任務環境、進程間通信和同步功能。這些功能模塊足夠支持VxWorks在較高層次所提供的豐富的性能的要求。
『叄』 請教vxworks讀寫文件
用系統自帶的ring buffer,把數據扔進去,等到必要的時候將數據讀出來上傳host
2. 建立虛擬內存檔,綁接dos文件系統,直接用標准io介面讀寫文件,使用dos命令給傳到host上
3. 通過ftp網路直接讀寫host目錄
4. 通過tgtsvr file system讀寫host目錄
『肆』 請教VxWorks嵌入式系統上應用程序文件讀寫操作
1. 用系統自帶的ring buffer,把數據扔進去,等到必要的時候將數據讀出來上傳host
2. 建立虛擬內存檔,綁接dos文件系統,直接用標准io介面讀寫文件,使用dos命令給傳到host上
3. 通過ftp網路直接讀寫host目錄
4. 通過tgtsvr file system讀寫host目錄
『伍』 如何掛接到vxworks的tty系統
准備工作
我們假設您有一台普通配置的PC機,並安裝了Windows2000操作系統。其次您需要安裝Tornado 2.2 for pcPentium開發環境。預設安裝的Tornado 2.2 for pcPentium可能不包括pcPentium的BSP組件,但該組件可以從風河公司(Windriver)的網站免費下載。
我們將在下文以WIND_BASE引用Tornado的安裝路徑。
其次是要安裝VMWare軟體,這里我們使用4.0的版本。如果您還沒有該軟體,也可以從VMWare的網站下載試用版。
最後,由於Tornado自帶的PC-NET網卡驅動有問題,所以需要下載AMD的PC-NET網卡的VxWorks系統驅動,可以從AMD網站免費下載。
一張1.44M的軟盤,用於製作系統引導盤。
准備並安裝好以上軟體後,就可以開始下一步的工作了。
開始安裝
編譯網卡驅動程序
VMWare為運行於其上的操作系統提供虛擬網卡支持,該網卡類型即為AMD的PC-NET。實際上,在Tornado開發包中已經包含了該類型網卡的驅動程序,但經過測試,對於VMWare無法正常工作,所以您需要從AMD的網站下載最新的驅動程序。
下載得到的是一個可執行的安裝程序,運行該程序將得到一個壓縮包和一個幫助文件,按照該幫助的要求,將壓縮包直接釋放到Tornado目錄下。如果提示是否允許覆蓋文件,則選擇允許。
此後按如下步驟完成驅動程序的編譯和替換:
打開一個控制台窗口,運行批處理程序:$(WIND_BASE)\host\x86-win32\bin\ torVars.bat;
重新定位到$(WIND_BASE)\target\src\drv\end目錄,運行:
make CPU=PENTIUM tool=gnu ln97xend.o
其間會產生一些警告,但這不會影響我們的工作。
重新定位到$(WIND_BASE)\target\lib\pentium\PENTIUM\common目錄,並將上一步生成的文件ln97xend.o復制到此目錄下。備份此目錄下的文件libdrv.a;
運行命令arpentium -d libdrv.a ln97xEnd.o,刪除libdrv.a中原有的ln97xEnd模塊,然後再運行命令:
arpentium -ra iOlicomEnd.o libdrv.a ln97xEnd.o
將我們剛剛創建的新模塊添加進去。
到此有關網卡驅動的設置就完成了。注意不要關閉這個窗口,後面還要使用。修改配置文件
在這一節中,我們要修改編譯VxWorks的配置頭文件Config.h中定義的一些參數,使編譯出來的系統引導程序和VxWorks的映象符合我們的要求;同時還要修改sysLn97xEnd.c這個文件,以使系統的網路功能正常運行。
定位目錄到$(WIND_BASE)\target\config\pcPentium並打開該目錄下Config.h文件;
我們首先要修改VxWorks的啟動參數。先查找到定義DEFAULT_BOOT_LINE宏的地方,修改預處理條件CPU == PENTIUM分支下的定義如下:
#define DEFAULT_BOOT_LINE \
"lnPci(0,0)your_host_name:d:\\vxWorks h=192.168.80.169 e=192.168.80.254 u=target pw=vxworks tn=target"
其中:
lnPci(0,0)指定了使用第0個網卡和第0個處理器,lnPci這個標識會因為使用的驅動程序不同而有所不同,但這里用lnPci就可以了;
your_host_name指定您的主機的名字,使用Windows系統的主機名就可以;
d:\\vxWorks指定了VxWorks映象下載的完整路徑;
h=192.168.80.169是主機的IP地址,就是您當前正在使用的系統的IP地址;
e=192.168.80.254是目標機的IP地址,也就是未來VxWorks操作系統的IP地址,您只要任意指定一個不沖突的IP地址即可,這里我們假設您的目標機IP地址和主機IP地址在同一個網段內;
u=target指定了FTP伺服器的用戶名,這個FTP就是用來下載VxWorks映象的,後面還會提到;
pw=vxwroks是用戶名對應的口令;
tn=target指定目標機的名字,任意指定即可;
您可以參考Tornado自帶的手冊以獲取更多信息;
下面我們要指定使用什麼樣的網卡驅動程序。首先查找「Network driver options」這段文字,之後您可以看到在該注釋後面定義了一系列的有關網卡驅動的宏定義。注意保證INCLUDE_END和INCLUDE_LN_97X_END這兩個宏處於定義狀態(define),其他的宏都處於未定義狀態(undef);
預設情況下,VxWorks系統是不接受外部輸入設備(如鍵盤)的輸入,也不向外部輸出設備(如顯示器)輸出數據。為了便於調試,我們必須改變它的這種預設狀態。我們查找定位宏INCLUDE_PC_CONSOLE,然後保證其處於定義狀態(define)即可;
到此為止,對config.h文件的修改就完成了,保存修改,然後再打開同一目錄下的sysLn97xEnd.c文件;
這一步修改的目的是要使網卡正常工作。我們先定位到「memory-mapped IO base」這段文字,然後將其前面的參數由pciRsrc[endUnit].bar[1]修改為NONE,這樣就可以了。最後別忘了保存。
到此為止,全部的修改工作都完成了,下一步就可以開始編譯連接了。編譯程序
這一節我們要編譯生成bootrom引導程序和VxWorks運行映象。
打開您的Tornado開發工具,在Build菜單下選擇Build Boot ROM,彈出如下對話框:
在BSP列表中選擇pcPentium,而在Image to build列表中分別選擇bootrom和gnu。完成選擇後,點擊OK按鈕就開始引導程序的編譯了。編譯產生的文件bootrom將保存在$(WIND_BASE)\target\config\pcPentium目錄下。
編譯生成bootrom後,還要創建一個VxWorks映象(image),也就是VxWorks操作系統本身的代碼。
創建一個「bootable VxWorks image」的工程;
選擇您需要的VxWorks組件。這一步是可選的,如果您只想使用預設的配置,那根本就不需要這一步;但如果您想使用額外的組件,例如,您可能想通過telnet連接VxWorks系統,這時就需要在Workspace窗口的VxWorks選項卡中選擇telnet sever對應的組件,如下圖:
在這個例子中我們選擇了兩個重要的組件:Telnet server 和 Target shell 。前者使我們可以通過Telnet協議登錄到VxWorks操作系統中;後者則可以讓我們通過命令行控制VxWorks系統。
完成選擇後,即可開始編譯程序;
到此我們已經生成了VxWorks的系統引導程序和運行時的代碼映象。這里還要提醒讀者,在您每次修改完系統的配置信息(如:config.h)後,都要重新創建一個工程來編譯VxWorks映象,以免出現代碼不一致的問題。
將生成的名為「vxworks」的文件復制到D盤根目錄下。這個路徑是由上面我們所設置的DEFAULT_BOOT_LINE宏中的路徑參數決定的,必須保持二者一致。
製作引導磁碟
現在開始製作VxWorks系統引導磁碟,用於引導裝載VxWorks運行映象。
我們回到「編譯網卡驅動程序」一節中所打開的控制台窗口,定位目錄到$(WIND_BASE)\target\config\pcPentium,插入您已經格式化好的軟盤,然後運行:
mkboot a: bootrom
該命令將在軟盤上建立VxWorks系統引導分區,並將引導程序復制到軟盤上。
這里再額外向您介紹一個虛擬軟盤的工具:RamDiskNT,它可以在內存中建立一個虛擬的軟盤,對於提高VxWorks的啟動速度有很大幫助。配置FTP伺服器
這里的FTP伺服器用於在系統成功引導後,下載VxWorks的運行時映象。我們這里使用Tornado開發環境自帶的FTP伺服器。
打開Tornado FTP Server,選擇「Security」菜單下的「Users/Rights」子菜單,彈出如下對話框:
當User Name為「target」時,修改「Home Directory」為D盤根目錄(此路徑由上面的DEFAULT_BOOT_LINE參數決定),同時修改口令為「vxworks」,最後點擊「Done」按鈕完成修改;
為了便於調試,我們還要打開FTP Server的日誌功能。選擇「Logging」菜單下的「Logging Options」子菜單,彈出如下對話框,其中除了「Winsock Calls」外,讓其他選項全都處於開啟狀態。
保持FTP Server窗口處於打開狀態(這樣FTP伺服器就處於運行狀態)。
創建VxWorks系統
打開您的VMWare Workstation,在File->New菜單下選擇創建一個新的虛擬機(Virtual Machine),按照其向導幫助,完成虛擬機的配置。在選擇操作系統類型時,選擇「Other」,其餘選項均使用預設值就可以了。
完成以上配置後,點擊右側窗口中的「Start this virtual machine」,系統即開始引導運行,如下圖所示:
在引導過程中,您會遇到一個7秒鍾的等待,以決定是使用預設的引導參數,還是手動輸入引導參數。這里我們選擇前者,所以不需要做任何工作。
成功引導後,系統會自動從FTP Server下載映象,並開始運行,得到如下畫面:
到此,我們已經成功的在VMWare上安裝了VxWorks操作系統。
需要注意的是,上面的畫面會因為選擇組件的不同而略微有所不同(例如,如果您沒有選擇target shell,就不會出現命令行提示符),但一般不會影響後續操作。
配置聯機調試環境
裝好系統後,您肯定還希望將自己編寫的應用程序下載到目標機進行調試,下面我們就完成這一部分的配置工作。
打開您的Tornado開發環境,選擇「Tools->Target Server->Configure」菜單,彈出如下對話框:
在「Description」中任意填寫一個名字,這里是「net00」;在「Available Back」中選擇「wdbrpc」,並在下面的IP地址框中填寫目標機的IP地址,這里是「192.168.80.254」(由DEFAULT_BOOT_LINE參數決定);將「Target Server Properties」下拉框更改至「Core File and Symbols」,並在「File Path」一項中選擇您的映象的完整路徑,這里是「D:\vxWorks」(由DEFAULT_BOOT_LINE參數決定)。
完成以上兩項配置,點擊「Launch」按鈕,就可以啟動Target Server了。
再回到Tornado開發環境,在工具條上的Target Server下拉框列表中選擇「192.168.80.254@your_host_name」。這時您會發現工具條中一些原先處於「禁用」狀態的工具按鈕,現在都已經處於「激活」狀態了。
現在您就可以開始聯機調試您的VxWorks應用程序了。
『陸』 vxworks系統下的目標機怎樣從硬碟啟動
假設你已生成了bootrom.sys文件及vxworks鏡像。
一、在dos下格式化硬碟為fat32或fat16,並用vxworks開發軟體帶的vxsys.com將引導信息寫入硬碟,命令為vxsys c:
二、在主機端假設ftp伺服器,然後啟動目標機即可。
『柒』 vxworks 6.8/6.9怎麼配置FTP Server
ftp伺服器在vxworks6.8下面的配置
1. 選擇"Network Components"->"Network Applications"->"FTP components"->"FTP Server"組件。
2. "FTP initial directory"項,必須設置為有效的文件目錄,比如"/nand"。
在vxworks啟動時,這個目錄必須要在usrAppInit裡面自動載入。
3. 如果不需要密碼認證,設置"Install FTP server callback routine"為TRUE,編寫以下空函數:
int ftps_auth_func(void *session, char *password)
{
return 0;
}
並設置"Authentication callback routine"為ftps_auth_func。
4. 如果需要密碼認證,選擇"Network Authentication Components"->"IPCOM authentication configurations"組件,並選擇至少一組"Auth configuration"項。
"user name" 設置用戶名,比如"ftp"。
"Password" 設置密碼,比如"123456"。
注意,填寫以上數值時,輸入框裡面的內容必須加雙引號。
在這里設置的用戶密碼項,在其他需要認證的服務里也可以用,比如telnet server。
『捌』 在windows中使用超級終端連接上Vxworks系統,如何將文件復制到windows系統中
超級終端無法復制文件,只是一個交互命令的界面。如果需要從Vxworks系統上復制文件,需要改系統上有相應的服務端程序支持客戶端的文件操作。最簡單的是FTP方式,需要Vxworks系統里包含FTP服務端模塊,在WIndows上啟動一個FTP的客戶端登錄即可訪問VxWorks系統下的文件
『玖』 怎樣用ftp向vxworks中傳送文件
樓主的意思在在兩台計算機之間傳輸數據吧,如果只是傳數據,使用共享文件夾就可以!方法如下:
1。在我的電腦D盤,建立一個文件夾D:/share
2。在share文件夾上點右鍵,選擇共享,找到「網路共享和安全」,勾選「在網路上共享這個文件夾」項
3。查看下本機的IP(如:192.168.1.23)或是計算機名(pc1),
4。在另一台計算機上,當然得保證在同一網段,打開我的電腦,在地址欄輸入開啟共享機的IP地地址如:\\192.168.1.23,如果共享成功,就可以看到share文件夾,就可以相互傳文件了
另外如果使用FTP的話,其實不能叫傳文件,這個方法實際是建立一個FTP伺服器,然後讓客戶機去訪問FTP伺服器,從FTP上下載文件到本地計算機,當然這個的目的,也是為了實現文件交換。方法如下:
1。上網下載FTP伺服器軟體,如cuteFTP或是Home FTP(推薦,主要是配置簡單易用),或是直接在操作系統上安裝IIS伺服器(這個只能是windows系統)然後應用IIS的FTP功能也可以實現FTP,當然也可以用其它的FTP伺服器;這里以HOME FTP Server為例講解
2。安裝下載好的HOME FTP伺服器,安裝好之後進行配置
2。1 點擊設置,可以配置匿名用戶,指定目錄,即FTP文件伺服器目錄(如:D:\FTPRoot),也可以配置虛擬目錄,配置後可以將其它盤(F:\share)的目錄虛擬到FTPRoot下,而可以獲得FTPRoot的許可權;這個伺服器就這點最精典
2。2 點擊新增成員,可以添加新用戶,即非匿名用戶,可以配置許可權和虛擬目錄;
2。3 配置好之後點擊開始服務啟動FTP伺服器
2。4 查看伺服器(裝有FTP軟體的計算機)的IP地址如:192.168.1.23
3。在客戶機,打開我的電腦,在地址欄輸入ftp://192.168.1.23 如果配置成功,即可以訪問FTP伺服器,如果開啟文件上傳許可權,可以上傳或下載文件
3。1 當然也可以下載一個FTP伺服器客戶端工具,即可以訪問
3。2注意:如果沒安裝FTP客戶端,使用非匿名用戶訪問時要用到帳號和密碼,格式為:
ftp://用戶:密碼@伺服器IP
如:ftp://admin:[email protected]
登陸後,獲得admin用戶的所有許可權
如題,rar壓縮不了,提示系統資源不足。。。請高手指點