当前位置:文档之家› uCLinux引导程序设计及其在LPC2478上的实现

uCLinux引导程序设计及其在LPC2478上的实现

uCLinux引导程序设计及其在LPC2478上的实现
uCLinux引导程序设计及其在LPC2478上的实现

Computer Knowledge and Technology 电脑知识与技术第6卷第6期(2010年2月)uCLinux 引导程序设计及其在LPC2478上的实现

杨涛,施国梁

(苏州大学电子信息学院,江苏苏州215006)

摘要:针对NXP LPC2478ARM 处理器,提出了一种uCLinux 嵌入式系统引导程序的设计方案。在明确了引导程序必须实现的各种功能之后,给出了实现这些功能的设计方案,详细说明了如何在由LPC2478所构成的嵌入式应用系统上实现uCLinux 嵌入式系统引导程序。此外,对处理器对外扩非易失存储器NandFlash 的控制作了详尽的说明。此方案在实际的系统环境中运行稳定。关键词:嵌入式系统;引导程序;LPC2478;uclinux ;Nandflash

中图分类号:TP316.2文献标识码:A 文章编号:1009-3044(2010)06-1513-03

On the Design of uCLinux's BootLoader with its Implementaion on LPC2478

YANG Tao,SHI Guo-liang

(Institute of Electronic Information Soochow University,Suzhou 215006,China)

Abstract:Presented in this paper is a bootloader scheme and its implementation on NXP LPC2478ARM MCU.After defining all neces -sary functions to be included in a bootloader,specific design scheme for these functions are given.Then the implementation of the uclinux embedded operating system bootloader on LPC2478is discussed in detail.At last,in-depth descriptions of how to control non-volatile NandFlash by MCU are presented.It runs well in the embedded system.

Key words:embedded system;bootloader;LPC2478;uclinux;nandflash

随着工业自动化与社会信息化水平的不断提高,嵌入式设备得到了广泛的应用,越来越多复杂程度较高的嵌入式设备中采用操作系统。uCLinux 作为专门为无MMU(Memory Management Unit)处理器设计的嵌入式Linux 操作系统[1],支持ARM 、Motorola 等多种架构的微处理器,加上32位ARM 嵌入式处理器高性能、低功耗的出色特性,嵌入式系统中采用ARM+uCLinux 的组合具有很好的适应性。在基于ARM+uClinux 的嵌入式系统开发中,系统引导程序是成功实现上述应用组合的重要起点,因为实时系统能否正确引导决定了系统能否自举及自举后各类应用程序的运行环境能否正确构建。所以,对于系统引导程序的研究是十分必要的。1系统引导程序简介

系统引导程序即BootLoader ,是在系统复位后执行的第一段代码,代码量小,负责嵌入式操作系统内核的引导和加载[2]。一般来说,它首先完成系统硬件的初始化,包括时钟的设置、存储区的映射,设置堆栈指针等,然后跳转到操作系统内核的入口,将系统控制权交给操作系统。BootLoader 的实现高度依赖系统的硬件[2],不同的处理器架构,不同的目标板设备,它的配置是不相同的,因此在研究BootLoader 的设计时,系统的硬件平台是首先要考虑的因素。

2系统的硬件平台

本系统的硬件平台的主要包括恩智浦的微控制器LPC2478,串口,JTAG

口,10/100M 的以网口,外部扩展一片4M*4Banks*16bit 的32M SDRAM 和一

片256M *8bit 的NandFlash 。系统的硬件组成如图1所示。

主芯片LPC2478基于ARM7TDMI-S 的内核,主频最高为72MHZ ,拥有

98K 片内静态存储器,512K 片内Flash 存储器;拥有丰富的外设接口,除了图

中的外部存储器接口,用于程序调试和下载的串口和JTAG 口,支持LPC2478

的网络功能的以太网接口,还包括160个高速通用输入输出口,USB 设备接

口,CAN 总线接口,支持配置优先级和向量地址的高级向量中断控制器,通用

直接内存存取控制器,4个32位的定时器,实时时钟和开门狗等外设接口。基

于上面的硬件平台,系统的软件平台包含三个方面:引导程序BootLoader 、嵌入式操作系统uCLinux 内核、文件系统。BootLoader 是操作系统内核uCLinux ,文件系统加载的前提,它的作用是不言而喻的。当把系统控制权交给uCLinux 之后,系统的运行和BootLoader 就没有任何关系,这表明BootLoader 是独立于uCLinux 的。目前在uCLinux 的发行包里不包含BootLoader ,因此需要专门进行设计。3Bootloader 的程序设计

在本系统中,引导程序的作用就是引导和加载嵌入式操作系统uCLinux ,把系统的软硬件环境带到一个合适的状态。uCLinux 的BootLoader 的设计主要包括下面几个方面:

1)uCLinux 的固化

收稿日期:2010-01-05

作者简介:杨涛(1984-),女,江苏射阳人,硕士,主要研究方向为嵌入式系统应用;施国梁,副教授,博士。

图1系统的硬件平台ISSN 1009-3044Computer Knowledge and Technology

电脑知识与技术Vol.6,No.6,February 2010,pp.1513-1515,1518E-mail:kfyj@https://www.doczj.com/doc/11244374.html, https://www.doczj.com/doc/11244374.html, Tel:+86-551-56909635690964

Computer Knowledge and Technology 电脑知识与技术

第6卷第6期(2010年2月)

将uCLinux 操作系统代码固化在系统的Flash 中,其方法很多,主机可以通过JTAG 口、以太网接口或串口将uCLinux 的映像文件烧写到系统目标板指定的Flash 位置。串口烧写需要ARM 监控程序支持,网口烧写需要以太网支持,JTAG 口的烧写需要配备一个支持JTAG 口的仿真器。本系统采用JTAG 口烧写,利用串口来打印uCLinux 调试和运行信息。因此BootLoader 需要初始化一条链接主机和目标机的串口通道。

2)系统硬件的初始化

系统刚加电时,uCLinux 还没有被加载,系统硬件的初始化工作全部由BootLoader 完成。系统硬件的初始化要明确哪些硬件是uCLinux 能够自举,BootLoader 必须要配置的硬件。跟其它目标板一样,本系统里的引导程序要初始化的系统硬件相关的部分包括异常向量表建立、LPC2478各种模式下的堆栈空间建立、通用输入输出口配置、硬件时钟建立、使能屏蔽中断等。

3)uCLinux 的加载

uCLinux 有两种运行方式:一种方式是直接在Flash 中运行uCLinux 自带的引导程序;另一种方式是将固化在Flash 中的u -CLinux 先拷贝到SDRAM 的某一段地址区间,再从该段地址区间的首地址运行uCLinux 。uCLinux 编译后目标文件一般可控制在几百KB 量级,加上应用程序,则可达到几M 量级。主芯片LPC2478的片内512k 的Flash 根本不能满足uCLinux 的存储要求,所以采用第二种方式,将固化在NandFlash 里的uCLinux 拷贝到片外的SDRAM 的某段

地址中,再从该段地址区内运行uCLinux 。由此看来,BootLoader 除了要完成上面

提到的系统硬件初始化,串口通信,还要完成NandFlash 和SDRAM 的初始化,将

