Tornado學(xué)習(xí)筆記
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一、get start
1. Tornado是一個(gè)集成開發(fā)環(huán)境,主要用來(lái)開發(fā)實(shí)時(shí)嵌入式系統(tǒng)程序
包含以下組件:vxworks實(shí)時(shí)操作系統(tǒng)(用來(lái)運(yùn)行實(shí)時(shí)嵌入式程序)、開發(fā)工具(用來(lái)測(cè)試,計(jì)時(shí)和調(diào)試)、網(wǎng)絡(luò)(任務(wù)間通信,訪問(wèn)遠(yuǎn)程文件,執(zhí)行遠(yuǎn)程命令或功能,通過(guò)網(wǎng)絡(luò)啟動(dòng))
2. Tornado開發(fā)工具
Launch: launch browser/shell/debugger/simulator/windview/trigger
WindSh:與目標(biāo)機(jī)進(jìn)行交互,CrossWind:源碼級(jí)調(diào)試器,Browser:顯示系統(tǒng)信息,Project Facility:配置VxWorks或者應(yīng)用程序,WindView:分析多任務(wù)程序,Simulator:在host操作系統(tǒng)上模擬VxWorks目標(biāo)機(jī)
3. Tornado可以通過(guò)TCL來(lái)定制?yes!
4. 實(shí)時(shí)系統(tǒng):內(nèi)核+內(nèi)存管理+文件系統(tǒng)+IO系統(tǒng)+設(shè)備驅(qū)動(dòng)+網(wǎng)絡(luò)協(xié)議棧;內(nèi)核必須,其他作為庫(kù)按照需要添加
5. 實(shí)時(shí)操作系統(tǒng)使得應(yīng)用程序能夠滿足嚴(yán)格時(shí)間限制的要求。
6. 多任務(wù)內(nèi)核包括:實(shí)時(shí)調(diào)度(基于優(yōu)先級(jí)的搶占式調(diào)度),任務(wù)間通信,互斥。與非實(shí)時(shí)系統(tǒng)不同之處:基于優(yōu)先級(jí)搶占式調(diào)度,快速,系統(tǒng)小并且可裁減(微內(nèi)核架構(gòu))
7. 所有任務(wù)運(yùn)行于公共地址空間,所有任務(wù)運(yùn)行于特權(quán)模式
Unix/NT下,調(diào)用同一段代碼時(shí),每個(gè)進(jìn)程都單獨(dú)存放data和bss,共享text
VxWorks下,調(diào)用同一段代碼時(shí),所有進(jìn)程訪問(wèn)同一塊物理內(nèi)存中的text/bss/data段
8. 內(nèi)存運(yùn)行于公共地址空間:任務(wù)間通信更簡(jiǎn)單;上下文切換速度更快(不需要保存虛擬地址信息);一個(gè)任務(wù)崩潰可能影響到其他任務(wù)。
所有任務(wù)運(yùn)行于特權(quán)模式:沒(méi)有系統(tǒng)調(diào)用的開銷。All VxWorks facilities are invoked as normal subroutines.
9. 交叉開發(fā)環(huán)境:編碼和編譯在host上(采用Project facility或者通過(guò)命令行編輯,編譯,assembling,鏈接。源碼管理。),使用Tornado host上的工具對(duì)target進(jìn)行測(cè)試和調(diào)試(載入、執(zhí)行、源碼級(jí)調(diào)試、性能監(jiān)測(cè))
10.典型開發(fā)周期包括主機(jī)上反復(fù)編碼和調(diào)試,下載到目標(biāo)機(jī),對(duì)代碼進(jìn)行測(cè)試然后再在主機(jī)上進(jìn)一步修改代碼。
11.P23 $dev (0,procnum) host:/file h=# e=# b=# g=# u=usr [pw=passswd] f=# tn=targetname s=script o=other
b?gateway inet (g)?startup script (s)?o初始化另外一個(gè)設(shè)備,比如vxworks中沒(méi)加該模塊時(shí)可以通過(guò)該選項(xiàng)初始化
12.
[VxWorks boot]: @
boot device : ei
unit number : 0
processor number : 0
host name : wolverine
file name : c:\tornado2\target\config\mv162\vxWorks
inet on ethernet (e) : 147.11.12.204:ffffff00
host inet (h) : 147.11.12.165
user (u) : todd
ftp password (pw) : covert
flags (f) : 0x8
target name (tn) : t12-204
Attached TCP/IP interface to ei0.
Attaching network interface lo0... done. 如果未出現(xiàn)這句done,檢查是否使用了正確的網(wǎng)絡(luò)接口fei?ip?
Loading... 424504 + 29664 + 29404未完成,檢查網(wǎng)線的連接
Starting at 0x20000...檢查VxWorks映象是否正確
Attached TCP/IP interface to ei unit 0
Attaching network interface lo0... done.
NFS client support not included.
VxWorks
Copyright 1984-1998 Wind River Systems, Inc.
CPU: Motorola MVME162
VxWorks: 5.4
BSP version: 1.2/0
Creation date: Apr 17 1999
WDB: Ready.
13.abort button on board在mv5100板上?yes!
14.build property-C/C++ compiler
-O0 No optimization
-g Source debugging support
-ansi ANSI function declarations and prototypes
-m68040 Generate output for a MC68040
-nostdinc Don’t use usual UNIX include directories
-fvolatile Variables referenced through pointers assumed volatile
-fno-builtin Don’t use compiler built-in functions
-I dirName Location of header files
-DCPU=... Preprocessor definition of CPU type