实时操作系统,Kernel部分完成于2006年上半年,其IPC部分甚至是年中时才具备相 应的雏形。最开始时是因为要为朋友做一个小型的手持设备,而本人起初又是另一国内老牌 实时操作系统:DOOLOO RTOS开发人员,但这个团队在2005年底已经解散。但朋友的系统要 上,用其他小型系统吗,一不熟悉,二看不上。答应朋友的事,总得有解决方法吧,即使是原来 的DOOLOO RTOS,因为其仿VxWorks结构,导致它的核心太大,包括太多不必要的东西(一套 完整的libc库),这些方案都否决了。怎么办?当时朋友那边也不算太急,先自己写一套内核吧。 这个就是源头!(后来虽然朋友的项目夭折了,但这套OS则保留下来了,并开源了,万幸) 1 序 3 1.1 RT-Thread诞生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 艰难的发展期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 一年增加0.0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cortex-M3的变革 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 面向对象设计方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6 文档结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 实时系统 7 2.1 嵌入式系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 实时系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 软实时与硬实时 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 快速入门 11 3.1 准备环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 初识RT-Thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3 系统启动代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4 用户入口代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5 跑马灯的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.6 生产者消费者问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4 RT-Thread简介 25 4.1 实时内核 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2 虚拟文件系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3 轻型IP协议栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.4 shell系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.5 图形用户界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.6 支持的平台 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5 内核对象模型 29 5.1 C语言的对象化模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.2 内核对象模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6 线程调度与管理 39 6.1 实时系统的需求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
上传时间: 2013-10-14
上传用户:1234321@q
第八章 labview的编程技巧 本章介绍局部变量、全局变量、属性节点和其他一些有助于提高编程技巧的问题,恰当地运用这些技巧可以提高程序的质量。 8.1 局部变量 严格的语法尽管可以保证程序语言的严密性,但有时它也会带来一些使用上的不便。在labview这样的数据流式的语言中,将变量严格地分为控制器(Control)和指示器(Indicator),前者只能向外流出数据,后者只能接受流入的数据,反过来不行。在一般的代码式语言中,情况不是这样的。例如我们有变量a、b和c,只要需要我们可以将a的值赋给b,将b的值赋给c等等。前面所介绍的labview内容中,只有移位积存器即可输入又可输出。另外,一个变量在程序中可能要在多处用到,在图形语言中势必带来过多连线,这也是一件烦人的事。还有其他需要,因此labview引入了局部变量。
上传时间: 2013-10-27
上传用户:xieguodong1234
Keil C51 V8 专业开发工具(PK51) PK51是为8051系列单片机所设计的开发工具,支持所有8051系列衍生产品,,支持带扩展存储器和扩展指令集(例如Dallas390/5240/400,Philips 51MX,Analog Devices MicroConverters)的新设备,以及支持很多公司的一流的设备和IP内核,比如Analog Devices, Atmel, Cypress Semiconductor, Dallas Semiconductor, Goal, Hynix, Infineon, Intel, NXP(founded by Philips), OKI, Silicon Labs,SMSC, STMicroeleectronics,Synopsis, TDK, Temic, Texas Instruments,Winbond等。 通过PK51专业级开发工具,可以轻松地了解8051的On-chip peripherals与及其它关键特性。 The PK51专业级开发工具包括… l μVision Ø 集成开发环境 Ø 调试器 Ø 软件模拟器 l Keil 8051扩展编译工具 Ø AX51宏汇编程序 Ø ANSI C编译工具 Ø LX51 连接器 Ø OHX51 Object-HEX 转换器 l Keil 8051编译工具 Ø A51宏汇编程序 Ø C51 ANSI C编译工具 Ø BL51 代码库连接器 Ø OHX51 Object-HEX 转换器 Ø OC51 集合目标转换器 l 目标调试器 Ø FlashMON51 目标监控器 Ø MON51目标监控器 Ø MON390 (Dallas 390)目标监控器 Ø MONADI (Analog Devices 812)目标监控器 Ø ISD51 在系统调试 l RTX51微实时内核 你应该考虑PK51开发工具包,如果你… l 需要用8051系列单片机来开发 l 需要开发 Dallas 390 或者 Philips 51MX代码 l 需要用C编写代码 l 需要一个软件模拟器或是没有硬件仿真器 l 需要在单芯片上基于小实时内核创建复杂的应用
上传时间: 2013-10-30
上传用户:yy_cn
减小电磁干扰的印刷电路板设计原则 内 容 摘要……1 1 背景…1 1.1 射频源.1 1.2 表面贴装芯片和通孔元器件.1 1.3 静态引脚活动引脚和输入.1 1.4 基本回路……..2 1.4.1 回路和偶极子的对称性3 1.5 差模和共模…..3 2 电路板布局…4 2.1 电源和地…….4 2.1.1 感抗……4 2.1.2 两层板和四层板4 2.1.3 单层板和二层板设计中的微处理器地.4 2.1.4 信号返回地……5 2.1.5 模拟数字和高压…….5 2.1.6 模拟电源引脚和模拟参考电压.5 2.1.7 四层板中电源平面因该怎么做和不应该怎么做…….5 2.2 两层板中的电源分配.6 2.2.1 单点和多点分配.6 2.2.2 星型分配6 2.2.3 格栅化地.7 2.2.4 旁路和铁氧体磁珠……9 2.2.5 使噪声靠近磁珠……..10 2.3 电路板分区…11 2.4 信号线……...12 2.4.1 容性和感性串扰……...12 2.4.2 天线因素和长度规则...12 2.4.3 串联终端传输线…..13 2.4.4 输入阻抗匹配...13 2.5 电缆和接插件……...13 2.5.1 差模和共模噪声……...14 2.5.2 串扰模型……..14 2.5.3 返回线路数目..14 2.5.4 对板外信号I/O的建议14 2.5.5 隔离噪声和静电放电ESD .14 2.6 其他布局问题……...14 2.6.1 汽车和用户应用带键盘和显示器的前端面板印刷电路板...15 2.6.2 易感性布局…...15 3 屏蔽..16 3.1 工作原理…...16 3.2 屏蔽接地…...16 3.3 电缆和屏蔽旁路………………..16 4 总结…………………………………………17 5 参考文献………………………17
上传时间: 2013-10-22
上传用户:a6697238
JAVA课程设计实例。多个大型系统源代码,如考试系统单机版、C\S版、B\S版。
上传时间: 2014-01-20
上传用户:zuozuo1215
C++程序设计语言 全世界最出名的C++基础教材,从C++基本语法,到C++面向对象,再到C++标准库,都有很详细并且深入浅出的阐述。不论是C++的初学者还是专家,这都是一本不可多得的好书
上传时间: 2014-01-12
上传用户:ruan2570406
《大型数据库技术:Oracle 9i高级程序设计教程》随书光盘。 本书结合大量的实例,介绍如何利用Oracle来管理和维护数据,以及使用JSP、PHP和C#开发C/S模式和B/S模式网络数据库应用程序。全书分为管理篇、开发篇和实践篇3个部分。管理篇和开发篇Oracle数据库的管理和开发技术;实践篇完整地介绍使用JSP、PHP和C#开发的基于Oracle数据库项目的实例。这些实例既可以作为独立的系统运行,也可以取其中的一部分作为应用软件的一个模块,具有很强的实用性。本书所附光盘内容为本书的所涉及的源代码。 本书适合Oracle数据库管理员和应用程序开发人员,以及对数据库技术感兴趣的读者阅读。
上传时间: 2015-05-06
上传用户:xmsmh
书的内容: 第一章 面向对象编程 1.1 什么是对象 1.2 修改元件名称 1.3 对象作用域问题 1.4 类成员的可见性 1.5 对象的相互赋至 1.6 自己创建一个对象 1.7 VCL的结构 1.8 TObjiect 1.9 TPersistent 1.10 TComponet 1.11 TComponent 1.11 TControl 1.12 TWinControl 1.13 TGraphicControl 1.14 TCustom Control 第二章 组件对象模型 2.1 几个基本概念 2.2 客户和服务器 2.3 认识GUID。CLSID。IID 2.4 引用技术 2.5 什么是IUnknown接口 2.6 Dll形式的COM服务器 2.7 接口 2.8 调度接口 2.9 双重接口 2.10 对接口的应用 第3章 ActiveX 第4章 Type Libraty 第5章 创建ActiveX控件 第6章 OLE自动化 第7章 使用WinSock 第8章 使用FTP控件 第9章 使用UDP控件 第10章 使用HTTP控件 第11章 使用HTML控件 第12章 使用SMTP控件 第13章 使用POP控件 第14章 使用NNTP控件 第15章 创建Web服务器应用程序 第16章 Web服务器的细节 //从第3章我就不详细写了~
上传时间: 2015-05-18
上传用户:xzt
源代码\用动态规划算法计算序列关系个数 用关系"<"和"="将3个数a,b,c依次序排列时,有13种不同的序列关系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要将n个数依序列,设计一个动态规划算法,计算出有多少种不同的序列关系, 要求算法只占用O(n),只耗时O(n*n).
上传时间: 2013-12-26
上传用户:siguazgb
LCS(最长公共子序列)问题可以简单地描述如下: 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。例如,若X={A,B,C,B,D,B,A},Y={B,D,C,A,B,A},则序列{B,C,A}是X和Y的一个公共子序列,但它不是X和Y的一个最长公共子序列。序列{B,C,B,A}也是X和Y的一个公共子序列,它的长度为4,而且它是X和Y的一个最长公共子序列,因为X和Y没有长度大于4的公共子序列。 最长公共子序列问题就是给定两个序列X={x1,x2,...xm}和Y={y1,y2,...yn},找出X和Y的一个最长公共子序列。对于这个问题比较容易想到的算法是穷举,对X的所有子序列,检查它是否也是Y的子序列,从而确定它是否为X和Y的公共子序列,并且在检查过程中记录最长的公共子序列。X的所有子序列都检查过后即可求出X和Y的最长公共子序列。X的每个子序列相应于下标集{1,2,...,m}的一个子集。因此,共有2^m个不同子序列,从而穷举搜索法需要指数时间。
上传时间: 2015-06-09
上传用户:气温达上千万的