uCLinux 从NandFlash 拷贝到SDRAM 。

4)地址映射表的配置和中断向量的重映射

所谓地址映射是指对片内和片上的存储器系统及外部设备进行统一编址并

分配地址范围,应用程序则可根据地址范围辨识相应的设备。微处理器LPC2478

共有4GB 的寻址空间,外部设备挂接在两种内部总线APB(Advanced Peripheral

Bus)和AHB(Advanced-High-performance Bus)上,挂在APB 总线上的外设称为

APB 外设,挂在AHB 总线上的外设称为AHB 外设。在上电复位后,LPC2478的

存储器地址空间的映射如图2所示。

图2中这些地址范围是已经设置好的,不能修改只能使用,但跟重映射并不

矛盾。重映射的提出是与处理器的异常处理机制相关,LPC2478支持7种异常处

理,将所有的异常处理程序的地址保存在一段连续的存储空间里,称为异常向量

表,它的地址范围是0x00000000~0x0000003F ,这段地址范围称为异常向量地址

空间。系统一上电,把存储在片内Flash 的异常向量表复制到片内SRAM 中,然后

通过LPC2478的映射控制器把SRAM 中的异常向量表重映射到地址0x0000

0000开始处。这样,当系统发生异常时,就会从已经映射到异常向量地址空间的

片内SRAM 中找到对应异常处理程序的入口地址。这么做可以提高系统对异常

的实时响应能力和克服易失性存储器掉电丢失的弊端。

按照上面的论述,下面给出了针对本系统硬件平台,uCLinux 的BootLoader

的启动过程流程图。

如流程图3所示,BootLoader 的程序设计主要包括以下几个内容:1)设置异常向量表和各模式下的堆栈空间。

2)建立地址映射表,中断向量重映射。

3)目标板初始化。包括时钟建立、GPIO 初始化、中断向量控制器初始化、

UART 初始化。

4)内核的拷贝。包括外部存储器32MSDRAM 和256MNandFlash 的读写,处

理器DMA(Direct Memory Access)方式实现。

BootLoader 的程序实现采用汇编语言和C 语言混合编程。汇编语言主要完

成异常向量表建立,7个模式下的堆栈空间配置,地址映射表配置。C 语言完成目

标板的初始化和内核的拷贝。目标板初始化包括异常向量表重映射,硬件时钟建

立,通用输入输出口配置,中断向量控制器设置,定时器初始化,串口通信等。内

核拷贝与系统的通用DMA 控制器和外部存储器控制器有关,LPC2478拥有一

个通用DMA 控制器,支持存储器到存储器、存储器到外设、外设到存储器和外设

到外设的数据传输。内核的拷贝可以利用这种数据传输方式实现外部存储器

NandFlash 到外部存储器SDRAM 的数据搬移,通过建立一个DMA 的外部中断

程序就可以实现;外部存储器控制器为LPC2478支持外部静态存储器和动态存

储器提供了可能,外部存储器控制器也称为EMC(External Memory Control)模块,

它是一个AHB 从机模块,支持多达8个单独配置的存储器组,其中静态存储器和动态存储器各4个Bank ,静态存储器组的每个组存储容量为16MB ,动态存储

器组的每个组的容量为256M 。本系统里,主芯片就是通过EMC 模块控制扩展的异步静态存储器(NandFlash)和动态存储器(SDRAM)的,在使用过程中,需要仔细阅读外扩存储器芯片资料,获得准确的配置参数,配置EMC 提供的相关寄存器,才能使得外扩存储器图2LPC2478存储器地址空间映射图3BootLoader 的启动过程流程图

Computer Knowledge and Technology 电脑知识与技术

第6卷第6期(2010年2月)使用正常。由于不同系列的处理器对NandFlash 的控制并没有通用性,因此

有必要给LPC2478对NandFlash 的控制做一个阐述。

4NandFlash 的软件和硬件控制

4.1NandFlash 的硬件控制

正如上面讲述的,微处理器LPC2478通过EMC 模块来控制NandFlash

的操作,主芯片并没有NandFlash 读写时需要的直接的硬件接口,它是通过

EMC 功能模块给NandFlash 提供控制信号,然后通过软件编程实现LPC2478

对NandFlash 的控制。图4给出的是本系统中NandFlash 与处理器的硬件连

接。

如图4所示,CE(Chip Enable)片选信号用来选择NandFlash 芯片,由P0

口控制;I/O[7:0]是数据输入输出口,指令、地址、数据复用,与EMC 模块的数

据线连接,提供8位的数据传输;WE(Write Enable)写使能信号,在它的上升

沿将I/O 上的指令、地址、数据锁存,由EMC 的片选信号CS1和写信号经过74HC32或门产生;指令CLE(Command Latch Enable)命令锁存信号,在WE 的上升沿并且CLE 为高电平时将指令锁存,由地址线A21控制;R/B(ready/busy)用来显示NandFlash 的操作状态,当它为高电平时表示有编程、擦除或读取操作在运行,它连接在P0口上,在运行过程中通过读取该端口的状态来判断Nand -Flash 的操作是否完成;WP(Write Protection)写保护信号,低电平有效。在软件模拟中,比较关键的就是CLE 和ALE 的模拟,CLE 由地址线A21控制,将它置成高电平,可以实现指令的锁存,由LPC2478的用户手册可知,CS1选择的静态存储器组的地址映射范围为0x81000000~0x81FFFFFF,所以可以设置一个指针常量*PCLE=0x81200000来实现CLE 的控制,ALE 的设置类似,这里不再赘述。

除了上述的NandFlash 的硬件连接,NandFlash 的存储结构和寻址方式也非常重要。本系统中用的是一款由三星生产的256M *8bit 的NandFlash 芯片8位位宽,工作电压为3.3V ,内部存储结构为2112bytes*64pages*2048blocks 。页大小为2048Byte+64Byte ,前2048(211)byte 称为有效数据域,用来存放要存储的数据,后64Byte 称为空白域,用来存放ECC 数据校验和芯片信息等。

NandFlash 的寻址方式与NandFlash 的存储结构密不可分,256M (228)的NandFlash 的寻址理论上需要28个bit ,可以用A[27:0]表示,其中2048个byte 需要11个bit ,用A[10:0]表示称为column address ;64个page 需要6个bit ,用A[16:11]表示,称为page ad -dress ;2048个block 需要11个bit ,用A[27:17]表示,称为block address 。在NandFlash 中,地址只能在I/O[7:0]上传递,需要通过移位,进行5次的8位地址传递。

