Tornado学习笔记
扫描二维码
随时随地手机看文章
一、get start
1. Tornado是一个集成开发环境,主要用来开发实时嵌入式系统程序
包含以下组件:vxworks实时操作系统(用来运行实时嵌入式程序)、开发工具(用来测试,计时和调试)、网络(任务间通信,访问远程文件,执行远程命令或功能,通过网络启动)
2. Tornado开发工具
Launch: launch browser/shell/debugger/simulator/windview/trigger
WindSh:与目标机进行交互,CrossWind:源码级调试器,Browser:显示系统信息,Project Facility:配置VxWorks或者应用程序,WindView:分析多任务程序,Simulator:在host操作系统上模拟VxWorks目标机
3. Tornado可以通过TCL来定制?yes!
4. 实时系统:内核+内存管理+文件系统+IO系统+设备驱动+网络协议栈;内核必须,其他作为库按照需要添加
5. 实时操作系统使得应用程序能够满足严格时间限制的要求。
6. 多任务内核包括:实时调度(基于优先级的抢占式调度),任务间通信,互斥。与非实时系统不同之处:基于优先级抢占式调度,快速,系统小并且可裁减(微内核架构)
7. 所有任务运行于公共地址空间,所有任务运行于特权模式
Unix/NT下,调用同一段代码时,每个进程都单独存放data和bss,共享text
VxWorks下,调用同一段代码时,所有进程访问同一块物理内存中的text/bss/data段
8. 内存运行于公共地址空间:任务间通信更简单;上下文切换速度更快(不需要保存虚拟地址信息);一个任务崩溃可能影响到其他任务。
所有任务运行于特权模式:没有系统调用的开销。All VxWorks facilities are invoked as normal subroutines.
9. 交叉开发环境:编码和编译在host上(采用Project facility或者通过命令行编辑,编译,assembling,链接。源码管理。),使用Tornado host上的工具对target进行测试和调试(载入、执行、源码级调试、性能监测)
10.典型开发周期包括主机上反复编码和调试,下载到目标机,对代码进行测试然后再在主机上进一步修改代码。
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初始化另外一个设备,比如vxworks中没加该模块时可以通过该选项初始化
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. 如果未出现这句done,检查是否使用了正确的网络接口fei?ip?
Loading... 424504 + 29664 + 29404未完成,检查网线的连接
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