操作系统
文章平均质量分 83
AndyRo1984
这个作者很懒,什么都没留下…
展开
-
音频编解码标准
PCMU(G.711U)类型:Audio制定者:ITU-T所需频宽:64Kbps(90.4)特性:PCMU和PCMA都能提供较好的语音质量,但是它们占用的带宽较高,需要64kbps。优点:语音质量优缺点:占用的带宽较高应用领域:voip版税方式:Free备注:PCMU and PCMA都能够达到CD音质,但是它们消耗的带宽也最多(64kbps)。如果网络带宽比较低,可以选用低比特速率的编码方转载 2009-11-27 00:24:00 · 1335 阅读 · 1 评论 -
Windows CE嵌入式导航系统研究(关键技术)
1.1 GPS 全球定位技术 GPS(Global Position System):全球定位系统,它是美国从上世纪 70 年代开始研制,历时 20 年,耗资近 200 亿美元,于 1994 年全面建成的利用导航卫星进行测时和测距,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。如今,GPS 已经成为当今世界上最实用,也是应用最广泛的全球精密导航、指挥和调度系统。 1.1.1 GPS 组成 GPS 系统主要包括有三大组成部分,即空间星座部分、地面控制部分和用户设备部分[6]原创 2010-08-01 20:23:00 · 2549 阅读 · 0 评论 -
Windows CE嵌入式导航系统研究(内核相关)
1.1 嵌入式车载导航系统的软件设计流程 嵌入式车载系统软件主要包括系统内核、驱动程序、应用程序三部分。设计的过程当中,我们采用瀑布模型进行设计,首先制定Windows CE5.0系统内核,再次编写相关设备驱动,最后编写或移植应用程序。 制定内核时,我们采用SunSaung2440 BSP(板级支持包)进行制定,同时提交组建保证系统支持网络通讯、文件系统、CAB包安装、汉语支持等功能。不仅如此,为方便系统应用程序开发,内核制定之后,我们发布相应的SDK。 图 5.1 软件设计流程 1.2 Win原创 2010-08-02 21:40:00 · 14594 阅读 · 2 评论 -
Windows CE嵌入式导航系统研究(硬件设计1)
1.1 ARM微处理器的选择 1.1.1 ARM微处理器系列 ARM 微处理器目前包括下面几个系列,其它厂商基于ARM 架构的处理器,除了具有ARM 架构的共同特点以外,每一个系列的ARM 微处理器都有各自的特点和应用领域。 l ARM7 系列 l ARM9 系列 l ARM9E 系列 l ARM10E 系列 l SecurCore 系列 l Inter 的Xscale l Inter 的StrongARM 其中,ARM7、ARM9、ARM9E 和ARM10E 为4 个通用处理器系列,每原创 2010-08-02 21:51:00 · 1478 阅读 · 0 评论 -
Windows CE S3C2440A下按键驱动程序编码分析
这些程序基于TQ2440平台,主要是实现键盘按键的运作,方便起见,只实现了上下左右四个按键。该部分硬件结构图如下; 从硬件图可以看出,按键连接EINT1、EINT2、EINT4和EINT0四个中断引脚。在WindowsCE中,我们只需要处理好这四个中断即可,如下详细介绍; 从这幅图中可以看出,EINT0~4的是由GPF0~4控制的,因此在驱动之前需要先配置这四个GPIO口,使其下降延触发,如下代码; v_pIOPregs->GPFCON &= ~(0x3 GP原创 2010-09-07 07:39:00 · 1016 阅读 · 2 评论 -
Windows CE S3C2440A开机启动滚动条编码分析
和Windows XP一样,Windows CE任然可以绘制美妙的进度条,其实这个操作过程主要是对屏幕缓存进行操作。在S3C2440 CPU BSP代码中已经给出了这段缓冲的地址即IMAGE_FRAMEBUFFER_UA_BASE_eboot,这段缓冲支持的视频编码格式是RGB16,默认颜色为白色,在这个过程当中,并不像EVC一样提供了很多GDI绘图的函数,如绘制线条、矩形等,所有的操作都是从点开始的,由点绘制成线,由线绘制成矩形。可以发现,整个缓冲可以定义为一个二唯数据,每一个元素就是一个点原创 2010-09-24 20:51:00 · 925 阅读 · 0 评论 -
盗梦空间现实版:Linux正盗走Windows美梦
Linux一直试图在桌面操作系统上与Windows一决高低,但是多年来赢取的市场份额非常有限。事实证明,除去PC桌面,Linux还有很多可 以争取的市场空间。随着近期,诺基亚Maemo与英特尔Moblin项目合并后推出MeeGo操作系统,谷歌Android操作系统在智能手机市场取得的 进展,这些基于Linux平台的自由软件接连迸发,无疑都让人欢欣鼓舞。转载 2010-09-30 07:43:00 · 995 阅读 · 0 评论 -
Windows CE6.0 S3C2440A IIC驱动编码解析
S3C2440A RISC微处理器可以支持多主设备IIC总线串行接口。专用串行总线(SDA)和串行时钟线(SCL)承载总线主机设备和连接IIC总线的外围设备之间的信息。SDA和SCL线都是双向的。原创 2010-10-14 23:48:00 · 1763 阅读 · 3 评论 -
Windows CE S3C2440A显示驱动编码分析
在Windows CE下显示驱动是一个比较复杂的驱动,不仅仅设计到硬件的操作,还有上层驱动的GDI接口支持,有时候还需要支持DirectDraw等绘图接口。原创 2010-10-17 11:51:00 · 1136 阅读 · 0 评论 -
嵌入式通用行业应用平台的灵魂和搭建
机会总是伴随着市场需求的到来,如今嵌入式行业的发展如日中天。有些单靠做流媒体行业应用发家的,有些单靠做手持机行业产品发家的。从市场分析来看,所有的这些应用都是基于一个很小的行业发展起来的,深入研究数年就小有成就,正如我去年发表的一片文章中介绍的,如今的嵌入式行业应该定位一个行业,深挖这个行业的需求,并专注于这个行业,致力做到该行业的领导品牌。但是反过来看看,在嵌入式行业,基于行业应用的产品也不乏小数,成功的例子又有几人? 如此、不禁引起我们的反思,如何构建嵌入式通用行业应用平台呢?让我们从下面这几个问题来慢原创 2010-11-12 19:02:00 · 2400 阅读 · 0 评论 -
程序访问物理地址之MmMapIoSpace 与 OALPAtoVA
在程序中使用的都是虚拟地址,如果要对物理地址进行操作,需要用到MmMapIoSpace把物理地址映射到虚拟地址,如:pBaseAddress = (PUCHAR)MmMapIoSpace(ioPhysicalBase, Size, FALSE);访问pBaseAddress的指向地址,就是访问被映射后ioPhysicalBase定义的物理地址。转载 2010-12-15 18:11:00 · 1808 阅读 · 0 评论 -
Microsoft Windows CE 5.0 Board Support Package, Boot Loader, and Kernel Startup Sequence
Learn about the initial, low-level startup sequence and the hardware platform functions that are performed when the boot loader and OEM abstraction layer (OAL) are developed and the kernel is run. The startup sequence is an integral part of developing the转载 2011-05-23 17:48:00 · 1313 阅读 · 0 评论 -
WinCE6.0中应用程序如何直接访问物理空间
在实际开发过程中,经常希望能在应用程序中直接读写设备的物理空间。以前在做WinCE6.0下的MEMMgr时通过秘密加载一个内核态驱动实现了这个需求。但这种方式有一个明显的缺陷,每次读写都必须经由它才能完成。如果只是读取GPIO,那问题不算大。如果想通过这种方式实现视频播放的加速就原创 2011-07-18 12:25:38 · 1600 阅读 · 0 评论 -
Windows CE系统开发,BSP包中的几个常见文件详解
Windows CE系统开发,BSP包中的几个常见文件详解BSP介绍(Board Support Package)是介于底层硬件和上层软件之间的底层软件开发包,它主要功能为屏蔽硬件,提供操作系统及硬件驱动,具体功能包括:(1) 单板硬件初始化,主要是CPU的初始原创 2011-07-31 19:13:04 · 3271 阅读 · 0 评论 -
Comparison of Performance of Different poll implementations
epoll Scalability Web PageIntroduction Interface Description Man Pages Testing dphttpd dphttpd SMP results dphttpd UP results pipetest pipetest results Recent comparison results Analysis and Conclusio转载 2011-10-24 22:13:55 · 1169 阅读 · 0 评论 -
Nginx源码分析-Epoll模块
Linux平台上,Nginx使用epoll完成事件驱动,实现高并发;本文将不对epoll本身进行介绍(网上一堆一堆的文章介绍epoll的原理及使用方法,甚至源码分析等),仅看一下Nginx是如何使用epoll的。Nginx在epoll模块中定义了好几个函数,这些函数基本都是作为回调注册到事件抽象层的对应接口上,从而实现了事件驱动的具体化,我们看如下的一段代码:ngx_event_module_t转载 2011-10-22 20:55:07 · 1822 阅读 · 0 评论 -
Linux-epoll 高性能网络服务应用
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_S转载 2011-01-07 18:56:00 · 1671 阅读 · 2 评论 -
Windows XP下USB转串口驱动编码实现分析
USB转COM驱动的编写实现有很多中方法,最近在网络上看到一个最常用的方式,即是虚拟一个COM口,在COM初试的时候进行打开一个USB设备.原创 2011-01-06 19:09:00 · 4395 阅读 · 0 评论 -
S3C2440A WiinCE下CMOS驱动程序修改和摄像头应用程序
今日在处理Windows CE5.0下的s3c2440a摄像头相关程序,在网上找了很多资料,但是未免不全,经过这些天的总结,在驱动和应用程序处理的工程当中需要注意一下几个问题,在此列出,便于读者参考。 1、在Windows CE5.0当中,驱动和应用程序是分开的,虚拟内存的地址存在着很大的差异,因此不能直接用驱动中的RGB_ADRESS来直接获取RGB数据,驱动中CAM_IOCTL_SAMSUNG_CAM_PR命令不能用,这块就需要自己修改驱动程序,第一可以继续实现CAM_IOCTL原创 2010-06-24 15:08:00 · 1955 阅读 · 3 评论 -
在Windows CE增加自定义中断处理
在Windows CE增加自定义中断处理基于S3C2410,Windows CE4.2,BSP是smdk2410。WinCE的中断处理是三个映射关系:ISQ --> Interrupt ID(逻辑中断号) --> Event对象。当中断发生时,ISR(中断服务例程)返回该中断号对应的逻辑中断号,然后尽可能快地返回;随后CE就set该逻辑中断号对应的Event对象(如果有的话),以原创 2010-05-06 21:02:00 · 789 阅读 · 0 评论 -
WinCE USB驱动开发经验谈
WinCE USB驱动开发经验谈随着USB2.0设备的不断增加,USB设备驱动开发在嵌入式开发中变的越来越重要。Windows CE支持USB 2.0更是对这一波新技术浪潮产生巨大的推动。近期我负责一个这样的项目,在WinCE下开发USB接口的外围设备驱动。当时做这个项目花费了我相当多的时间和精力,错走许多冤枉路使我精疲力尽。项目需求是在已调好的ARM9板子上开发USB WiFi无线网卡的转载 2010-01-04 20:59:00 · 2095 阅读 · 0 评论 -
WinCE虚拟串口驱动(二)
//======================================================================== //TITLE: // WinCE虚拟串口驱动(二) //AUTHOR: // norains //DATE: // Saturday 28-March-2009 //Environment: // WINDO原创 2010-04-06 12:41:00 · 679 阅读 · 0 评论 -
Windows CE嵌入式导航系统研究(前言)
1.1 课题研究的背景与意义 当前,以具有无线通讯功能的个人数字助理 PDA、手持个人电脑 HPC、交互式网络信息家电、车载多媒体系统为代表的新一轮智能型 3C(Computer、Communication、Consumer)合一的类 PC 嵌入式系统与技术进入了一个崭新的智能化、网络化的发展阶段,类 PC 嵌入式系统与产品的嵌入式操作系统及其应用软件也同时得到了空前的发展与繁荣。同时,社会经济的发展,交通路网通过能力已满足不了交通量增长的需要,交通拥挤和阻塞现象日趋严重,交通污染和事故的问题也日益明显。原创 2010-08-01 20:16:00 · 1560 阅读 · 0 评论 -
What is an Embedded System?
Most people don't realise that the most common form of computer in use today is by far the embedded computer. In fact, 98% of computing devices are embedded in all kinds of electronic equipment and machines. Computers are moving away from the desktop and a原创 2010-07-28 00:14:00 · 1337 阅读 · 0 评论 -
Windows Embedded CE6.0高效的内存管理
在过去的10年里,Windows Embedded CE操作系统已经从一个非成熟的操作系统发展成一个新的、有活力的操作系统。当然,Windows Embedded CE始终是一个先进的、抢先多任务和支持虚拟内存的操作系统,,在这段发展过程当中,微软在Windows embedded CE操作系统除内存管理外的各个方面都进行改进,但、Windows Embedded CE操作系统却在一些领域因为内存和代码密集因素受到一些严格的限制,例如机顶盒领域。 具体来说,这些限制是Windows Emb原创 2010-06-02 10:59:00 · 3004 阅读 · 0 评论 -
Windows CE 6.0 启动过程分析
在理顺了上述文件的相互之间的关系之后,再来分析Windows CE 6.0的启动过程可能就比较容易啦。 1、Startup函数: 从Windows CE 6.0的帮助文档可以看出,WinCE6.0的启动只与oal.exe和kernel.dll有关,至于kitl.dll,只有将操作系统编译成具有 KITL功能时才用到。分析Windows CE 6.0的启动过程实际上找到编译oal原创 2010-04-16 19:51:00 · 1099 阅读 · 1 评论 -
内存分配和释放
自从学习了C语言,老师就教导我们说:对于动态内存的申请和释放,一定要遵守“谁申请,谁释放”的原则。在此原则的指导下,不仅是我、不仅是你,就连特级大师都设计了这样怪怪的函数: 函数说明评论GetWindowText(HWND,LPTSTR,int)取得窗口标题。需要在参数中给出保存标题所使用的内存指针,和这块内存的尺寸。晕!我又不知道窗口标题的转载 2009-12-26 15:27:00 · 1502 阅读 · 0 评论 -
浅谈WinCE平台USB摄像头驱动开发流程
由于良好的性能、低廉的价格和灵活方便的特性,USB 摄像头正被广泛的集成到嵌入式系统中。例如,通过USB 摄像头WinCE系统可以很方便地得到实时图像,这对某些要求实时图象监控的嵌入式系统是一个很不错的选择。但是由于嵌入式硬件平台的多样性,以及WinCE对USB设备驱动开发只提供了底层支持,再加上许多摄像头厂商尚未提供WinCE下的USB摄像头驱动,这对初级开发人员在开发WinCE USB摄像头程转载 2010-03-10 23:03:00 · 963 阅读 · 0 评论 -
WinCE虚拟串口驱动(一)
//======================================================================== //TITLE: // WinCE虚拟串口驱动(一) //AUTHOR: // norains //DATE: // Saturday 28-March-2009 //Environment: // WIND原创 2010-04-06 12:39:00 · 786 阅读 · 0 评论 -
基于DirectShow技术开发WINCE下多媒体应用
近来接触了一下Windows CE下的多媒体编程,自然而然的碰到了Direct Show技术。由此与CSDN群友做了一番讨论。群友告诉我,需要先安装一个DS的SDK,于是去微软的官网搜索了一番,未果。迅雷中找到了需要的东西。 在CSDN上找到了一篇博文,通读了一下,发现上面的SDK是开发windows下多媒体程序需要安装的。这篇博文详细的阐述了,开发windo原创 2010-01-04 21:20:00 · 3944 阅读 · 2 评论 -
使用命名管道实现进程间通信
使用命名管道实现进程间通信在Win32下提供的进程间通信方式有以下几种: Ø 剪贴板Clipboard:在16位时代常使用的方式,CWnd类中提供了支持。Ø COM/DCOM:通过COM系统的代理存根方式进行进程间数据交换,但只能够表现在对接口函数的调用时传送数据,通过DCOM可以在不同主机间传送数据。 Dynamic Data Exchange (D原创 2009-12-17 22:03:00 · 1412 阅读 · 0 评论 -
基于S3C2410的Windows CE 5.0 BSP移植
基于S3C2410的Windows CE 5.0 BSP移植摘要 嵌入式开发中一个重要的环节是板级支持包(BSP)的开发,实际开发过程更倾向于移植BSP而不是重新开发BSP。本文先介绍了samsung公司的S3C2410微处理器和嵌入式操作系统Windows CE 5.0 特性,分析BSP结构,在此基础上,通过bootloader, OAL, 触摸屏驱动的移植来具体探讨BSP移植过程。原创 2009-12-20 13:28:00 · 1390 阅读 · 0 评论 -
WinCE系统声音定制
WinCE系统声音定制 2010的第一篇Blog,介绍一下WinCE系统声音的定制。说白了,就是设置注册表。WinCE系统启动的开机音乐,点击触摸屏以及键盘输入的按键音,还有系统运行过程中的各种声音其实都是在注册表里面预先设置好的。这里做个简单介绍: 整个WinCE系统声音注册表设置如下:[HKEY_CURRENT_USER/ControlPanel/Volume]"原创 2010-04-15 13:03:00 · 799 阅读 · 1 评论 -
How to Develop and Test Device Drivers in Windows CE 5.0
Summary: This article provides an introduction to developing and testing a Windows CE 5.0 device driver. It provides step-by-step instructions for creating a stream driver, creating a custom Windows CE Test Kit (CETK) test, and writing an application to te原创 2010-06-08 00:56:00 · 2021 阅读 · 0 评论 -
Windows CE嵌入式导航系统研究(硬件设计2)
S3C2440A是一款专用的以手持设备为主而设计的芯片,其特点有低功耗,高速的处理计算能力。为了减少系统的耗费,2440使用了如下组件:2440基于ARM920T内核的,0.13Um cmos 标准单元和存储单元复合体,它功耗及小、简单、稳定的设计非常适合对电源要求较高的产品上。S3C2440A采用ARM920T内核,如图 4.1所示ARM920T的结构图。原创 2010-08-01 20:49:00 · 1684 阅读 · 0 评论 -
Windows CE S3C440A LED驱动编码分析
基于TQ2440硬件平台,该平台处理器S3C2440A,在这个平台当中存在四个LED,用于测试,显示其他硬件运行情况等。LED驱动是一个典型的I/O驱动,简单但健全,是学习Windows CE嵌入式平台的典型例子。首先我们来看看这个平台这这部分电路图吧! 这四个LED分别加了1K偶的电阻,另一端接3.3V电压,接下来看看核心板的接口。 从这里可以看住,这四个LED分别由GPB5、GPB6、GPB7和GPB8控制,都处于B组GPIO口。接下来介绍具体的编原创 2010-08-22 22:33:00 · 1583 阅读 · 0 评论 -
WinCE开发中Boot Loader的点点滴滴
我很庆幸在公司的产品开发过程中并没有受到Boot Loader带来的阻力,因为我们采用MSDOS+Loadcepc来启动CE操作系统。显然这样的幸运不是永远的,所以对Boot Loader应该有足够的研究和了解,做到未雨绸缪。 Boot Loader是定制Windows CE操作系统过程中一个重要的开发环节。Boot Loader的作用正如名字中的两个单词:Boot,既引导原创 2010-04-13 19:56:00 · 751 阅读 · 0 评论 -
Wiondows 查询卷设备信息代码实现
Wiondows 查询卷设备信息代码实现原创 2010-11-02 20:16:00 · 941 阅读 · 0 评论 -
Windows 操作系统页面文件原理
页面文件,是指操作系统反映构建并使用虚拟内存的硬盘空间大小所使用的文件。要整理页面文件,首先将页面文件从原先所在的驱动器移动到其他驱动器,然后对原来驱动器进行整理,最后再将页面文件移回到原驱动器上,此时页面文件就会存放在连续的磁盘空间中了。具体来说,在 windows操作系统下(Windows 2000/XP)pagefile.sys这个文件,它就是系统页面文件(也就是大家熟知的虚拟内存文件),它的大小取决于打开的程序多少和你原先设置页面文件的最小最大值,是不断变化的,有时可能只有几十M,有时则达到600M转载 2010-10-29 18:40:00 · 2035 阅读 · 0 评论 -
创建IRP的四种不同方式
在驱动程序中,经常会调用其他的驱动程序;其中,手动构造 IRP ,然后将 IRP 传递到相应驱动程序的派遣函数中是一种比较简单的方法,下面就来介绍下手动创建 IRP 的几种不同的方法及其特点。 创建 IRP 总共有 4 种方法。分别通过调用: IoBuildSynchronousFsdRequest 、 IoBuildAsynchronousFsdRequest 、 IoBu原创 2010-02-14 18:29:00 · 1172 阅读 · 0 评论