上面主要讨论了NandFlash 的硬件连接,结构和寻址方式,下面要说明的是根据芯片手册对总线的读取时序进行设置。软件模拟时序关键在设置正确的时间延迟。EMC 模块为每个静态存储器Bank 提供了7个静态存储器寄存器,写使能芯片延迟、输出使能延迟,读访问延迟,写访问延迟寄存器对数据的读取影响最大。按照NandFlash 芯片手册,它的写使能的延迟Twc 和输出使能延迟Trc 都至少为30ns [3],写使能延迟和读使能延迟配置是以EMC 模块的时钟频率为单位的,在本系统中,EMC 模块的时钟频率为28.8M ,一个时钟频率约为30ns ,所以Twc/TRc 应该至少是一个时钟频率,再加上硬件连接上CS 和WE 信号经过一个或门的延迟,所以可以把Twc 设置为3个周期,Trc 设置为2个周期。另外两个比较重要的延迟就是读访问延迟和写访问延迟,根据NandFlash 的读写时序可以看出在在读取数据时,先把一页的数据从NandFlash 的存储单元传送到数据缓冲区,等到NandFlash 的R/B 显示Ready 状态时,才会开始读取数据,读访问延迟寄存器配置的就是这段时间,按照芯片手册的数据,这段时间最大约25us [3],所以配置成最大的32个时钟频率。如此,NandFlash 的时序设置就完成了。

4.2NandFlash 的软件控制

上面主要介绍了NandFlash 的硬件连接,结构,寻

址方式和如何正确软件模拟读写时序。下面要讨论的

是对NandFlash 的软件控制。图5给出的是本系统设计

的NandFlash 的程序流程图,用来测试NandFlash 的操

作。如图5所示,一个完整的LPC2478对NandFlash 的

操作包括NandFlash 的ID 号的读写,块的擦除,坏块检

测,页的读写。在程序运行过程中,串口最后能够输出

NandFlash 测试成功,表明NandFlash 的运行正常。

5测试结果与分析

将编译好的BootLoader 烧写到片内Flash 的

0x00000000开始的存储空间内,系统一上电复位后,从

入口地址0x00000000开始运行BootLoader ,串口输出

一系列的验证成功信息,基本上算运行成功。对于片内

存储容量为k 级的微控制器而言,uCLinux 的引导程

序设计相对比较繁琐,工作量比较大。特别是非易失性

存储器NandFlash 的控制与烧写不容易实现,目前通用

的烧写工具对片外NandFlash 的支持也很少。为了节省(下转第1518页)

图4NandFlash 的硬件连接图5NandFlash 的程序设计流程图

Computer Knowledge and Technology 电脑知识与技术

第6卷第6期(2010年2月)

(上接第1515页)

开发时间,在设计系统的硬件平台时,尤其是大型的嵌入式系统,可以尽量选择片内存储容量M 级以上的主芯片,或者选择目前烧写支持比较多的外扩存储器芯片系列。在这个设计里,由于Windows 平台下的集成开发环境Keil 不支持uCLinux 的编译,uCLinux 的映像文件的固化采用专门的烧写工具烧写,因此并不具有普遍的适用性;另外,NandFlash 的坏块检测只是检测了它在出厂时含有的坏块,对于在使用过程中产生的坏块的管理并没有涉及,这些都需要在以后的使用过程中继续完善。

6结论

本文介绍了一种针对LPC2478的嵌入式系统中uCLinux 的引导程序的设计方案,对自己设计BootLoader 做了些许尝试与深入的研究。此方案对于同样架构和不同架构的微处理器的BootLoader 设计,或者现在流行的开源BootLoader 的移植都有很大的借鉴作用。

参考文献:

[1]

桂电-丰宝联合实验室.ARM 原理与嵌入式应用[M].北京:电子工业出版社,2008:262-264.[2]

Yagbmour K.构建嵌入式Linux 系统[M].北京:中国电力出版社,2005:254-256.[3]

SAMSUNG 公司.K9F2G08datasheet[EB/OL].https://www.doczj.com/doc/11244374.html,.[4]

周立功.ARM 微控制器基础与实战[M].2版.北京:北京航空航天大学出版社,2005.[5]

张伟,胡晨,张哲.NAND FLASH 在https://www.doczj.com/doc/11244374.html, 系统中的应用设计[D].南京:东南大学,2006.[6]NXP 公司.LPC2478User Manual[EB/OL].https://www.doczj.com/doc/11244374.html,.

Ship 类中的setShipShape 方法用来设置船舶的经纬度信息和航行角度,DrawShip 是绘制船舶的方法,DrawShip 函数有两个参数,AlarmType 参数表示船舶对象所属的类型编号,非用户自定义的船舶默认编号为0,使用默认的属性显示,第二个参数ShipMMSI 表示船舶的呼号,用以代表船舶唯一的编号。

根据船舶对象的经纬度信息确定船舶在地图上的位置后,DrawShip 函数在地图相应位置上绘制一个锐角三角形代表该船舶,并且将三角形所属的类型编号记入船舶地物的属性中。在定时器中不断重绘船舶的位置,就在地图上的相应位置显示了动态航行的船舶。

4.2船舶的分级渲染

船舶在地图上有ArcObjects 组件有一个BreakClassRender 方

法,这是一个图层对象的方法,用于分级渲染地物,顾名思义,对

于某一个图层上的点、线、面任一种地物来说,根据地物的某一个

属性值的大小进行分类,对于处在同一属性值范围内的地物显示

相同的样色。值得注意的是,船舶的种类由于用户需求的增加会

无预计的增加,这里需要用到vector 容器存储船舶的分类编号。

分级渲染后的船舶在地图上显示如右图1。

5小结

通过将船舶抽象化,建立船舶类,使程序的重用性和可维护

性更强了,船舶的分类显示和渲染主要采用了ArcObjects 组件的

方法,组件编程给软件开发带来了方便。参考文献:

[1]王志松,陈伟,赵鹏.GIS 在电子江图显示与信息系统中的应用[D].武汉:武汉交通科技大学,2003.

[2]吴建华,陶德馨,刘天才.AIS 在海事管理领域的应用[D].武汉:武汉理工大学,2008.

[3]陈伟,赵鹏,齐传新.电子江图显示与信息系统设计与实现[J].武汉理工大学学报,2001(4):2-3.

图1

键盘输入显示系统设计课程设计说明书

课程设计 键盘输入显示系统设计 初始条件: 1.选用8086最小模式; 2. 内存芯片使用2片6116(2K×8),1片2716(2K×8)EPROM; 3. 8255、8259、74LS138、LCD字符型液晶显示器及其驱动器; 4. 8255、8259的片选信号线分别接74LS138的Y1、Y2引脚; 5. 采用4×4键盘进行菜单功能选择; 6. 其他必须的配套元件。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1. 查阅参考资料,自学相关元件的内部结构、工作方式或初始化编程过程; 2. 完成微机基本系统及其扩展接口电路设计,绘制微机系统硬件原理图; 3. 绘制汇编源程序流程图,编制扩展接口电路工作的汇编源程序,包括初始化和监控工作程序; 4. 通过微机或DSG-88实验装置进行汇编源程序的调试; 5. 撰写设计说明书,设计说明书字数不少于5000字,具体要求见附录。 时间安排: 指导教师签名:2008年11 月23日系主任(或责任教师)签名:年月日

