- 博客(229)
- 资源 (1)
- 收藏
- 关注
转载 MiniGUI输入法的设计
输入法模块的设计思想输入法提供了将标准键盘输入翻译为适当语种的文字的能力。MiniGUI 中也包含有标准的中文简体输入法,包括全拼、五笔和智能拼音等等。MiniGUI 的输入法是一个相对独立的模块(称为 IME),它实际是一个特殊的主窗口。该主窗口将在启动之后,首先将自己注册为输入法窗口。这样,MiniGUI 的 desktop 就知道首先要将按键信息发送到这个主窗口之中,而不是当前的活动主窗
2008-11-18 19:22:00 1481
原创 C语言中级编程之个人查缺补漏
个人C++注意点(查漏补缺)(2008-10-25):1、A[0]它是一个表达式,而不是一个名字:(A+0)2、通过初始化列表赋初值:int a[2]={int(1),int(2)};3、前置声明只能用于引用和指针,不能用于对象4、构造函数天然具有类型转换功能,除非用explicit关闭 5、指针的引用 int *p; int *&q=p; 但引用不能再有引用。6、针对
2008-11-09 14:30:00 589
原创 个人C++注意点(查漏补缺)(2008-10-25):
个人C++注意点(查漏补缺)(2008-10-25):1、A[0]它是一个表达式,而不是一个名字:(A+0)2、通过初始化列表赋初值:int a[2]={int(1),int(2)};3、前置声明只能用于引用和指针,不能用于对象4、构造函数天然具有类型转换功能,除非用explicit关闭 5、指针的引用 int *p; int *&q=p; 但引用不能再有引用。6、针对
2008-10-29 17:34:00 1005 1
转载 Linux内核wait_queue深入分析
前几天在看驱动的时候碰到了等待队列,上网去搜了 一下,再结合代码看了一下,深有体会.在 kernel 里,wait_queue 的应用很广,举凡 device driver,semaphore 等方面都会使用到 wait_queue 来 implement。所以,它算是 kernel 里蛮 基本的一个数据结构。 首先,我们得明白,linux中的所有的进程都由task_struct这个结构
2008-12-24 19:47:00 640
转载 C语言嵌入式系统编程修炼
C语言嵌入式系统编程修炼之背景篇作者:宋宝华出处:天极网责任编辑: 方舟 [ 2005-06-14 14:45 ]本文的讨论主要围绕以通用处理器为中心的协议处理模块进行,因为它更多地牵涉到具体的C语言编程技巧 不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但
2008-12-24 19:44:00 645
转载 C语言嵌入式系统编程修炼之性能优化篇
在C语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法。 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个: 错误做法: #define MIN(A,B) ( A 正确做法: #define MIN(A,B) ((A) 对于宏,我们需要知道三点: (1)宏定义"像"函数; (2
2008-12-24 19:42:00 535
转载 C语言嵌入式系统编程修炼之键盘操作篇
功能键的问题在于,用户界面并非固定的,用户功能键的选择将使屏幕画面处于不同的显示状态下。 处理功能键 功能键的问题在于,用户界面并非固定的,用户功能键的选择将使屏幕画面处于不同的显示状态下。例如,主画面如图1: 图1 主画面 当用户在设置XX上按下Enter键之后,画面就切换到了设置XX的界面,如图2: 图2 切换到设置XX画面 程序如何判
2008-12-24 19:41:00 502
转载 C语言嵌入式系统编程修炼(1)
数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调试中,多借助C语言指针所具有的对绝对地址单元内容的读写能力。以指针直接操作内存多发生在如下几种情况: (1) 某I/O芯片被定位在CPU的存储空间而非I/O空间,而且寄存器对应于某特定地址; (2) 两
2008-12-24 19:37:00 430
转载 select()实现分析
#undef __NFDBITS#define __NFDBITS (8 * sizeof(unsigned long))#undef __FD_SETSIZE#define __FD_SETSIZE 1024#undef __FDSET_LONGS#define __FDSET_LONGS (__FD_SETSIZE/__NFDBITS)ty
2008-12-24 19:36:00 630
原创 Linux-2.6.20的LCD驱动分析
http://blog.chinaunix.net/u1/49924/showart_507500.html 四、s3c2410fb_ops变量详解 在上面的文字中,较为详细的解释了platform device相关的代码,通过上面的代码的执行,一个platform设备(framebuffer被当作了platform设备)就加载到内核中去了。就像一个PCI的
2008-12-24 19:12:00 504
转载 Linux-2.6.20的LCD驱动分析
三、解剖s3c2410fb_driver变量s3c2410fb_driver变量有什么作用呢?在前面的2.2节提到了它的定义,从它的原型可以看出s3c2410fb_driver是个platform_driver类型的变量,前面的几个小节提到了从platform_driver的名字可以看出它应该是platform_device的驱动类型。为了方便阅读,这里再贴一次s3c2410fb_driv
2008-12-24 19:08:00 566
转载 Linux-2.6.20的LCD驱动分析
s3c2410fb_probe函数分析2.1 驱动的入口点摆在面前的第一个问题相信应该是,这个函数是从那里开始运行的。这里就应该从long long ago 开始了,打开drivers/video/s3c2410fb.c文件,然后找到s3c2410fb_init函数,先不管它里面是怎么回事,再把目光下移就会看到这样一串字符串module_init(s3c2410fb_init),郁闷,这和
2008-12-24 19:04:00 462
转载 Linux-2.6.20的cs8900驱动分析(三)
三、net_rx和net_send_packet3.1 net_rx在这部分将介绍cs8900驱动的两个最重要的函数,内核通过该两个函数实现了数据的收发。net_rx函数的主要功能是从cs8900的片上数据缓冲区中将数据传送给sk_buff缓冲区,sk_buff是网络驱动程序与Linux内核通信的缓冲区。该结构可在/include/linux/skbuff.h中找到。net_rx函数的
2008-12-24 13:47:00 465
转载 Linux-2.6.20的cs8900驱动分析(二)
二、net_open、net_close和net_interrupt2.1 net_open与net_closenet_open函数主要完成的工作有:(这段net_open函数的概要内容总结来源于网络,网址:http://www.akae.cn/bbs/archiver/?tid-6657.html)A.获取私有数据指针存放于lpB.启动设备总线控制功能和启动存储器C.调用
2008-12-24 13:40:00 584
转载 Linux-2.6.20的cs8900驱动分析(一)
Linux-2.6.20的cs8900驱动分析(一)http://blog.chinaunix.net/u1/49924/showart_488174.html 几经波折,在开发板上终于可以使用网络了。Linux内核可以通过网络挂接网络文件系统了。首先感谢Internet,Google等帮助过我的工具,还要感谢各位嵌友的无私奉献。在移植的过程中尤其感激weibing的博客文章c
2008-12-24 13:38:00 534
原创 MiniGUI利用触摸屏实现屏幕键盘驱动输入法的设计
转自本人百度blog:http://hi.baidu.com/luv%5Fresplendent/blog/item/5a7cadf3822d56cc0b46e005.htmlMiniGUI利用触摸屏实现屏幕键盘驱动输入法的设计思想: 1、利用MiniGUI的coolbar控件来创建一个屏幕键盘的外观;其代码以后会贴上;#include "common.h"#define I
2008-11-19 15:11:00 1640 6
转载 c语言变参函数-
C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可以有以下的形式:printf("%d",i); printf("%s",s); printf("the numbe
2008-11-04 17:26:00 758
原创 嵌入式相关工程师工作要求
嵌入式驱动开发工程师要求:1、 熟悉Unix/Linux操作系统内核的基本概念,精通Linux环境C或C++编程;2、 精通嵌入式Linux操作系统驱动层及核心层编程;熟悉Linux设备驱动的各种编程接口和机制,对Linux下的某种设备拥有实际的驱动开发经验,具备Linux移植和裁减经验;3、 至少熟悉ARM/PowerPC/MIPS体系结构中的一种 并对嵌入式硬件系统的体系结构和各种
2008-10-29 20:29:00 1453 1
转载 浮点数的内存结构
根据IEEE的标准,浮点数的定义如下符号位指数位小数部分指数偏移量单精度浮点数1 位[31]8位 [30-23]23位 [22-00]127双精度浮点数1 位[63]11 位[62-52]52 位[51-00]1023我们以单精度浮点数来说明:符号位,表述浮点数的正或者负指数实际也有正负的,但是没有单独的符号位,而
2008-10-28 20:14:00 543
转载 一些电平标准
下面总结一下各电平标准,和新手以及有需要的人共享一下^_^. 现在常用的电平标准有TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL、RS232、RS485等,还有一些速度比较高的LVDS、GTL、PGTL、CML、HSTL、SSTL等。下面简单介绍一下各自的供电电源、电平标准以及使用注意事项。 TTL:Transis
2008-10-27 10:32:00 493
原创 2005级本科毕业设计
1软件可靠性分配及应用研究陈仲民2垃圾邮件检测的研究和实现陈仲民3基于jave的在线游戏设计与开发陈仲民4高精度程控电源的设计与开发陈仲民5Linux下文件管理与文件传送的研究与实现陈仲民6软件可靠性Musa模型研究与参数估计陈仲民7商品销售及库存分析管理系统郑芳
2008-10-25 21:00:00 2369 3
转载 三极管代替MAX232集成电路的制作
PC机串口大家都不会陌生了吧!我们可以使用串口电缆直接连接两台PC机的串口,实现两台PC机的串口通讯。但是PC机和单片机的通讯却不能够用电缆直接进行连接,原因是PC机RS232串口的电平标准和单片机的TTL电平不一致,因此单片机和PC机之间的串口通讯必须要有一个RS232/TTL电平转换电路。通常这个电路都选择专用的RS232接口电平转换集成电路进行设计,如MAX232
2008-10-17 18:32:00 2450 1
转载 超小型智能热释电红外检测器组件
热释电红外传感器是一种能检测人或动物发射的红外线而输出电信号的传感器。早在1938年,有人提出过利用热释电效应探测红外辐射,但并未受到重视,直到六十年代,随着激光、红外技术的迅速发展,才又推动了对热释电效应的研究和对热释电晶体的应用。热释电晶体已广泛用于红外光谱仪、红外遥感以及热辐射探测器,它可以作为红外激光的一种较理想的探测器。它目标正在被广泛的应用到各种自动化控制装置中。除了在我们熟知的
2008-10-17 18:32:00 3112
转载 可切换视图的单文档静态分割窗口总结
http://hi.baidu.com/daihaipengdhp/blog/item/18b1b713fbd4cdd3f6039e31.html 2007-11-17 21:01经过多方寻找资料和反复试验,终于实现了在单文档程序中分割窗口,并且可以对视图进行随意切换,以下是比较详尽的步骤: 1,向导第四步,选高级,“使用分割栏”挑勾,原始VIEW类为CMyView,
2008-10-17 18:31:00 833
转载 嵌入式linux系统与主机通过串口传输文件 Feora 8
嵌入式linux系统与主机通过串口传输文件 Feora 8 我想如果要从PC机下载东西到开发板的嵌入式linux系统里面,很多人首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。个人觉得zmrx/zmtx没有lsz/lrz稳定,建议还是用后者。下面介绍
2008-10-17 18:30:00 580
转载 VC实现对不同信号波形相似程度的判别
信息产业部电子第二十二研究所青岛分所 郎锐 摘要:本文介绍了利用相关对信号波形进行相似程度的判别方法。通过该技术可以对采集到的多种类型的数据信号间的相似度进行判别。本算法由Microsoft Visual C++ 6.0实现。一、 引言 在工程上我们经常要判断某设备产生的实际波形信号是否能同预先设计的相拟合,但由于实际产生的波形不仅仅是简单的正、余弦波形,而往往是含有较丰富频率分
2008-10-17 18:30:00 1091
转载 用UML建模开发嵌入式软件
引 言面向对象开发方法无疑是当前最流行的软件开发方法。这归功于面向对象开发的众多优点:可靠性高,所开发的程序更健壮;由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间;继承和封装使得应用程序的修改带来的影响更加局部化,应用程序更易于维护、更新和升级。另外,UML建模语言和Rosc等CASE工具为面向对象的流行也起了很太作用,这些工具允许应用规范的面向对
2008-10-17 18:29:00 613
转载 一种用VHDL设计嵌入式Web Server的方案
摘要:近几年嵌入式Internet开始迅猛发展,但绝大多数嵌入式Internet都使用微控制器和相应的软件来实现。本文介绍一种基于硬件来实现嵌入式Web Server的方案。该方案的核心思想是用VHDL语言来设计实现,并且用FPGA进行验证。关键词:VHDL Internet协议 控制信息协议 数据报最近几年随着Internet应用的迅猛发展,Internet的通信协议,特别是TCP/
2008-10-17 18:28:00 555
转载 用FPGA实现DVB码流分析功能的嵌入式设计方案
针对传统数字视频广播系统码流分析仪价格昂贵、使用不方便的问题,本文提出一种性价比较好的补充设计方案,它以通用的FPGA和RTOS为基础、基于嵌入式硬件平台来实现码流分析功能。文中还阐述了码流采集、码流分析和信息显示等多项关键技术。 码流分析仪可用作数字电视设备的调试工具,如检测MPEG编码器、复用器、调制解调器等设备的输入输出码流是否符合MPEG-2/数字电视广播(DVB)标准等。作为标
2008-10-17 18:27:00 951
转载 遗传模拟退火算法
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问
2008-10-17 18:26:00 3814
转载 PSO粒子群优化算法
1. 引言粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),有Eberhart博士和kennedy博士发明。源于对鸟群捕食的行为研究PSO同遗传算法类似,是一种基于叠代的优化工具。系统初始化为一组随机解,通过叠代搜寻最优值。但是并没有遗传算法用的交叉(crossover)以及变异(mutation)。而是粒子在解空间追随最优的粒子进行搜索。详细的步
2008-10-17 18:25:00 981
原创 EVC开发实例一:窗口切换
作者:付林林 嵌入式平台下应用于民用领域的软件有它的特点:占用资源低、操作界面简单、反应迅速。而且传统观念上嵌入式平台同一时刻只运行一两个程序。这不同于PC下软件,除了实现基本功能外,还要求华丽的界面,甚至换肤,启动N个进程也无所谓。所以在Windows CE下构思一个应用于民用领域的软件时,必须考虑软件的实用性、易操作性等。太复杂的软件就不要想了,也不要妄想把PC下所有软件都移植到Windo
2008-10-17 13:06:00 402
原创 初识 Embedded Visual C++
初识 Embedded Visual C++作者:付林林 大家一定会对 Windows CE 操作系统有所耳闻,它是微软已推出的三种操作系统内核之一,是一种实时操作系统。虽然它是一种实时操作系统,但是从96年发布v1.0到现在,它的主要用途都在民用领域,比如Pocket PC、SmartPhone、Automation。不像VxWorks,应用于航空航天、军事等领域。现在linux、Vx
2008-10-17 13:05:00 495
原创 EVC开发实例二:保存信息(1)
[ 本文属于第32期, 适合中级读者 ] EVC开发实例二:保存信息(一)作者:付林林下载源代码 Windows CE下开发的软件大多和硬件紧密相关。如果写和硬件相关的技术,那只有极少数甚至没有人受益。相反写出来的文章,应该让更多的人受益,都能学而用之。任何一篇文章我都会遵循此原则。当然,本人资质甚浅。只能尽力而为。 题目中的信息是指很少量的数据。比如配置信息、注
2008-10-17 13:04:00 479
原创 也论 Embedded Visual C++
也论 Embedded Visual C++作者:flybug_zgj下载源代码 今天有幸在VCKBASE看到付林林君写的《初识 Embedded Visual C++》一文,我也因为工作原因接触Embedded Visual C++有些时间了,今天,也来谈谈我的一些经验,望高手指点。 一、书籍推荐 对于想要作些WinCE程序的人来说,推荐书籍《Programming
2008-10-17 13:04:00 677
原创 EVC开发实例三:浏览器窗口
本文属于第32期, 适合中级读者 ] EVC开发实例三:浏览器窗口作者:付林林 曾有人问过我关于显示GIF图片的问题。我的回答是要么使用国外做的专用于显示GIF图片的类,要么利用IWebBrowser COM组件。我还说过我用它做过自定义的IE。其实微软提供了CE下IE的源程序,就是利用这个组件来实现IE的各个功能的。我做IE是因为Windows CE自带的IE在各
2008-10-17 13:03:00 426
原创 EVC开发实例二:保存信息(二)
[ 本文属于第32期, 适合中级读者 ] EVC开发实例二:保存信息(二)作者:付林林保存到注册表中这一章主要讲解Windows CE.NET下注册表相关技术。1、 对象存储(object store) 对象存储是Windows CE默认的数据存储机制。任何新创建的内核中都默认包含对象存储器。对象存储的实质是在RAM中创建一个文件系统,将文件保存在R
2008-10-17 13:03:00 498
原创 模拟器和远程调试工具(一)
本文属于第32期, 适合中级读者 ] 模拟器和远程调试工具(一)作者:付林林本篇文章主要讲解远程调试工具的使用方法,并采用PB下的模拟器来试验。 一、模拟器 模拟器(emulator)是PB的一部分。专用于调试在PB下创建的内核及应用程序。模拟器能够在PC下模拟Windows CE的物理平台。但实际上它只不过是一个运行在CPU Ring 3级别的用户程序。所以它的运
2008-10-17 13:02:00 840
原创 模拟器和远程调试工具(二)
本文属于第32期, 适合中级读者 ] 模拟器和远程调试工具(二)作者:付林林模拟器和远程调试工具(一)3、远程堆查看程序(Remote Heap Walker) 显然“Walker”不能翻译成“查看”。你愿意怎么翻译就怎么翻译吧。在这里我就叫查看了,这样容易理解。从名字就可以看出它是用来查看操作系统中每个进程使用的堆的情况。什么是堆就不用我说了吧!堆大家都了解,但是C
2008-10-17 13:01:00 441
原创 Windows CE 进程、线程和内存管理(一)
[ 本文属于第32期, 适合中级读者 ] Windows CE 进程、线程和内存管理(一)作者:付林林 进程、线程、内存管理是一个内核最基本的服务,也是一个内核最主要的组成部分。这几方面的知识是一个软件开发人员必须掌握的基础知识。虽然一个人不懂这些知识也能编写简单的程序,但这样的程序只能算是皮毛。掌握了进程、线程和内存管理方面的知识,就能够充分利用操作系统
2008-10-17 13:00:00 463
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人