TORNADO环境下的命令行编译文件
winform 调用命令行 编译 项目
Winform 调用命令行编译项目简介在开发Winform应用程序时,我们通常会使用Visual Studio等集成开发环境(IDE)来进行项目的编译和调试。
但有时候我们可能需要通过命令行来编译项目,以便自动化构建或集成到其他工具中。
本文将介绍如何使用命令行来编译Winform项目。
准备工作在开始之前,我们需要确保以下几个条件已经满足:1.安装了.NET Framework:Winform项目是基于.NET Framework开发的,因此需要确保已经安装了相应版本的.NET Framework。
2.安装了Visual Studio:虽然我们将使用命令行来编译项目,但是我们仍然需要安装Visual Studio,因为它提供了编译器和其他一些必要的工具。
3.设置环境变量:为了方便使用命令行,我们需要将相关的工具路径添加到系统的环境变量中。
使用命令行编译Winform项目下面是使用命令行编译Winform项目的步骤:1. 打开命令行工具首先,我们需要打开命令行工具。
在Windows系统中,可以通过按下Win键+R,然后输入cmd来打开命令提示符。
2. 切换到项目目录在命令行中,首先需要切换到Winform项目的根目录。
可以使用cd命令来切换目录,例如:cd C:\path\to\project请将上述命令中的C:\path\to\project替换为实际的项目路径。
3. 使用MSBuild编译项目在项目目录下,我们可以使用MSBuild工具来编译Winform项目。
MSBuild是微软的构建工具,它可以根据项目文件(.csproj)来进行编译。
以下是使用MSBuild编译项目的命令:msbuild YourProject.csproj /t:Build /p:Configuration=Release请将上述命令中的YourProject.csproj替换为实际的项目文件名。
4. 查看编译结果编译完成后,可以在命令行中查看编译结果。
Windows 10 编译 hadoop详细步骤
Windows10下Hadoop一、下载相关软件包JDK 1.8Hadoop2.7.3 可使用JDK1.8或1.7Hadoop2.6.5用JDK1.7,1.8报错Maven 3.3.9下载地址:https:///download.cgiFindbugs 1.3.9下载地址:https:///projects/findbugs/files/findbugs/1.3.9/ProtocolBuffer 2.5.0(两个文件protobuf-2.5.0.zip 、protoc-2.5.0-win32.zip )下载地址:https:///google/protobuf/releases/tag/v2.5.0Cmake 3.7.1(cmake-3.7.1-win64-x64.zip)下载地址:https:///download/Visual Studio 2015 Professional Update 3Zlib headers下载地址:/project/libpng/zlib/1.2.8/zlib128.zip GnuWin32 (Git-2.11.0-64-bit)下载地址:https://git-for-windows.github.io/Ant 1.9.8下载地址:/bindownload.cgi二、软件安装1、安装Visual Studio2、Git 安装验证安装成功方法:输入Linux命令ls 即可列出当前文件夹列表3、CMake 安装直接安装运行cmake-3.7.1-win64-x64.msi,采用默认配置即可4、配置环境变量◆配置JAVA_HOME◆配置Maven解压Maven到指定目录(D:\ apache-maven-3.3.9)新建系统变量M2_HOME=D:\apache-maven-3.3.9编辑系统变量Path,新建%M2_HOME%\bin◆Findbugs解压Findbugs到D:\findbugs-1.3.9编辑系统变量Path,新建D:\findbugs-1.3.9\bin◆ProtocolBuffer解压ProtocolBuffer到D:\protobuf-2.5.0\解压protoc-2.5.0-win32.zip,将protoc.exe复制到D:\protobuf-2.5.0\src目录下安装ProtocolBuffer,打开命令行cd D:\protobuf-2.5.0\javamvn testmvn install将protoc.exe所在路径D:\protobuf-2.5.0\src,添加到系统变量Pathprotoc–version验证是否安装成功◆Zlib解压Zlib到D:\zlib-1.2.8新建环境变量ZLIB_HOME=D:\zlib-1.2.8◆Ant解压Ant到D: \apache-ant-1.9.8新建环境变量ANT_HOME=D: \apache-ant-1.9.8Path中加入%ANT_HOME%\bin三、编译准备1、下载Hadoop源码并解压2、用VisualStudio 2015 分别打开,升级项目信息到2015E:\hadoop\hadoop-*-src\hadoop-common-project\hadoop-common\src\main\native\native.sln E:\hadoop\hadoop-*-src\hadoop-common-project\hadoop-common\src\main\winutils\winutils.sln3、E:\hadoop\hadoop-*-src\hadoop-hdfs-project\hadoop-hdfs\pom.xml将其中所有Visual Studio 10替换成Visual Studio 144、开始编译第一步、用管理员身份打开“VS2015 开发人员命令提示”第二步、命令行里面执行批处理"vcvarsx86_amd64.bat"切换进入D:\Program Files\Microsoft Visual Studio 14.0\VC\bin\x86_amd64目录执行vcvarsx86_amd64.bat,如下图:第三步、编译Hadoop切换进入Hadoop源码目录执行命令mvn package -Pdist,native-win -DskipTests–Dtar等待编译,出现如下提示,代表编译成功(maven有些包下不下来,可考虑搞个VPN)编译完成后的包在如下目录中注,hadoop2.6.5编译时会报一个错需修改一个类文件E:\hadoop\hadoop-2.6.5-src\hadoop-common-project\hadoop-annotations\src\main\java\org\apache\had oop\classification\InterfaceStability.java删掉红框部分。
Tornado Shell 命令使用
Tornado Shell 使用指南:Tornado Shell,即WindSh,可以用来下载应用模块、激活VxWorks操作系统和应用程序模块的子程序。
这些功能有许多的用途:查看VxWorks操作系统,交互开发、测试等。
WindSh能够解释绝大多数的C言语表达式;能执行C语言的绝大多数操作。
你可以通过TCL解释器与WindSh交互,TCL提供了一个完整的控制结构,对目标功能提供了更低级的访问,关于TCL语言,可以参见附件2的描述。
WindSh在开发主机上运行,但它能够创建任务,能够读写目标机上的设备,提供对目标机的完全控制。
因为WindSh在开发主机上运行,所以对目标机资源的占用比较少。
与其它的工具一样,只需在目标机上运行target Agent。
WindSh 操作牵系到Tornado开发环境的三个部件。
WindSh是你直接操作的部件,它接收你的命令并在本地执行,发送请求到target server以操作符号表和驻留在目标机上的程序。
Target server 管理符号表并处理所有与远程目标机的通讯,调用发送功能发送回所需的结果。
(尽管符号表包含了对目标机访问的地址,但它全部存储在主机上。
)Target agent 是唯一一个运行在目标机上的部件;它是一个极小的监视程序,提供对目标机内存的访问以及其它功能。
WindSh具有双重功能:作为一个命令解释器通过调用VxWorks的子程序提供对VxWorks功能的访问。
作为一个应用程序的调试工具使你能调用任何的应用程序。
WindSh提供硬件异常的通知。
见下面的系统修改和调试。
WishSh的功能:(1)设定任务级的断点。
(2)任务级的单步调试。
(3)符号的反汇编。
(4)任务和系统的信息。
(5)调用用户程序(6)创建和检查符号变量。
(7)检查和修改内存。
(8)异常的捕获。
使用WishSh:WishSh从输入流中读入一行输入,解释并执行该行的命令,把计算结果写入输出流中。
tornado教程
一.认识Tornado II和VxworksVxWorks是一种嵌入式的实时操作系统,所谓嵌入式系统就是用户自己开发设计板子,板子上通常有一颗CPU,VxWorks支持32位的CPU,包括Intel公司的x86、Motorola 公司的68k和PowerPC、MIPS、ARM、Intel公司的i960、Hitachi公司的SH。
我们设计的板子通常没有软件的自开发能力,所以我们需要一台通用机来辅助开发,这台通用机可以是PC或工作站,我们称辅助我们软件开发的通用机为宿主机(Host),用户自己开发的板子为目标机(Target)。
宿主机上要有一个集成开发环境(IDE)来辅助我们的软件开发,这套集成开发环境可以运行在Windows95/NT或UNIX下,包括交叉编译器(Cross Compiler)和交叉调试器(Cross Debugger),所谓交叉编译器就是在宿主机上编译生成可以在目标机上运行的代码IMAGE,交叉调试器就是通过宿主机和目标机之间的某种耦合方式实现前后台调试。
我们称宿主机上的这套集成开发环境为Tornado,编译生成的目标机上的可执行代码IMAGE为VxWorks。
在系统安装的时候,集成调试环境和VxWorks的原材料(一些obj文件)都安装到宿主机上,编译生成的在目标机上运行的IMAGE内包含操作系统。
二.Tornado II IDE的主要组成Tornado II IDE的主要组成部分有:1.集成的源代码编辑器(可惜不支持汉字输入)。
2.工程管理工具。
3.集成的C和C++编译器和make工具。
4.浏览器,用于收集可视化的资源,*目标系统。
5.CrossWind,图形化的增强型调试器。
6.WindSh,C语言命令外壳,用于控制目标机。
7.VxSim,集成的vxworks目标机仿真器。
8.WindView,集成的软件逻辑分析仪。
9.可配置的各种选项,可以改变归Tornado GUI的外观等。
VxWorks与Tornado介绍
一方面使这些工作不会与操作系统挣抢目 标机上有限的资源
另一方面将它们集成在一个开发环境中以 方便系统系统的开发和调试工作
6.4.2 Tornado的功能特点
Tornado的特点
集成性
集成了编辑、编译、调试、仿真测试、项 目管理等方面的一系列工具
器送来的请求,然后回送执行结果
6.2 VxWorks交叉开发环境构成
2. VxWorks的交叉开发环境
图6-1 (宿)主机与目标机
6.2 VxWorks交叉开发环境构成
主机(Host)
集成开发环境为Tornado 系统安装时,集成调试环境Tornado和
VxWorks操作系统的原材料安装到主机上
如不关心总线类型、内存大小和I/O设备等 基本硬件是由BSP板级支持包驱动 客户定制硬件可由应用程序驱动
6.3.3 VxWorks的外挂基本模块组件
VxWorks提供的外挂基本模块组件包括 I/O系统 文件系统 网络系统 加载调试等开发工具组件 POSIX接口等兼容性组件等
6.3.3 VxWorks的外挂基本模块组件
操作系统的核心
功能
任务的创建与管理、抢占式任务调度、任务 间通信机制、任务的同步与互斥、定时器和 中断处理、内存管理、出错处理等
此外提供符合实时系统标准1006.1b的POSIX 接口,以提高应用程序代码可移植性
6.6.2 VxWorks的内核
特点
采用微内核结构 只关心CPU,对外设不做假设
6.1 VxWorks的产品概况
Network方面的文档
《VxWorks Networking Programmer’s Guide》
Tornado初步
Tornado初步1、概述 VxWorks操作系统的集成环境叫Tornado。
Tornado集成环境提供了高效明晰的图形化的实时应用开发平台它包括一套完整的面向嵌入式系统的开发和调测工具。
Tornado环境采用主机目标机交叉开发模型应用程序在主机的Windows 环境下编译链接生成可执行文件下载到目标机通过主机上的目标服务器Target Server与目标机上的目标代理Target Agent的通信完成对应用程序的调试、分析。
它主要由以下几部分组成 VxWorks高性能的实时操作系统应用编译工具交互开发工具下面对Tornado集成环境的各组件功能分别介绍 Tornado开发环境Tornado是集成了编辑器、编译器、调试器于一体的高度集成的窗口环境同样也可以从Shell窗口下发命令和浏览。
WindConfigTornado系统配置通过WindConfig 可选择需要的组件组成VxWorks实时环境并生成板级支持包BSP的配置。
通过修改config.h可以实现WindConfig的所有功能并且可以实现WindConfig不能实现的功能。
WindSh:Tornado外壳 WindSh是一个驻留在主机内的C语言解释器通过它可运行下载到目标机上的所有函数包括VxWorks和应用函数。
Tornado外壳还能解释常规的工具命令语言TCL。
WindSh不仅可以解释几乎所有的C语言表达式而且可以实现所有的调试功能。
它主要有以下调试功能下载软件模块删除软件模块产生任务删除任务设置断点删除断点运行、单步、继续执行程序查看内存、寄存器、变量修改内存、寄存器、变量查看任务列表、内存使用情况、CPU利用率查看特定的对象任务、信号量、消息队列、内存分区、类复位目标机。
浏览器 Tornado 浏览器可查看内存分配情况、任务列表、CPU利用率、系统目标如任务、消息队列、信号量等。
这些信息可周期性地进行更新。
CrossWind:源码级调试器源码级调试器CrossWind提供了图形和命令行方式来调试可进行指定任务或系统级断点设置、单步执行、异常处理。
Python中的Tornado
Python中的TornadoPython是一种开源的编程语言,在数据分析、科学计算、Web开发等领域得到广泛应用。
随着Web应用程序的日益普及,Web框架变得越来越重要。
Tornado是一种高性能的Web框架,它是用Python编写的,并且在许多大型的Web应用程序中被广泛使用。
Tornado是一个异步的Web框架,它主要用于构建高性能的Web服务器和异步网络应用程序。
它采用了非阻塞的网络I/O,这意味着它可以处理多个连接而不需要使用多线程或多进程。
Tornado还支持协程,这使得它可以在单个进程中处理大量请求。
Tornado最初由FriendFeed开发,但后来被Facebook收购。
现在,Tornado是一个独立的开源项目,它拥有活跃的社区和广泛的用户群体。
在最新的Python版本中,Tornado已经成为了很多Web应用程序的首选框架之一。
Tornado的特点:1.异步I/O: Tornado的异步I/O使它能够处理大量连接,同时不会占用太多的资源。
这对于高并发的Web应用程序非常重要。
相比于传统的多线程或多进程模型,Tornado可以更好地利用CPU和内存资源。
2.高性能: Tornado的性能非常高。
它是用Cython编写的,这使得它比其他Python框架更快。
此外,Tornado的异步I/O模型也是它高性能的重要原因之一。
3.轻量级: Tornado很轻量级,它的代码量非常少,而且它只依赖Python标准库中的一些模块,这使得它的运行非常迅速。
4.易于学习: Tornado的API非常简单,易于学习。
它的文档很详细,而且有很多样例代码可供参考。
5.多协议支持: Tornado支持HTTP、WebSocket等多种协议。
6.多种模板引擎支持: Tornado支持多种模板引擎,包括jinja2、mako等。
7.安全性高: Tornado提供了一些安全性方面的功能,比如XSS防御和CSRF保护等。
Tornado开发环境介绍
2.Tornado核心工具介绍
2.4 WindView
WindView是一个图形化的动态诊断和分析工具,主要 是向开发者提供目标机硬件上实际运行的应用程序的 许多的详细情况 看到目标机的任务切换、信号量、消息队列、中断、 看门狗等信息
2.Tornado核心工具介绍
2.4 WindView
2.Tornado核心工具介绍
5.连接开发板需要注意的事项和 步骤
5.配置tornado中的Target Server参数,将core files中指向的映像文 件和通过ftp下载的映像文件一致。将target server中的target地址设 为192.168.0.10(举例,可以改),选择back end方式为rpc通讯方 式。 unch target server,如果成功,在任务栏右下角会出现红色的蜗 牛,点击它可以看到连接成功的信息。 这时候表示开发主机和开发 板连接正确。 7. 可以将编译好的.out执行文件下载执行。
结束!
所有的Tornado工具(诸如Shell、Debugger及 Browser等等,这些工具的使用将在后面的章节介绍) 使用WTX (Wind River Tool Exchange ) 协议同 Target Server通讯,Target Server再将请求消息送 往目标机上的Target Agent,这就避免了主机工具频 繁地访问目标机。
3.工程类型介绍(Bootable和 Downloadable)
3.1 Bootable类型的工程
Bootable VxWorks image类型的工程是可下载的 VxWorks 映像,包含了必须的VxWorks 内核、组件 以及BSP。也可以烧到flash里面进行固化。
BCM SDK在Tornado下的编译
BCMSDK在Tornado下的编译1、假定Tornado的安装目录在${TORNADO}如D:\Tornado2.2BCMSDK安装在${BCMSDK}如D:\epon\mywork\2、建立Perl在${TORNADO}\host\x86-win32新建目录perl解压Perl4DosBuild.zip到Tornado安装目录${TORNADO}\host\x86-win32\perl下3、建立setenv.bat如果我们编译的TARGET为vxworks-bmw,则在${BCMSDK}\sdk-5.4.0\systems\vxworks\bmw下建立环境变量的批处理文件如setenv.bat,其内容如下:set WIND_BASE=${TORNADO}set WIND_HOST_TYPE=x86-win32set PERL_BASE=${TORNADO}\host\x86-win32\perlsetPATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%WIND_BASE%\host\%WIND_H OST_TYPE%\lib\gcc-lib\powerpc-wrs-vxworks\gcc-2.96;%PERL_BASE%\binset PROJECT_BASE=${BCMSDK}set PROJECT_BASE_NO_DRIVE_NAME=${BCMSDK} #注1set SDK=d:\\epon\\mywork\\sdk-5.4.0 #注2set SDK_NO_DRIVE_NAME=%PROJECT_BASE_NO_DRIVE_NAME%\sdk-5.4.0set HOSTTYPE=Windows2000PCset TARGET=vxworks-bmw●注1:去掉${BCMSDK}前面的“D:”●注2:d:\epon\mywork\sdk-5.4.0是BCM的SDK目录,但setSDK=d:\\epon\\mywork\\sdk-5.4.0中间一定要打两个“\\”●注3:“set WIND_BASE=d:/tornado2.2”中的斜杠是“/”,而后面的斜杠一般都是“\”下面是一个在Tornado安装目录${TORNADO}=D:\Tornado2.2和BCMSDK的目录${BCMSDK}= D:\epon\mywork\情况下的完整的一个setenv.bat文件:set WIND_BASE=d:/tornado2.2set WIND_HOST_TYPE=x86-win32set PERL_BASE=d:\Tornado2.2\host\x86-win32\perlsetPATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%WIND_BASE%\host\%WIND_H OST_TYPE%\lib\gcc-lib\powerpc-wrs-vxworks\gcc-2.96;%PERL_BASE%\binset PROJECT_BASE=D:\epon\myworkset PROJECT_BASE_NO_DRIVE_NAME=\epon\myworkset SDK=d:\\epon\\mywork\\sdk-5.4.0set SDK_NO_DRIVE_NAME=%PROJECT_BASE_NO_DRIVE_NAME%\sdk-5.4.0set HOSTTYPE=Windows2000PCset TARGET=vxworks-bmw4、修改Makefile.vxworks-common#cchchg#BCM_CFLAGS = -Wall -WerrorBCM_CFLAGS = -Wall#cchchgend即把-Werror去掉5、建立自己的Make.local复制Make.local.template到Make.local,然后修改Make.local里面的内容●打开硬件出错时的错误提示#CFGFLAGS += -DDEBUG_STARTUP="DK_ERR",去掉#号●#DISPATCH_LIST = RPC ESW ASYNC,改为DISPA TCH_LIST = ESW●把原来的#FEATURE_LIST=ATPTRANS_SOCKET BCMX_DIAG L3 I2C BCMXMEM_SCAN EDITLINE TCL ASE \# CUSTOMER TELNET DRIVERS CHASSIS TEST ACL RCPU改为:FEATURE_LIST=ATPTRANS_SOCKET BCMX_DIAG L3 I2C BCMXMEM_SCAN EDITLINE ASE \CUSTOMER TELNET DRIVERS CHASSIS TEST ACL●改为部分BCM芯片支持#BCM_PTL_SPT = 1,去掉#号●打开支持的芯片如把#BCM_5690_A0 = 1和#BCM_56504_A0 = 1去掉#号备注:做不做本条,都不影响编译。
Tornado简介
Tornado简介简介Tornado全称Tornado Web Server,是⼀个⽤Python语⾔写成的Web服务器兼Web应⽤框架,由FriendFeed公司在⾃⼰的⽹站FriendFeed 中使⽤,被Facebook收购以后框架在2009年9⽉以开源软件形式开放给⼤众。
Tornado与其他Web框架的区别以Django为代表的python web应⽤部署时采⽤wsgi协议与服务器对接(被服务器托管),⽽这类服务器通常都是基于多线程的,也就是说每⼀个⽹络请求服务器都会有⼀个对应的线程来⽤web应⽤(如Django)进⾏处理。
考虑两类应⽤场景1. ⽤户量⼤,⾼并发如秒杀抢购、双⼗⼀某宝购物、春节抢⽕车票2. ⼤量的HTTP持久连接使⽤同⼀个TCP连接来发送和接收多个HTTP请求/应答,⽽不是为每⼀个新的请求/应答打开新的连接的⽅法。
对于HTTP 1.0,可以在请求的包头(Header)中添加Connection: Keep-Alive。
对于HTTP 1.1,所有的连接默认都是持久连接。
对于这两种场景,通常基于多线程的服务器很难应对。
对于前⾯提出的这种⾼并发问题,我们通常⽤C10K这⼀概念来描述。
C10K—— Concurrently handling ten thousandconnections,即并发10000个连接。
对于单台服务器⽽⾔,根本⽆法承担,⽽采⽤多台服务器分布式⼜意味着⾼昂的成本。
如何解决C10K问题?Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题,这样的设计使得其成为⼀个拥有⾮常⾼性能的解决⽅案(服务器与框架的集合体)。
Hello Word第⼀个py安装Tornado部分略过,我们直接进⼊正题,PyCharm没有新建Tornado项⽬的选项,我们直接新建⼀个py即可。
1 # -*- coding=utf-8 -*-2 import tornado.web3 import tornado.ioloop456 class Index(tornado.web.RequestHandler):7 # 封装⼀个类8 def get(self):9 # get请求进⼊该⽅法10 # 返回字符串11 self.write('Hello World')121314 class Home(tornado.web.RequestHandler):15 def get(self):16 self.write('Home')171819 if __name__ == '__main__':20 app = tornado.web.Application([21 # 相当于路由22 (r'/', Index),23 (r'/home', Home),24 ])25 # 指定端⼝26 app.listen(8000)27 # 开启28 tornado.ioloop.IOLoop.current().start()我们直接启动即可,然后使⽤postman或者浏览器访问(我习惯使⽤postman)http://localhost:8000我们测试⼀下结果当服务器收到请求时会进⼊Application,进⼊路由顺序查找匹配。
浅谈Tornado2.2下程序调试
浅谈Tornado2.2下程序调试“调试一段程序的难度是写出这段程序的难度的两倍,因此,如果你的代码尽可能清楚,那么你就不用费力的调试它”-- Brian W. Kernighan“有时周一宁愿休息而不是花一周余下的时间调试周一的代码” -- Christopher Thompson….. …..调试对于软件的成败至关重要,正确使用恰当的调试工具可以提高发现和改正错误的效率。
一、调试前的准备工作1、保证目标机跟主机能网络正常通信。
如果tornado是装在虚拟机中,则要保证虚拟机跟目标机能网络通信。
用ping xx.xx.xx.xx –l 1500命令。
之所以后面要加-l 1500是为了保证最大包也能ping通,如果不加-l 则为ARP包,ARP包只有64个字节。
在网络通信中会出现小包能ping通,大包ping不通的情况。
2、保证WDB为Ready状态图1如果WDB为unReady状态,很可能是WDB的组件没有加。
二、配置Target ServerTarget Server是Tornado集成交叉开发环境中最重要的工具。
这个工具负责主机与目标机的连接,为其他的工具使用提供通信桥梁。
点击”Tools->Targer Server->configure”。
出现如下图2所示:图2 Target server配置界面配置界面中Targer Server要填入主机的IP地址,Targer Server PropertiesBack End(后端)默认选择wdbrpc ,它是最常用的连接类型,其支持任意种IP连接(如以太网)。
Target Name/Ip Address需要填入目标机的IP地址。
主机和目标机的IP地址可以在bootrom起来后看到,如图3所示。
图3 bootrom启动打印Targer Server Properties 之Core File and Symbols,在File选项中选择主机vxworks镜像的路径,如图4所示。
Tornado-开发环境
• 通信后端【Back End】 根据不同的目标机,可以选择不同的Target Server通信后端与目标机的Agent通 信。其中wdbrpc用于网络连接;wdbserial用于串行通道连接;wdbpile用于 Visxim仿真目标机连接 ;netrom用于一专有的通讯协议;loopback用于测试; 选择的后端类型与Agent中选择的WDB connection类型一致才能建立主机与目标 机之间的WDB连接。各后端的动态库位于“\host\x86-win32\lib\backend”目录 下。 wdbrpc是最常使用的一种:
• Tornado是集成了编辑器、编译器、调试器于一体的高度集成的窗口环境, 给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环 境。
• Tornado开发系统包含三个高度集成的部分:运行在目标机上的高性能、可 裁剪的实时操作系统VxWorks;运行在宿主机的强有力的交叉开发工具和实 用程序,可对目标机上的应用程序进行跟踪和调试;连接宿主机和目标机的 多种通讯方式,如:以太网,串口线,ICE或ROM仿真器等。
工程管理
• Tornado以工程(project)为单位组织软件开发,工程中包括源代码信 息、VxWorks配置和编译配置等。Tornado提供了工作空间(workspace) 机制,用于工程的组织和管理。Tornado可以创建多个工作空间,每一 个工作空间可以包含多个工程。每个工程又能引用多个源代码文件,组 成层次结构。工作空间主要用在主机上安装有多个不同版本的Tornado 时,每个工作空间可以以Torndao的版本命名。
P
H
I
wind Microkernel
C
S
Debug Agent
BSP
vxworks Tornado2.2使用指南
Tornado使用指南目录1.概述 (2)1.1 T ORNADO 组件 (2)1.1.1 开发工具 (2)1.1.2 实时系统 (3)1.1.3 Tornado 文件目录 ...................................................................................................... 41.2 硬件/软件配置 .. (7)1.3 booting介绍 (7)1.4 Tornado开始过程 (12)1.5 WDB 代理 (14)2Projects (15)2.1 bootable projects (15)2.2 集成模拟器vxsim (23)2.3 Downloadable projects (21)2.4 build说明 (24)3WindSh 和Browser (25)3.1WindSh (25)3.2 Browser (28)4 CrossWind (29)4.1Debugging简介…………………………………………………………………………29.4.2 任务级Debugging……………………………………………………………………..29.4.3 系统级Debugging (30)1. 概述VxWorks 是美国Wind River System 公司(以下简称风河公司,即WRS 公司)推出的一个实时操作系统。
WRS 公司组建于1981年,是一个专门从事实时操作系统开发与生产的软件公司,该公司在实时操作系统领域被世界公认为是最具有领导作用的公司。
VxWorks 是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统。
它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
在美国的F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
Tornado开发环境的应用
Tornado开发环境的应用1 概述Tornado是一种集成的交互式软件开发环境,为开发实时嵌入式应用程序提供高效明晰的图形化的实时应用开发平台。
它包含了一套完整的面向嵌入式系统的开发和调测工具。
Tornado环境采用主机-目标机交互开发模型,应用程序在主机的Windows环境下编译链接生成可执行文件,下载到目标机,通过主机上的目标服务器(Target Server)与目标机上的目标代理(Target Agent)的通讯完成对应用程序的调试、分析。
它主要由以下几部分组成:●VxWorks高性能的实时操作系统●应用编译工具VxWorks使用GNU的GCC编译器●集成开发环境(IDE)可以管理和编译工程,建立和管理主机和目标机的通讯,并可运行、调试和监视VxWorks 应用其中集成开发环境(IDE)包含以下组件:●集成的源码级编辑器(Editor)●工程管理工具(Project)●集成的C和C++编译器(Complier)●用于监视目标系统的可视化浏览器(Browser)●CrossWind,一个图形化的增强型源码级调试器(Debugger)●WindSh,一个可以控制目标系统的,执行C语言命令行的Tornado外壳(Shell)●VxSim,一个集成的VxWorks目标仿真器●WindView,用于目标仿真器的软件逻辑分析仪●一些用户化选项以上工具主要驻留在主机上,通过目标服务器和目标代理之间的通讯,对远程的目标板进行操作。
如图1所示。
2 Tornado 开发环境的安装针对PowerPC系列,在安装盘的VxWorks\PowerPC目录下双击Setup.exe即可启动Tornado的安装。
安装过程与常见的Windows应用程序相类似,所需序列号可以在VxWorks\PowerPC目录下的key.txt文件中找到。
选择安装目录和安装组件。
如果需要安装BSP有关的开发工具(BSP Developers Kits,Network Driver Source Code,SCSI Driver Source Code),则在安装盘的VxWorks\BspDevKit目录下双击Setup.exe,序列号在相同目录下的serial.no文件中。
第二讲 嵌入式操作系统VxWorks及其开发工具Tornado(2010)
第二讲:嵌入式操作系统VxWorks及其开发工具Tornado主讲人:办公地址:联系方式:刘利强31号楼222房间82519069上节课主要内容:⏹为什么要学习嵌入式技术⏹嵌入式系统概述⏹嵌入式系统的应用⏹嵌入式实时系统基础132基础知识介绍交叉开发环境的建立方法Tornado 工具及其使用方法4常用的软件调试开发方法⏹什么是VxWorks?⏹为什么VxWorks被广泛采用?⏹VxWorks系统与通用操作系统的对比⏹什么是Tornado?⏹Tornado的工具及其开发环境⏹Tornado的目录结构⏹Tornado的主要目录结构什么是VxWorks?VxWorks操作系统是美国风河公司(Wind River System 公司,WRS)于1983年设计开发的一种运行在目标机上的高性能、可裁减的嵌入式强实时操作系统。
它凭借着良好的可持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据了重要一席。
VxWorks系统具备高可靠性和实时性,目前被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。
如美国的F-16战斗机、FA-18战斗机、B-2隐形轰炸机、爱国者导弹上、火星探测器等均使用了VxWorks操作系统。
什么是VxWorks?VxWorks的主要组成如下:⏹高性能系统内核Wind➣多任务调度(基于优先级抢占方式的实时调度算法)➣内部任务的通讯⏹其它标准工具➣设备驱动➣文件系统➣I/O系统➣内存管理➣网络协议栈为什么VxWorks被广泛采用?⏹可靠性考虑操作系统的用户希望在一个工作稳定、可以信赖的环境中工作,而稳定、可靠是VxWorks的一个突出优点。
⏹实时性考虑⏹可裁剪性考虑由于存储空间和资源的限制,及提高运行效率考虑,用户在使用嵌入式操作系统时,并不是操作系统的每一个部件都要用到,例如图形显示、文件系统以及一些设备驱动在某些嵌入式系统中往往并不使用。
Tornado简明教程
Tornado简明教程1.TornadoTornado:python编写的web服务器兼web应⽤框架1.1.Tornado的优势轻量级web框架异步⾮阻塞IO处理⽅式出⾊的抗负载能⼒优异的处理性能,不依赖多进程/多线程,⼀定程度上解决C10K问题WSGI全栈替代产品,推荐同时使⽤其web框架和HTTP服务器1.2.Tornado VS DjangoDjango:重量级web框架,功能⼤⽽全,注重⾼效开发内置管理后台内置封装完善的ORM操作session功能后台管理缺陷:⾼耦合Tornado:轻量级web框架,功能少⽽精,注重性能优越HTTP服务器异步编程WebSocket缺陷:⼊门门槛较⾼2.安装输⼊命令:pip install tornado1**备注:** Tornado应该运⾏在类Unix平台,为了达到最佳的性能和扩展性,仅推荐Linux和BSD(充分利⽤Linux的epoll⼯具和BSD的kqueue达到⾼性能处理的⽬的)3.使⽤3.1.Tornado⼊门程序 - (⼀)#-*- coding:utf-8 -*-import tornado.webimport tornado.ioloop#定义处理类型class IndexHandler(tornado.web.RequestHandler):#添加⼀个处理get请求⽅式的⽅法def get(self):#向响应中,添加数据self.write('好看的⽪囊千篇⼀律,有趣的灵魂万⾥挑⼀。
')if __name__ == '__main__':#创建⼀个应⽤对象app = tornado.web.Application([(r'/',IndexHandler)])#绑定⼀个监听端⼝app.listen(8888)#启动web程序,开始监听端⼝的连接tornado.ioloop.IOLoop.current().start()1 .在pycharm中直接运⾏代码2 .如果是在ubuntu,在命令窗⼝输⼊python ⽂件名.py4.Tornado 代码解析4.1.⼊门程序代码解析tornado.web:tornado的基础web框架RequestHandler:封装对请求处理的所有信息和处理⽅法get/post/..:封装对应的请求⽅式write():封装响应信息,写响应信息的⼀个⽅法tornado.ioloop:核⼼io循环模块,封装linux的epoll和BSD的kqueue, tornado⾼性能处理的核⼼。
WINDRIVER.TORNADO.V2.2安装(附图解和序列号)
一. 下载软件:在 中就可以找到:[风河VxWorks].WINDRIVER.TORNADO.V2.2.FOR...CD1[风河VxWorks].WINDRIVER.TORNADO.V2.2.FOR...CD2二. 安装和部署:1、先安装daemon虚拟光盘软件;2、使用daemon tool映射(mount)虚拟文件(*.cue,*.bin)(如果没有这两个文件就直接添加iso的压塑包然后点对应的磁盘,进入后点setup.exe文件);3、一路选择默认安装,开始时的key根据DISK_ID的数值输入对应的序列号,name和company可以任意;(key附在文末,查找对应的版本对应的key,分清CD1和CD2)4、一直点击下一步,按默认情况安装,当出现Project Information 向导界面时,Project Name和Number of Tornado Seat 随便填写;5、到最后一步安装license时,选择第三项phone or fax,安装完毕;下面列出主要步骤:图一进入启动后的界面图二点右上角Accept,在点击下一步图三name和company随便输入,Install输入序列号。
注意不是下面显示的CD number图四Project Name随便输入,Number of Tornado Seat随便输入个数字图五选择安装目录图六图七选择第三项phone or fax 其他图片中没提的步骤选择默认即可。
6、如果安装目录为C:\Tornado2.2,则在其目录下新建文件夹flexlm,将安装光盘下的CRACK目录下的license.dat拷贝到C:\Tornado2.2\flexlm;7、安装完毕后,如果从开始菜单直接运行tornado,会提示错误,这是因为安装还没有完成。
这时你需要在windows里面设置一个环境变量LM_LICENSE_FILE = C:\Tornado2.2\flexlm\license.dat方法如下:点击我的电脑右键,选属性-高级-环境变量-新建一个环境变量名称为LM_LICENSE_FILE ,值为C:\Tornado2.2\flexlm\license.dat8、另外一种破解方法是在C盘Tornado2.2文件夹下你会发现一个setup.log文件,用ultraedit或vim 打开,在最后一行你会发现一个注册表键值,进入注册表,找到这个键值HKEY_LOCAL_MACHINE\SOFTWARE\FLEXlm License Manager\LM_LICENSE_FILE,将其值修改为:C:\Tornado2.2\flexlm\license.dat注意上面是你软件装在C盘,如果装在D盘,对应的各个C盘改为D.各版本不同处理器对应的key序列号(注意查看软件对应的处理器)一、WINDRIVER.TORNADO.V2.2.FOR.COLDFIRECD1= Tornado 2.2/VxWorks 5.5 for ColdFire (CD1的内容)(DISK_ID: TDK-14627-ZC-01) (CD号)CD2= BSPs/Drivers for VxWorks 5.5: ColdFire (CD2的内容)(DISK_ID: TDK-14637-ZC-01) (CD号)软件大小:347MCD1: A7K8B-MbE7p-9rKfE-Gz9aP-bE59C (CD1的序列号)CD2: A7K9e-Rb9Cp-FNB79-gzbdd-F999C(CD2的序列号)二、WINDRIVER.TORNADO.V2.2.FOR.SUPERHCD1= Tornado 2.2/VxWorks 5.5 for SuperH(DISK_ID: TDK-14625-ZC-01)CD2= BSPs/Drivers for VxWorks 5.5: SuperH(DISK_ID: TDK-14635-ZC-01)CD1: dI&hi-qM6Ip-9rBb3-GzhsN-bE59gCD2: BGphe-MbE7p-8rKf3-gzDPB-F999C三、WINDRIVER.TORNADO.V2.2.FOR.XSCALECD1= Tornado 2.2/VxWorks 5.5 for SA/XScale (DISK_ID: TDK-14622-ZC-01)CD2= BSPs/Drivers for VxWorks 5.5: SA/XScale (DISK_ID: TDK-14632-ZC-01)软件大小:464MCD1: dI&ge-Md37K-gPNfE-5phaS-bE59gCD2: B7pge-Md3GK-gsQbE-gzDdB-F999C四、WINDRIVER.TORNADO.V2.2.FOR.PENTIUM CD1= Tornado 2.2/VxWorks 5.5 for PENTIUM (DISK_ID: TDK-14611-ZC-01)CD2= BSPs/Drivers for VxWorks 5.5: PENTIUM (DISK_ID: TDK-14621-ZC-01)CD1: cAQ8i-qP2I&-g$vT6-3&gjw-bEk9gCD2: A7KbB-Rd37p-hNFBE-kzgaT-b9gpC五、WINDRIVER.TORNADO.V2.2.FOR.68KCD1= Tornado 2.2/VxWorks 5.5 for 68K(DISK_ID: TDK-14626-ZC-01)CD2= BSPs/Drivers for VxWorks 5.5: 68K(DISK_ID: TDK-14636-ZC-01)CD1: cAQ8E-uM6I&-8jsP6-AtgjP-bEk9gCD2: AGK8e-RbE7p-8abA9-9UDdd-F9g9C六、WINDRIVER.TORNADO.V2.2.FOR.ARMCD1= Tornado 2.2/VxWorks 5.5 for ARM(DISK_ID: TDK-14624-ZC-00)CD2= BSPs/Drivers for VxWorks 5.5: ARM(DISK_ID: TDK-14634-ZC-00)软件大小:500MCD1: x#yyo-YVXT#-nozVy-wwoyx-VXy#o-UbFBF CD2: AGpge-QbEGp-haNb3-kUhsS-bEkpC七、WINDRIVER.TORNADO.V2.2.FOR.POWERPC CD1= Tornado 2.2/VxWorks 5.5 for PowerPC (DISK_ID: TDK-14620-ZC-01)CD2= BSPs/Drivers for VxWorks 5.5: PowerPC (DISK_ID: TDK-14630-ZC-01)软件大小:671MCD1: TcS5i-Zq%J+-4XVu#-3&bjv-M63&gCD2: TJS9i-uK6I&-9XsR2-AY8jv-M6n&g八、WINDRIVER.TORNADO.V2.0.FOR.X86 CD1=Tornado 2.0 for Intel X86TDK-13127-zc-00(ap)CD2= Tornado 2.0 for Intel X86TDK-12835-ZC-01软件大小:359MCD1: B7KDB-7B9Cp-DBbA9-9UKNb-79CFF CD2: FCKCi-Kd67p-hdcS9-iKbNf-797KF九、WINDRIVER.PLATFORM.ID.V1.0CD1= Tornado 2.2/VxWorks 5.5 for Pentium (DISK_ID: TDK-14621-ZC-01)CD2= BSPs/Drivers for VxWorks 5.5.1(DISK_ID: TDK-14631-ZC-02)CD3= WindML 3.0(DISK_ID: TDK-14774-ZC-00)CD4= PLATFORM ID Components(DISK_ID: TDK-14915-ZC-01)CD5= VxWorks 5.5 Core O/S Source Products (DISK_ID: TDK-14628-ZC-01)CD6= SNiFF+ 4.1.1软件大小:1010MCD1: dAQ8i-UM2I&-gisT2-nQ9Xw-bEkpgCD2: B7KFB-Kb3Gp-gBfB3-5U8sP-bE9pCCD3: B7KFB-7F5Cp-CBdB5-gUKPc-F99pC CD4: BFKFB-7F5Cp-DBdA5-FKKNf-79gpFCD5: B7K8e-KF57p-DdfA5-GU8Pc-F999C十、arm.developer.suite.v1.2 (ADS1.2)软件大小:422M安装方法:1)首先安装虚拟光驱软件DAEMON3.22)MOUNT 文件05.29.02-arm.developer.suite.v1.2-efa .ISO3)自动安装软件后到根据LICENSE安装WIZARD到虚拟光驱上寻找CRACK文件夹中的LICENSE.DAT文件。
python tornado中文文档
概览∙Overview∙下载和安装∙模块索引o主要模块o底层模块∙Tornado 攻略o请求处理程序和请求参数o重写 RequestHandler 的方法函数o重定向(redirect)o模板o Cookie 和安全 Cookieo用户认证o跨站伪造请求的防范o静态文件和主动式文件缓存o本地化o UI 模块o非阻塞式异步请求o异步 HTTP 客户端o第三方认证o调试模式和自动重载∙性能∙生产环境下的部署∙WSGI 和 Google AppEngine∙注意事项和社区支持OverviewFriendFeed使用了一款使用 Python 编写的,相对简单的非阻塞式 Web 服务器。
其应用程序使用的 Web 框架看起来有些像web.py或者 Google 的webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具和优化。
Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本。
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。
得利于其非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个理想框架。
我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。
(关于如何扩容服务器,以处理数以千计的客户端的连接的问题,请参阅The C10K problem)以下是经典的“Hello, world”示例:import tornado.ioloopimport tornado.webclass MainHandler(tornado.web.RequestHandler):def get(self):self.write("Hello, world")application = tornado.web.Application([(r"/", MainHandler),])if __name__ == "__main__":application.listen(8888)tornado.ioloop.IOLoop.instance().start()查看下面的Tornado 攻略以了解更多关于 tornado.web 包的细节。
Tornado环境下的命令行编译文件
Tornado环境下的命令行编译文件Table of contents 目录T ABLE OF CONTENTS 目录 (1)1TORNADO及其编译工具简介 (2)2两种编译工具下的C/C++文件编译 (4)2.1GNU T OOL的编译 (4)2.2D IAB T OOL的编译 (5)3MAKEFILE的编译 (6)3.1特殊变量的定义(以DCN DS45XX项目为例) (6)3.2MAKEFILE.LOCAL的建立 (7)3.3命令实现 (8)4REFERENCE DOCUMENTS 参考文献 (9)1 Tornado及其编译工具简介Tornado 是嵌入式实时领域里最新一代的开发调试环境。
Tornado 给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境。
Tornado 包含三个高度集成的部分:·运行在主机和目标机上的强有力的交叉开发工具和实用程序;·运行在目标机上的高性能、可裁剪的实时操作系统VxWorks;·连接主机和目标机的多种通讯方式,如:以太网,串口线,ICE或ROM仿真器等。
对于不同的目标机,Tornado 给开发者提供一个一致的图形接口和人机界面,如图1-1所示。
图1-1当使用Tornado的开发人员转向新的目标机时,不必再花费时间学习或适应新的工具;对深嵌入式应用开发者来说更重要的是,Tornado 所有的工具都是驻留在开发平台上的。
在嵌入式系统工具发展历史上,Tornado 是第一个实现了当目标机资源有限时开发工具仍可使用而且功能齐全的开发环境。
另外,所有工具都通过一个中央服务器(Target Server)与目标机的通讯,因此无论连结方式是Ethernet,还是串口线、ICE 仿真器、ROM仿真器或客户设计的调试通道,所有工具均可使用。
Tornado提供了一套完整的GNU Tool开发工具链,其中包括:·CPP :C预处理·GCC :C/C++编译器·MAKE:项目建立的自动化工具·LD:程序的静态链接·AS:汇编此外,Diab C/C++编译器作为一个可选工具也完全集成在Tornado集成编译环境中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Tornado环境下的命令行编译文件Table of contents目录T ABLE OF CONTENTS目录 (1)1TORNADO及其编译工具简介 (2)2两种编译工具下的C/C++文件编译 (4)2.1GNU T OOL的编译 (4)2.2D IAB T OOL的编译 (5)3MAKEFILE的编译 (6)3.1特殊变量的定义(以DCN DS45XX项目为例) (6)3.2MAKEFILE.LOCAL的建立 (7)3.3命令实现 (8)4REFERENCE DOCUMENTS参考文献 (9)1Tornado及其编译工具简介Tornado是嵌入式实时领域里最新一代的开发调试环境。
Tornado给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境。
Tornado包含三个高度集成的部分:·运行在主机和目标机上的强有力的交叉开发工具和实用程序;·运行在目标机上的高性能、可裁剪的实时操作系统VxWorks;·连接主机和目标机的多种通讯方式,如:以太网,串口线,ICE或ROM仿真器等。
对于不同的目标机,Tornado给开发者提供一个一致的图形接口和人机界面,如图1-1所示。
图1-1当使用Tornado的开发人员转向新的目标机时,不必再花费时间学习或适应新的工具;对深嵌入式应用开发者来说更重要的是,Tornado所有的工具都是驻留在开发平台上的。
在嵌入式系统工具发展历史上,Tornado是第一个实现了当目标机资源有限时开发工具仍可使用而且功能齐全的开发环境。
另外,所有工具都通过一个中央服务器(Target Server)与目标机的通讯,因此无论连结方式是Ethernet,还是串口线、ICE仿真器、ROM仿真器或客户设计的调试通道,所有工具均可使用。
Tornado提供了一套完整的GNU Tool开发工具链,其中包括:·CPP:C预处理·GCC:C/C++编译器·MAKE:项目建立的自动化工具·LD:程序的静态链接·AS:汇编此外,Diab C/C++编译器作为一个可选工具也完全集成在Tornado集成编译环境中。
2两种编译工具下的C/C++文件编译2.1GNU Tool的编译以DCN DS45XX项目为例的编译命令如下:c:\>ccmips-mcpu=32-mstrict-align-I%WIND_BASE%\target\h\-DCPU=MIPS32-DTOOL_FAMILY=gnu-DTOOL=gnu-c applic.c其中待编译的文件为:applic.c生成的文件:applic.o各命令的具体解释如下:-I编译器从%WIND_BASE%\target\h\目录下开始查找头文件-DCPU定义CPU类型-DTOOL_FAMILY指定编译工具-DTOOL指定工具环境-c指示生成.o文件在GNU Tool工具中,不同的CPU类型值如表1-1所示:表1-1GNU Tool的CPU类型值cpu架构cpu值ARM,XScale,StrongARM ARMARCH4,ARMARCH4_T,ARMARCH5,ARMARCH5_T,ARM7TDMI,ARM7TDMI_T,ARM710A,ARM810,ARMSA110,XSCALEMC680x0MC68000,MC68010,MC68020*,MC68040,MC68060,MC68LC040†,CPU32MIPS MIPS32,MIPS64Pentium PENTIUM2,PENTIUM3,PENTIUM4 PowerPC PPC403,PPC405,PPC440,PPC603,PPC604,PPC860VxSim Solaris,VxSim PC SIMSPARCSOLARIS,SIMNT SuperH SH7600,SH7700,SH77502.2Diab Tool的编译以DCN DS45XX项目为例的编译命令:c:\>dcc-g-tMIPS32FS:vxworks55-Xmismatch-warning=2\-ew1554,1551,1552,1086,1047,1547-Xclib-optim-off-Xansi\-Xstrings-in-text=0-Wa,-Xsemi-is-newline-ei1516,1643,1604\-Xlocal-data-area-static-only-W:c++:,-Xexceptions-Xsize-opt\-Wall-I%WIND_BASE%\target\h-DCPU=PPC604-DTOOL=diab-c applic.c其中待编译的文件为:applic.c生成的文件:applic.o各命令的具体解释如下:-g生成调试信息-t制定工具使用的体系和版本-x关于调试、优化、语法的可选控制信息-ew消息的严重级别及预警-wall可选项,开警告在Diab Tool工具中,不同的CPU类型值如表1-2所示:表1-2Diab Tool的CPU类型值cpu架构cpu值ColdFire MCF5200,MCF5400SuperH SH7600,SH7700,SH7700,SH7750MIPS MIPS32,MIPS64PowerPC PPC403,PPC405,PPC440,PPC603,PPC604,PPC860 ARM ARMARCH4,ARMARCH4_T,ARMARCH5_T,ARMARCH5_TStrongARM,XScale STRONGARM,XSCALE3makefile的编译3.1特殊变量的定义(以DCN DS45XX项目为例)TARGET=Vxworks-keystoneWIND_BASE=Tornado的安装目录SDK=SDK-xgs-robo-5.9.2的安装目录TARGET=${targetbase}-${targetplat}${target_suffix},target在每个makefile 中会含有,对于不同操作系统及硬件平台,target会取不同的值,其具体取值如表1-3、1-4所示:表1-3${targetbase}值查询表${targetbase}值操作系统vxworks VxWorkslinux Linux(kernel mode)unix-user Linux(user mode)unix-linux Linux(simulation environment)unix-solaris Solaris(simulation environment)unix-netbsd NetBSD(simulation environment)表1-4${targetplat}值查询表${targetbase}${targetplat}vxworks bmw MPC8245PPC-based CompactPCI®board andreference designvxworks jag BCM94704and BCM95836MIPS®-basedCompactPCI boardsvxworks nsx BCM91125MIPS-based CompactPCI boardvxworks raptor Internal CPU based on MIPS(BCM56XXX andBCM53XXX devices)vxworks gto MPC8548PowerPC®-based XMC boardvxworks keystone BCM53001and BCM53003MIPS-basedboardslinux bmw MontaVista Linux on MPC8245PPC-basedCompactPCI board and reference design3.2makefile.local的建立建立makefile.local的作用是根据实际的应用定义一些自定义的选项。
1.修改编译相关选项变量#DEBUG_IFDEFS=FALSE//编译生成debug代码保存到镜像下#DEBUG_SYMBOLS=FALSE//build是不管调试符号#DEBUG_OPTIMIZE=FALSE//调试时关掉优化2.修改堆栈匹配选项#CFGFLAGS+=-DINCLUDE_LIB_CPUDB//简单的CPU数据库管理#CFGFLAGS+=-DINCLUDE_LIB_CPUTRANS//CPU到CPU之间的通信机制#CFGFLAGS+=-DINCLUDE_LIB_DISCOVER//包括CPUTRANS的简单探索#CFGFLAGS+=-DINCLUDE_LIB_STKTASK//堆栈管理应用3.修改Dispatch模式选项#DISPATCH_LIST=RPC ESW ASYNC SBX FE20004.修改Feature_List选项#FEATURE_LIST=ATPTRANS_SOCKET BCMX_DIAG L3I2C BCMXMEM_SCAN#EDITLINE\CUSTOMER TELNET DRIVERS CHASSIS TEST ACL RCPU#BCM_SAL_PROFILE CINT\MACSEC BOARD KNET 5.选择Switch芯片的驱动#BCM_PTL_SPT=1#BCM_56142_A0=1令BCM_PTL_SPT=BCM_56142_A06.修改编译生成选项#CFGFLAGS+=-DSOC_NO_NAMES#CFGFLAGS+=-DSOC_NO_ALIAS#CFGFLAGS+=-DSOC_NO_DESC使得编译生成register/Table的描述字符串7.修改硬件设置选项#CFGFLAGS+=-DDEBUG_STARTUP="DK_ERR"否则将打印硬件错误消息去掉以上变量的注释符号即生成用户定制的makefile.local3.3命令实现1.运行cd${SDK}/systems/vxworks/keystone(2.运行.bat文件)可以将特殊变量的定义写成一个.Bat文件3.运行make4Reference Documents参考文献1)tornado_users_guide_windows_2.2.pdf。