摘要 键盘输入显示系统是我们日常生活中最常见的系统,我们知道,从外观上看普通的微型计算机系统是由主机箱、显示器、键盘、鼠标构成。所以对键盘输入显示系统进行设计是非常必有和有用的。 当然本次课程设计的主要目的是达到在设计好的键盘输入显示系统中,在键盘上输入一个字符,然后在显示器上相应显示出对应的字符。 我的设计思想是:1、要实现键盘输入显示系统,首先要连接好硬件,如硬件图所示,其中各芯片接CPU,键盘的行线、列线分别接8255C口上半部、下半部,而且四根行线通过一个与非门接8259的IR0,LCD字符型液晶显示器接8255的B口,然后是编写程序。2、编写主程序,先关中断,填写中断向量表,然后是对8259初始化,再开中断,执行其他程序。3、编写子程序,其中有中断向量子程序、按键识别子程序、LCD显示子程序。4、键盘输入显示:按键时,四根行线信号通过一个与非门产生一个高信号给8259IR0,8259查找中断向量表,产生中断子程序,并且在中断子程序中CALL子程按键识别序和LCD显示子程序。5、键盘输入显示系统设计得以实现。 关键词:8086系统,4×4键盘,LCD液晶显示器,可编程芯片

新员工入职流程及程序

新员工入职流程及程序 一、目的 1、为新员工提供正确的、相关的公司及工作岗位信息,鼓励新员工的士气; 2、让新员工了解公司所能提供给他的相关工作情况及公司对他的期望; 3、让新员工了解公司历史、政策、企业文化,提供讨论的平台; 4、减少新员工初进公司时的紧张情绪,使其更快适应公司; 5、让新员工感受到公司对他的欢迎,让新员工体会到归属感; 6、使新员工明白自己工作的职责、加强同事之间的关系; 7、培训新员工解决问题的能力及提供寻求帮助的方法; 8、新员工试用期内的工作表现与岗位的适配度。 二、责任部门 人力资源部 三、管理内容 1、对求职人员情况进行初步了解; 2、办理入职手续; 3、向新员工介绍其工作内容、工作环境及相关同事,使其消除对新环境的陌生感,尽快进入工作角色; 4、入职培训; 5、试用期内对新员工工作的跟进与评估,为转正提供依据。 四、流程 (一)新员工应聘接待流程 1、应聘人员在人力资源部领取并填写《应聘人员履历表》;

▲准备工具:签字笔、《格应聘人员履历表》 ▲要求:对应聘人员要热情接待、解答;要求应聘人员在填写求职登记表时统一使用签字笔,对相关的内容要如实填写。 2、由人力资源部进行初次面试,根据面试情况填写《面试评价表》,并根据面试结果将初次面试人员档案进行分类存放,即分为:A类-初次面试合格者;B类-初次面试合格但岗位暂无空缺类(作为公司人才储备档案);C类-初次面试不合格者。 3、初次面试合格后通知相关用人部门管理者面试,对面试合格者发放《录用通知书》,并通知其入职时间和所需交资料。 ▲普通员工第二次面试由用人部门管理者负责面试; ▲中层以上管理人员除了由部门主管面试以外,还会安排公司经理面试。 ▲《录用通知书》背面注明报到时新员工应注意的相关事项,提醒新员工阅读。 (二)在新员工进入前报到流程 新员工入职前1-2天,人力资源部应做好以下几项准备工作: 1、整理报到人员个人资料,确定报到准确时间及方式。 2、通知新报到人员应准备的物品,如个人本人学历证明复印件、近期免冠彩照1寸2张,身份证复印件1份、体检健康证明原件。 3、做好新员工基本工作物件的发放及工作内容及联系人的确定: 内容: A.做好《入职培训指南》、《员工手册》、工号牌、考勤卡、餐卡的发放准备;【人力资源部】 B.为新员工准备一位“入职联系人”。一般情况下,新员工的“入职联系人”为该员工的直接上司。

WinCE操作系统

WinCE操作系统 WinCE操作系统是通用型的嵌入式操作系统,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。它1996年开始发布Windows CE 1.0版本,2004年7月发布了Windows CE .NET 5.0版本,目前用得最多的是Windows CE .NET 4.2版本,其发展速度也是很快的,功能上自不必描述,它的主要应用领域有PDA市场、Pcket PC、Smartphone、工业控制、医疗等。 就WinCE来讲,你无法买到WinCE这个操作系统,你买到的是Platform Builder for https://www.doczj.com/doc/11244374.html, 4.2的集成开发环境,我们也简称为PB,利用它你可以剪裁和定制出一个符合你自己需要的https://www.doczj.com/doc/11244374.html, 4.2的操作系统,因此,我们说的操作系统实际上完全是由自己定制出来的,这就是嵌入式操作系统最大的特点。 Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。Windows CE并非是专为单一装置设计的,所以微软为旗下采用Windows CE作业系统的产品大致分为三条产品线,Pocket PC(掌上电脑)、Handheld PC(手持设备)及Auto PC。 WindowsCE版本主要有1.0、2.0、3.0、4.0、4.2、5.0 和6.0 WINCE1.0是一种基于Windows95的操作系统,其实就是单色的Windows95简化版本。技术支持、直接资助等手段聚集了大量合作厂商,使WinCE类的PDA 阵容越来越强大。 WinCE2.0不仅比CE1.0快的多,而且的彩色显示,又众多新型PDA采用新的WinCE2.0系统,大有取代Pilot的趋势,成为PDA操作系统新的标准。尽管CE2.0仍然要比Pilot的操作系统需要的空间要大的多,但它具有Windows的界面,会用PC的人小编估计没有多少人不会使用微软的操作系统。 WinCE3.0是微软的Windows Compact Edition,是一个通用版本,并不针对掌上产品,标准PC、家电和工控设备上也可以安装运行,但要做许多客户化工作,当然也可以做掌上电脑。WinCE3.0把Pocket Word和Pocket Excel等一些日常所需的办公软件的袖珍版装了进去Pocket PC,同时在娱乐方面的性能做很大的加强。 https://www.doczj.com/doc/11244374.html,(即WinCE 4.0)是微软于2002年1月份推出的首个以.Net为名的操作系统,从名字上我们就可以知道它是微软的.net的一部分。https://www.doczj.com/doc/11244374.html,是WinCE3.0的升级,同时还加入.Net Framework精简版,支持蓝牙和.Net应用程序开发。 https://www.doczj.com/doc/11244374.html, 4.2是https://www.doczj.com/doc/11244374.html, 4.0/4.1的升级版,对Windows CE先前版本的强大功能进行了进一步的扩充和丰富,基于其开发的设备将从这些微小但重要的变化中获得更好的性能和更强的Windows集成功能。微软在WinCE4.2版时曾提供开放源代码,不过只针对研究单位,而程序代码较少,为200万行。WinCE5.0在2004年5月份推出,微软宣布WinCE5.0扩大开放程序源代码。在这个开放源代码计划授权下,微软开放250万行源代码程序作为评估套件(evaluationkit)。凡是个人、厂商都可以下载这些源代码加以修改使用,未来厂商OEM时,则再依执行时期(Run-time)授权,支付Win CE5.0核心每台机器3美元的授权费用,这也是微软第一个提供商业用途衍生授权的操作系统。

程序设计心得体会讲课教案

程序设计心得体会 程序设计心得体会一:程序设计心得体会 在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。 虽然在上个学期中,我们已经学习了《C语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。 C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。 在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。 这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。 在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而且尽

控规图则绘制程序(大小都适用)

控规图则绘制程序(大 小都适用)

图则 1.1 大范围图则图纸编制程序及其内容 1.1.1 前提:土地利用规划图范围、方案确定无误后方可做图则。 1.1.2 大范围图则由于地块及范围规模比较繁杂、因此快捷易操作且的流程很重要。下面是具体操作过程: 在做图则前可根据具体情况选择图框(有时候要两三个不同比例的图框)根据图框大小比例确定相应(路名、河流名,标注、等字体字高大小以及相应线形线宽等)以下是两个相应文件 文件夹01)图框 线框、题名(确认是否正确)、地块位置图及母版(线形设置成0.05、并且定义成成块“地块位置”)、“图则”及其内容“开发控制指标”及其控制项、备注城市设计等。 文件夹02)图框补充内容 街坊编号(须注意)、地块位置(注意检查位置是否正确)、图则页码(检查字体及数字是否正确)备注说明内容城市设计导引内容等(文字应用标准、宋体字体大小按1:1000图中字体为标准进行缩放) 做总图则,分层情况及操作步骤如下 层001 建筑后退线(颜色线宽)根据相关规范及要求确定具体退多少、基本做法是便宜道路中心线比较快、有时候需要偏移其它线。 层002 禁止机动车开口路段线(颜色线宽)根据道路交通的两个规定以及当前具体情况定禁止路段长度如立交桥等需要延长等。按规划院要求沿缘石线一般偏出道路红线3.5到4.5米。 层003 用地红线(水域一般不在建设用地范围不画用地范围线但有特殊水域需要画用地范围线的要画)(颜色线宽)一般是各地块的闭合线

层004 河道尺寸标注 层005 防护绿地尺寸标注(规则的标注、不规则的没要求不标) 层006 建筑后退距离标注 层007 路沿石转弯半径标注(规则河道需要标注的标以及地块内部道路的转弯半径等转弯半径需标注) 层008 建议机动车开口方位 层009 道路尺寸标注(总图则中不用标注此标注在参照后的各分图则中详细标注)(标注意样式设定统一按1:1000模版为标准根据不同比例进行缩放) 层YD-CODE 用地代码(湘源自动生成) 层DM-坐标坐标(湘源自动生成)(字高及其精度每张图则需设定)完成后需要炸开(总图则中不用标注此标注在参照后的各分图则中详细标注)(标注样式设定统一按1:1000模版为标准根据不同比例进行缩放)各参照要素前后层次关系确定无误后可作为外部参照使用 做总图则时地块编号以及用地性质代码插入后、各地块用地性质、地块编号、容积率、建筑限高、以及用地面积直接指标修改,建筑面积自动生成,各地块指标控制以览标可以用湘源导出、核查无误后可以制作各地块指标控制表。(序号、以及用地面积一定核查确认保证正确性) 1.1.3 外部参照设置 文件夹04)图面内容外部参照 用地红线、建筑后退控制线、各项标注、禁止机动车开口路段(按相关规定确定)、机动车出入口方位(常规的按平时规定加特殊要求视具体情使其达到均衡、美观、符合要求)、应配公共设施(根据公共服务设施表格加入)、

操作系统之调度算法和死锁中的银行家算法习题答案

操作系统之调度算法和死锁中的银行家算法习 题答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

1. 有三个批处理作业,第一个作业 10:00 到达,需要执行 2 小时;第二个作业在10:10到达,需要执行 1 小时;第三个作业在 10:25 到达,需要执行 25 分钟。分别采用先来先服 务,短作业优先和最高响应比优先三种调度算法,各自的平均周转时间是多少?解: 先来先服务: (结束时间=上一个作业的结束时间+执行时间 周转时间=结束时间-到达时间=等待时间+执行时间) 按到达先后,执行顺序:1->2->3 短作业优先: 1)初始只有作业1,所以先执行作业1,结束时间是12:00,此时有作业2和3; 2)作业3需要时间短,所以先执行; 3)最后执行作业2 最高响应比优先:

高响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。 1)10:00只有作业1到达,所以先执行作业1; 2)12:00时有作业2和3, 作业2:等待时间=12:00-10:10=110m;响应比=1+110/60=2.8; 作业3:等待时间=12:00-10:25=95m,响应比=1+95/25=4.8; 所以先执行作业3 3)执行作业2 2. 在一单道批处理系统中,一组作业的提交时刻和运行时间如下表所示。试计算一下三种 作业调度算法的平均周转时间 T 和平均带权周转时间 W。 ( 1)先来先服务;( 2)短作业优先( 3)高响应比优先 解: 先来先服务: 作业顺序:1,2,3,4 短作业优先: 作业顺序:

卫星导航定位算法与程序设计_常用参数和公式讲解

《卫星导航定位算法与程序设计》课程 常用参数和常用公式一览 编制人:刘晖 最后更新:2010年11月26日 1、常用参考框架的几何和物理参数 1.1 ITRFyy 主要的大地测量常数 长半轴a=6.3781366×106m; 地球引力常数(含大气层)GM=3.986004418×1014 m3/s2; 地球动力因子J2=1.0826359×10-3; 地球自转角速度ω=7.292115×10-5 rad/s。 扁率1/f =298.25642; 椭球正常重力位U0=6.26368560×107 m2/s2; γ=9.7803278 m/s2; 赤道正常重力 e 光速c=2.99792458×108 m/s。 1.2 GTRF主要的大地测量常数 长半轴a=6.37813655×106 m; 地球引力常数GM=3.986004415×1014 m3/s2; 地球动力因子J2=1.0826267×10-3; 扁率1/f =298.25769。 1.3 WGS84(Gwwww)主要的大地测量常数 长半轴a=6.3781370×106 m; 地球引力常数(含大气层)GM=3.986004418×1014 m3/s2; 地球自转角速度ω=7.292115×10-5 rad/s。 扁率1/f =298.257223563; 椭球正常重力位U0=62636860.8497 m2/s2; γ=9.7803267714m/s2; 赤道正常重力 e 短半轴b=6356752.3142m; 引力位二阶谐系数2,0 C=-484.16685×10-6; 第一偏心率平方2e=0.00669437999013; e'=0.006739496742227。 第二偏心率平方2 1.4 PZ90 主要的大地测量常数 长半轴a=6.378136×106m; 地球引力常数GM=3.9860044×1014 m3/s2; fM=3.5×108 m3/s2; 地球大气引力常数 a

海神(POSEIDON):Eldes可编程导引头模拟器

海神(POSEIDON):Eldes可编程导引头模拟器 海神被认为是反舰导弹(AShm)电子对抗效能验证的最佳解决方案!其特点、优势及应用范围如下: 1、特点: ●移动、可编程、半实物仿真(HWIL)的低空导引头模拟器; ●在海军试验中,用于电子支援/电子对抗/电子反对抗措施的测试与评估; ●强大的数据记录能力、采用专业软件分析; ●低成本舰载电子战验证方案; ●从X波段到Ka波段的广域有效带宽E; ●采用软件定义雷达技术,用户可通过图形界面轻松编程,以模拟反舰导弹的任何行 动; ●波形可编程的固态发射机; ●可编程的数字接收机; ●实时显示包括A\B\C范围、跟踪错误、频谱等信息; ●轻量级、低功率,便于可移动操作。 2、优势: ?减少了舰载电子对抗评估的时间和相关成本; ?提升了舰载电子对抗试验的准确性; ?允许对电子对抗库进行调整完善; ?针对精确仿真威胁,可进行电子战操作有关的逼真训练。 3、应用: ●专用试验中的舰载电子对抗评估; ●反舰导弹导引头的反对抗措施的开发与验证; ●电子战操作员培训; ●电子战装备的定期效能检查。 ***基础介绍*** 电子对抗效果的验证,尤其是针对反舰导弹、低空或其他类型火控雷达缺少简便的方案,为了达到这个目标,在电子战试验中,仪器化导引头经常得以应用。但此方法有其局限性,首先,大多数情况下,他们并不能代表真正的威胁,再者,它们是静态的,不能根据距离与轨道的变化生成动态实时信号,这样的系统仅仅能够模拟一种类型的威胁,有时只能生成传输脉冲,所以对于实时威胁或导引头的接收与处理链路来说,无法准确评估对抗措施的实际效果。因此只有电子支援部分能够被验证,而电子对抗效果无法评估。 借助海神-Eldes可编程导引头模拟器,能够消除或至少极大的减少这些限制,因为采用了软件定义雷达技术(SDR)。海神是一个半实物仿真系统,它包括一个天线(拥有合理的扫描控制),一个可编程波形固态发射机、射频前端、一个可编程数字化接收机、雷达信号处理器以及一个通用型显控面板。

(完整word版)操作系统 银行家算法

操作系统课程设计银行家算法

第一章引言 1.1 课程设计目地: 操作系统是计算机系统的核心系统软件,它负责控制和管理整个系统的资源并组织用户协调使用这些资源,使计算机高效的工作。课程设计的目的是综合应用学生所学知识,通过实验环节,加深学生对操作系统基本原理和工作过程的理解,提高学生独立分析问题、解决问题的能力,增强学生的动手能力。 第二章银行家算法描述 2.1 银行家算法简介: 银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。 要解释银行家算法,必须先解释操作系统安全状态和不安全状态。 安全状态:如果存在一个由系统中所有进程构成的安全序列P1,…,Pn,则系统处于安全状态。安全状态一定是没有死锁发生。 不安全状态:不存在一个安全序列。不安全状态不一定导致死锁。 那么什么是安全序列呢? 安全序列:一个进程序列{P1,…,Pn}是安全的,如果对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj (j < i )当前占有资源量之和。 2.2 银行家算法描述: 我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当

前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。 2.3银行家算法原理 2.3.1银行家算法的思路 先对用户提出的请求进行合法性检查,即检查请求的是不大于需要的,是否不大于可利用的。若请求合法,则进行试分配。最后对试分配后的状态调用安全性检查算法进行安全性检查。若安全,则分配,否则,不分配,恢复原来状态,拒绝申请。 2.3.2 银行家算法中用到的主要数据结构 可利用资源向量 int Available[j] j为资源的种类。 最大需求矩阵 int Max[i][j] i为进程的数量。 分配矩阵 int Allocation[i][j] 需求矩阵 int need[i][j]= Max[i][j]- Allocation[i][j] 申请各类资源数量 int Request i[j] i进程申请j资源的数量 工作向量 int Work[x] int Finish[y] 2.3.3 银行家算法bank() 进程i发出请求申请k个j资源,Request i[j]=k (1)检查申请量是否不大于需求量:Request i[j]<=need[i,j],若条件不符重新

卫星导航定位算法与程序设计实验报告

2013 级测绘工程专业 卫星导航定位算法与程序设计 实 验 报 告 实验名称:卫星导航基本程序设计 班级: 学号: 姓名: 实验时间: 2016年6月28日~2016年6月30 中国矿业大学

目录 实验一时空基准转换 (2) 一、实验目的 (2) 二、实验内容 (2) 三、实验过程 (2) 四、实验感想 (6) 实验二RINEX文件读写 (6) 一、实验目的 (6) 二、实验内容 (7) 三、实验过程 (7) 实验三卫星轨道计算 (12) 一、实验目的 (12) 二、实验内容 (12) 三、实验过程 (12) 四、实验感想 (15)

实验一时空基准转换 一、实验目的 1、加深对时空系统及其之间转换关系的理解 2、掌握常用时空基准之间的转换模型与软件实现 3、每人独立完成实验规定的内容 二、实验内容 本实验内容包括: 内容一:编程实现GPS起点1980年1月6日0时对应的儒略日 内容二:编程实现2011年11月27日对应的GPS周数与一周内的秒数 内容三:在WGS84椭球的条件下,编程实现当中央子午线为117度时,计算高斯坐标x = 3548910.811290287, y = 179854.6172135982 对应的经纬度坐标? 内容四:WGS84椭球下,表面x=-2408000; y=4698000;z= 3566000处的地平坐标系坐标为: e=704.8615;n=114.8683;u=751.9771的点对应的直角坐标为多少? 三、实验过程 1.针对第一、二部分内容: 1.1解决思路:先建立” TimeStruct.h”的头文件,将格里高利历、GPS时间结构、儒略日时间结构共结构体的方式放在里面;在建立“TimeTr”的头文件,建立类“CTimeT r”,创建变量“GPS Time”、“Time”、”JulDay”,并且申明函数“TIME2JUL”、“TIME2GTIME”等,用这些函数分别实现所需要的转换。 1.2具体的实现函数: “TIME2JUL”函数: double CTimeTr::TIME2JUL()//TIME Time,JULIANDAY &JulDay { double m,y; double D; //h =Time.byHour+Time.byMinute/60.0+Time.dSecond/3600.00; if(Time.byMonth<=2) {

windowsce操作系统简述

Windows CE 百科名片 WindowsCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。 简介 Windows CE操作系统是Windows家族中的成员,为专门设计给掌上电脑(HPCs)以及嵌入式设备所使用的系统环境。这样的操作系统可使完整的可移动技术与现有的Windows桌面技术整合工作。Windows CE被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统, Windows CE可以通过设计一层位于内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬件抽象层(HAL)(在以前解释时,这被称为OEMC(原始设备制造)适应层,即OAL;内核压缩层,即KAL。以免与微软的Windows NT操作系统的HAL混淆)。 与其它的微软Windows操作系统不同,Windows CE并不是代表一个采用相同标准的对所有平台都适用的软件。为了足够灵活以达到适应广泛产品需求,Windows CE可采用不同的标准模式,这就意味着,它能够从一系列软件模式中做出选择,从而使产品得到定制。另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式。通过选择,Windows CE能够达到系统要求的最小模式,从而减少存储脚本和操作系统的运行,也为企业创造更大效益[1]。 Windows CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于WIN32 API重新开发、新型的信息设备的平台。Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在

操作系统实验2银行家算法

操作系统课程设计报告课程名称:银行家算法 姓名:刘成启 学号:20101221149 班级:计算机1008班 指导老师:袁宁

共享资源分配与银行家算法 一、实验目的 [问题描述] 本题主要内容是模拟实现资源分配。银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 通过对这个算法的设计,让学生能够对书本知识有更深的理解,在操作和其它方面有更高的提升。 二、实验内容 [基本要求]具体用银行家算法实现资源分配。要求如下: (1) 设计一个3个并发进程共享3类不同资源的系统,进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。 (2) 设计用银行家算法,实现资源分配,应具有显示或打印各进程依次要求申请的资源数以及依次分配资源的情况。 (3) 确定一组各进程依次申请资源数的序列,输出运行结果。 [方案设计及开发过程] 1银行家分配算法,顾名思义是来源于银行的借贷业务,一定数量的本金要应多个客户的借贷周转,为了防止银行加资金无法周转而倒闭,对每一笔贷款,必须考察其是否能限期归还。在操作系统中研究资源分配策略时也有类似问题,系统中有限的资源要供多个进程使用,必须保证得到的资源的进程能在有限的时间内归还资源,以供其他进程使用资源。如果资源分配不得到就会发生进程循环等待资源,每个进程都无法继续执行下去的死锁现象。 把个进程需要和已占有资源的情况记录在进程控制中,假定进程控制块PCB其中“状态”有就绪态、等待态和完成态。当进程在处于等待态时,表示系统不能满足该进程当前的资源申请。“资源需求总量”表示进程在整个执行过程中总共要申请的资源量。显然,每个进程的资源需求总量不能超过系统拥有的资源总数, 银行算法进行资源分配可以避免死锁. 2.算法描述 银行家算法: 设进程I提出请求Request[N],则银行家算法按如下规则进行判断。 (1)如果Request[N]<=NEED[I,N],则转(2);否则,出错。 (2)如果Request[N]<=A V AILABLE,则转(3);否则,出错。 (3)系统试探分配资源,修改相关数据: A V AILABLE=A V AILABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST (4)系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。 3.安全性检查

按键基本设计理念参考参数

按键基本设计理念及参考参数 一、硅胶片 1.硅胶薄片 A、基边厚度(0.20----0.30)mm a 如果厚度<0.20mm,硅胶加工困难,且尺寸难以保证. b 如果厚度>0.30mm,会造成按键连动,手感不良. B、导电基高度(0.25-0.30)mm a 如果高度<0.25mm 会摇摆KEY b 如果高度>0.30mm,硅胶弹性变形,易影响手感,导电基与主板弹片中心会偏差. C、导电基顶面直径大小(¢1.8-¢2.5) D、导电基弹片中心对位偏差值<0.10mm E、KEY背面支撑柱位 a 支撑柱直径大小(0.60-0.80)mm b 支撑柱位高度:导电基高度—支撑柱位高度=(0.15-0.20)mm c 支撑柱位设计原则: ①位置尽量偏离导电基(x/y)较远处. ②根据用户使用手机习惯 F、灯位设计 a 灯位范围,单边放大(0.20-0.40)mm b 灯位遮位高度---遮光位=(0.10-0.12)mm G、硅胶PET遮光片设计方案 设计原则:保证客人原图装配高度不变 a 一般遮光片高度(0.05-0.08)mm b 0.10<正面KEY形高度<0.25mm c PTE遮光片—KEY形=单边间隙0.10mm d PC KEY外形尺寸—硅胶KEY=(0.70-0.80)mm(单边) H、硅胶+钢片 a 钢片厚度(0.10-0.12)mm

b 0.40<正面KEY形厚度<0.50mm 理想高度0.45mm c 钢片-KEY形=单边间隙0.10mm d PC KEY外形PC KEY外形尺寸—硅胶KEY=(0.70-0.80)mm(单边) (原则:考虑字符位置范围无干涉) 塑胶部分 一、导航键 1.裙边宽度(0.30-0.45)mm 2.裙边厚度(0.30-0.40)mm 3.导航键字符:0.12<字符宽度<0.25mm 0.08<字符深度<0.12mm 二、导航键与机壳的配合设计 A KEY直身高度:0.10-3.0mm KEY裙边高度:0.30-0.45mm KEY直身位于机壳配合单边间隙(0.15-0.20)mm KEY裙边与机壳配合单边间隙(0.10-0.15)mm B 导航键与机壳防呆设计(针对椭圆形/长方形/正方形/园形KEY) 防呆角尺寸长:0.60-0.80mm 宽:1.00-1.40mm 防呆角位置设计原则: 1、尽量避免进出胶位置 2、与其他KEY机壳干涉位置 C 导航键与OK键的配合设计 OK键直身位配合间隙单边0.08mm OK键裙边配合间隙单边0.10mm OK键裙边防呆角配合间隙: 1.X向(短)0.05<单边间隙<0.08mm 2.Y向(长)0.10<单边间隙<0.20mm 原则:1. 椭园形/园形/长方形/正方形/OK键加两个防呆角 2. 防呆角位置避开进出口点胶口位,且中心对称分布 D 数字功能键与机壳配合设计

基于WindowsCE系统的模拟时钟设计

基于WindowsCE系统的模拟时钟设计 【摘要】本文介绍了一种基于Windows CE 6.0操作系统的模拟时钟的设计方法,该设计以三星公司的S3C2440为核心,基于MFC编程,实现了钟面上时分秒针的实时显示。本设计编译生成的.exe文件可做为Windows CE系统的一个应用程序使用。 【关键词】ARM;S3C2440;Windows CE;模拟时钟 1.引言 随着科学技术的发展,嵌入式设备广泛应用于商业管理和工业控制等领域。本设计以ARM9嵌入式微处理器S3C2440为核心,基于MFC编程,在开发板的液晶显示屏上显示模拟时钟,实现了时分秒针的实时显示。 2.硬件平台 本设计以ARM9嵌入式微处理器S3C2440开发板为核心,主要利用S3C2440内置的RTC模块,通过读取系统时间来实时绘制时针,实现模拟时钟的实时走动。 3.软件设计 3.1 对话框设计 建立工程之后,在Resource View中设计模拟时钟的界面,选定一个与S3C2440触摸屏相符的对话框界面。模拟时钟的显示用程序实现,在对话框下方放置从Toolbox中选择的控件。本设计总共用到九个控件:对话框控件,显示时分秒的静态文本控件,用于显示数字的动态控件,更改时间的控件和确定控件等。 3.2 程序设计 首先添加一个OnTimer()函数读取系统时间并用作计时器的消息处理函数,用于通知moniDlg类中的画表盘刻度和指针的函数重新绘图。添加设置时间按钮函数,用于导出软键盘,设置时间;确认按钮函数用于关闭软键盘,此时屏幕刷新。 3.2.1 表盘刻度画法 在moniDlg类中添加画表盘刻度的函数。程序创建两种画笔,设置不同的颜色和粗细,来区分整点时刻和分点时刻。 由于S3C2440开发板显示屏默认的原点在左上角,根据S3C2440触摸屏的大小确定圆心位置,这样就确定了表盘的位置,表盘上的刻度都在以圆心为中心的圆环上。其坐标可以通过三角函数推导出来。设圆心坐标为(X,Y),半径为R,表盘上其他点的坐标为(X1,Y1),该点与圆心X轴夹角为A(0~360度),该点坐标为(X1=X+RcosA,Y1=Y+RsinA)。 由于我们习惯上使用逆时针的角度,而表针是顺时针转动,即在S3C2440上,坐标跟我们实际用到的坐标方向不同,所以我们应先算出从12点开始的每个刻度的正余弦值,即有60个数组元素的正余弦数组,为计算每个刻度跟时分秒针在表盘中的位置做准备。校正后的角度值,按顺时针重新排列三角函数值,得到如下正余弦数组: 时钟表盘画法流程图:见图1。 画表盘核心代码: 3.2.2 指针画法 在moniDlg类中添加刻画指针的函数。时分秒针主要用长短和粗细区分,亦

Web程序设计课程设计报告模板

Web程序设计课程设计报告课程设计题目:某电子杂志网站 姓名:肖琴霞 专业:软件工程(国际教育) 班级:10211133 学号:1021113321 指导教师:吴光明 2013 年 3 月 10 日

一、设计目的 《Web应用开发课程设计》是实践性教学环节之一,是《Web程序设计》课程的辅助教学课程。通过课程设计,使学生掌握Web网站的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握软件开发的基本概念、原理和技术,将理论与实际相结合,应用现有的开发工具,规范、科学地完成一个完整地应用软件的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正使得计算机被广泛的应用于信息管理系统。计算机的最大好处在于利用它能够进行信息管理和查询。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。制作电子杂志网站可以方便读者阅读,且可以扩大读者的视野以及提高阅历。 二、设计解决方案 问题解决方案: 经过分析,我们决定利用ASP编程,使用Dreamweaver MX作前端开发工具,利用SQLServer2000作后台数据库管理,数据库驱动使用ADO。 前台功能模块:系统主界面与登录程序设计,杂志查询及订阅,读者服务模块,杂志分类设计等。 后台功能模块:管理主界面与登录程序设计,最新杂志信息管理模块,杂志订阅管理模块,在留言管理模块设计等。后台管理的建立,使管理员可以通过后台很容易的对杂志城进行管理,比如:对最畅销杂志,公告和杂志城注册用户进行添加,删除等管理工作,还可以对读者在线留言的处理。 三、电子杂志网需求分析 3.1 需求分析 需求分析是整个设计过程的基础,最困难、最消耗时间的一步。它的最终结果是提供

操作系统实验四-银行家算法

银行家算法 xxx 711103xx 2012年5月21日一、实验目的 通过实验,加深对多实例资源分配系统中死锁避免方法——银行家算法的理解,掌握Windows环境下银行家算法的实现方法,同时巩固利用Windows API进行共享数据互斥访问和多线程编程的方法。 二、实验内容 1. 在Windows操作系统上,利用Win32 API编写多线程应用程序实现银行家算法。 2. 创建n个线程来申请或释放资源,只有保证系统安全,才会批准资源申请。 3. 通过Win32 API提供的信号量机制,实现共享数据的并发访问。 三、实验步骤(设计思路和流程图) 最主要的用以实现系统功能的应该有两个部分,一是用银行家算法来判断,二是用安全性算法来检测系统的安全性。 1、银行家算法 设Requesti是进程Pi的请求向量,如果Requesti[j]=K,表示进程Pi 需要K个Rj类型的资源。当Pi发出资源请求后,系统按下述步骤进行检查:

(1) 如果Requesti[j]≤Need[i,j],便转向步骤2;否则认为出错,因为它所需要的资源数已超过它所宣布的最大值。 (2) 如果Requesti[j]≤Available[j],便转向步骤(3);否则,表示尚无足够资源,Pi须等待。 (3) 系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值:Available[j]∶=Available[j]-Requesti[j]; Allocation[i,j]∶=Allocation[i,j]+Requesti[j]; Need[i,j]∶=Need[i,j]-Requesti[j]; (4) 系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi,以完成本次分配;否则,将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。 2、安全性算法 (1) 设置两个向量:①Work∶=Available; ②Finish (2) 从进程集合中找到一个能满足下述条件的进程:①Finish[i]=false; ②Need[i,j]≤Work[j];若找到,执行步骤(3),否则,执行步骤(4)。(3) 当进程Pi获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行:Work[j]∶=Work[i]+Allocation[i,j]; Finish[i]∶=true; go to step 2; (4) 如果所有进程的Finish[i]=true都满足,则表示系统处于安全状态;否则,系统处于不安全状态。

按键设计经验规范

按键设计经验规范 07.9.2009 in 手机结构设计by admin 按键设计 1,导航键分成4个60度的按键灵敏区域,4个30度的盲区,用手写笔点按键60度灵敏区域与盲区的交界处,检查按键是否出错,具体见附图 2,keypad rubber平均壁厚0.25~0.3,键与键间距离小于2时,rubber必须局部去胶到0.15厚度,以保证弹性壁的弹性

3,keypad rubber导电基高度0.3 ,直径φ2.0(φ5dome),直径φ1.7(φ4dome),加胶拔模3度 4,keypad rubber导电基中心与keypad外形中心距离必须小于keypad对应外形宽度的1/6,尽量在其几何中心 5,keypad rubber除定位孔外不允许有通孔,以防ESD 6,keypad rubber与壳体压PCB的凸筋平面间隙0.3,深度间隙0.1 7,keypad rubber柱与DOME之间间隙为0 8,keypad dome接地设计: (1).DOME两侧或顶部凸出两个接地角,用导电布粘在PCB接地焊盘上 (2).DOME两侧凸起两个接地角,翻到PCB背面,用导电布粘在是shielding或者接地焊盘上(不允许采用接地角折180压接方式,银浆容易断 9,直板机key 位置的rubber比较厚,要求key plastic部分加筋伸入rubber,凸筋距离dome 0.5,凸筋与rubber周圈间隙0.05 10,翻盖机键盘间隙(拔模后最小距离):键与键之间间隙0.2,导航键与壳体间隙0.15,独立键与壳体间隙0.12,导航键中心的圆键与导航键间隙0.1 11,直板机键盘间隙(拔模后最小距离):键与键之间间隙0.2,导航键与壳体间隙0.2,独立键与壳体间隙0.15,导航键中心的圆键与导航键间隙0.1 12, 键盘唇边宽与厚度为0.4X0.4 13,数字键唇边外形与壳体避开0.2,导航键唇边外形与壳体避开0.3 14,keypad键帽裙边到rubber防水边≥0.5 15,键盘上表面距离LENS的距离为≥0.4mm 16,数字键唇边深度方向与壳体间隙0.05,导航键深度方向与壳体间隙0.1 17,按键与按键之间的壳体如果有筋相连,那么这条筋的宽度尽量做到2.5mm以上,以增强按键的手感,并且导航键周围要有筋,以方便导航键做裙边 18,钢琴键,键与键之间的间隙是0.20MM,键与壳体之间的间隙是0.15MM,钢板的厚度是0.20毫米。钢琴键钢板与键帽之间的距离0.40,键帽最薄0.80,钢板不需要粘贴在RUBBER上,否则导致键盘手感不好 19,结构空间允许的情况下,钢琴键也可以不用钢板,用PC支架代替钢板,PC支架的厚度是≥0.50MM]

相关主题
文本预览
相关文档 最新文档