本站首页    管理页面    写新日志    退出


«July 2025»
12345
6789101112
13141516171819
20212223242526
2728293031


公告

☆★☆★☆★☆★☆★☆
生活的点点记录,以及一些体会...........

喜欢是淡淡的爱,爱是深深的喜欢.

时间会见证一切.......................

欢迎大家指出错误,共同进步..........

期待中..............................

☆★☆★☆★☆★☆★☆


我的分类(专题)

日志更新

最新评论

留言板

链接

世纪音频

 

 


Blog信息
blog名称:
日志总数:162
评论数量:312
留言数量:0
访问次数:939696
建立时间:2005年5月17日




[wince study]WINCE知识点滴 (文章收藏,权利属于原创作者)
文章收藏

oceanblue 发表于 2008/6/9 15:46:00

WINCE知识点滴 1.CE下同名设备不能大于10

CE5.0中已经没有这个问题了,
以前的版本可以这样做:
只给上层输出一个设备,
然后用一个IOCTL去打开一个个的物理设备
这样就可以做到不受任何限制了


2.MDD与PDD

一个驱动程序通常会被分成硬件相关(PDD)与硬件无关(MDD)层两部分。
当然,这种分层不是必须的,只是采用这种分层以后可以少写很多代码,因为微软提供了很多驱动程序的MDD。即使CE中没有我们所写的驱动程序的样例,采用这种结构以后,当需要写第二个程序时,就可以重用它的代码,就可以提高开发效率。

MDD是提供同类型的设备(比如串口)都会有的功能,这样PDD基本上就只有寄存器操作了。
像串口的中断处理,Read/Write函数,其大部分代码都是在MDD中实现的,
不同的串口实现中只需要提供一些实际操作寄存器的函数


不同的驱动程


阅读全文(1830) | 回复(0) | 编辑 | 精华 | 删除
 


[wince study]WINCE驱动程序快速入门 (文章收藏)
文章收藏

oceanblue 发表于 2008/6/9 15:31:39

WINCE驱动程序快速入门 有人也许和我一样比较心急,想尽快知道如何去写一个具体的驱动程序,这里,假设您对驱动程序已经有比较好的了解,告诉大家一个快速上路的方法。当然,如果您有足够的时间我建议在动手之前还是深入了解一下CE整个系统架构。
在CE中,最简单的一个驱动程序莫过于一个内置(Built-in)设备的流接口驱动。对于一个不支持热拔插的设备,最快捷的方法就是为其实现一个内置的流接口的驱动。
对于这样一类驱动程序,我们只需要按一种特定的规则实现一个动态库,其中实现对所有的硬件功能的调用,再将这个动态库加入系统中,然后设置相关的注册表项,使得在系统启动时设备管理器能识别并且加载这个设备即可。
3.1 实现动态链接库
此动态链接库与应用程序层所用的库并不很大差别,源文件可以是C、C++、甚至汇编,,只是它要实现以下函数。
 DllEntry(HINSTANCE DllInstance, INT Reason, LPVOID Re


阅读全文(2313) | 回复(0) | 编辑 | 精华 | 删除
 


[wince study]How Windows CE Bus Drivers Work
文章收藏

oceanblue 发表于 2008/6/3 10:44:31

 Posted by David Liao Abstract   A bus driver is designed for con

阅读全文(1591) | 回复(0) | 编辑 | 精华 | 删除
 


WinCE下驱动开发入门记录(一)(转)
文章收藏

oceanblue 发表于 2008/5/23 16:55:04

  这两天时间完全泡在CE的驱动开发中,学习学习,感觉就是资料不好找,难入门难上手,象我这样仅仅只有eVc4的更是没法调试没法跟踪,困难还是挺多的。学习了两天,现在感觉有那么点意思了,记录一下与大家分享。
        首先说明一下,我可能仍然是个门外汉,因为以前基本没做过和硬件相关的东西,这方面知识缺乏的要命,现在公司要求做个驱动出来,也只有硬着头皮上了,学习研究了两天,基本掌握了一些有用的信息,所以认为自己入门了,但仅从自己的感觉出发都可以说我只是窥见了冰山之一角,还有很多很多都不懂。上次的帖子里面介绍了一些当时收集到的比较有用的资料,那个PB我也试着下了,下了一两天没多少,公司网太破,那个ftp又不支持断点续传,可害苦了我了,一个个的文件包100多M,一掉线就得重来,最后我干脆放弃了。那个弟兄有的,干脆打个包把代码发给我好了,谢谢了先。
         好,怎们切入正题。首先介绍一下我的驱动目标,目的是为了

阅读全文(1530) | 回复(0) | 编辑 | 精华 | 删除
 


WinCE下驱动开发入门记录(转)
文章收藏

oceanblue 发表于 2008/5/23 16:51:38

这两天时间完全泡在CE的驱动开发中,学习学习,感觉就是资料不好找,难入门难上手,象我这样仅仅只有eVc4的更是没法调试没法跟踪,困难还是挺多的。学习了两天,现在感觉有那么点意思了,记录一下与大家分享。
        首先说明一下,我可能仍然是个门外汉,因为以前基本没做过和硬件相关的东西,这方面知识缺乏的要命,现在公司要求做个驱动出来,也只有硬着头皮上了,学习研究了两天,基本掌握了一些有用的信息,所以认为自己入门了,但仅从自己的感觉出发都可以说我只是窥见了冰山之一角,还有很多很多都不懂。上次的帖子里面介绍了一些当时收集到的比较有用的资料,那个PB我也试着下了,下了一两天没多少,公司网太破,那个ftp又不支持断点续传,可害苦了我了,一个个的文件包100多M,一掉线就得重来,最后我干脆放弃了。那个弟兄有的,干脆打个包把代码发给我好了,谢谢了先。
         好,怎们切入正题。首先介绍一下我的驱动目标,目的是为了使在pda上运

阅读全文(2966) | 回复(1) | 编辑 | 精华 | 删除
 


[wince study]2410 UDC driver 分析1
文章收藏

oceanblue 发表于 2008/5/20 13:44:32

在 USB Function Controller 的MDD层 有函数 GetClientFunctions( PUFN_FUNCTIONS pUfnFunctions)
调用者通过传入 PUFN_FUNCTIONS 类型的指针变量 来获得 USB Function Controller MDD层的所有操作函数. USB Function Controller 的MDD层的函数 UFN_Init( LPCTSTR pszContext )中 会创建一个PUFN_MDD_CONTEXT pContext指针变量
这个变量包括了MDD层的所有属性,这个变量还包括了一个指向 PDD层的指针变量UFN_PDD_INTERFACE_INFO PddInfo;
PDD层的这个UFN_PDD_INTERFACE_INFO PddInfo里又包含了PDD层的一些属性和PDD层的所有操作函数指针,这样在UFN_Init()
函数中创建了一个 new CUfnBus(pszContext, pContext)USB总线对象,同时将包含MDD层所有属性的pC

阅读全文(3965) | 回复(0) | 编辑 | 精华 | 删除
 


[读书笔记]软件编程规范和范例
文章收藏

oceanblue 发表于 2008/5/14 13:15:29

 目  录

阅读全文(2110) | 回复(0) | 编辑 | 精华 | 删除
 


[读书笔记]数据结构
文章收藏

oceanblue 发表于 2008/5/14 9:12:27

第一章 概  论 1.数据:信息的载体,能被计算机识别、存储和加工处理。 2.数据元素:数据的基本单位,可由若干个数据项组成,数据项是具有独立含义的最小标识单位。 3.数据结构:数据之间的相互关系,即数据的组织形式。
它包括:1)数据的逻辑结构,从逻辑关系上描述数据,与数据存储无关,独立于计算机;
2)数据的存储结构,是逻辑结构用计算机语言的实现,依赖于计算机语言。
3)数据的运算,定义在逻辑结构上,每种逻辑结构都有一个运算集合。常用的运算:检索/插入/删除/更新/排序。 4.数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。数据的存储结构是逻辑结构用计算机语言的实现。 5.数据类型:一个值的集合及在值上定义的一组操作的总称。分为:原子类型和结构类型。 6.抽象数据类型:抽象数据的组织和与之相关的操作。优点:将数据和操作封装在一起实现了信息隐藏。 7.

阅读全文(3258) | 回复(0) | 编辑 | 精华 | 删除
 


free指针时遭遇_CrtIsValidHeapPointer
文章收藏

oceanblue 发表于 2008/5/14 8:58:03

malloc和free在教材里不知讲了多少,今天实际用到一处,就出问题了。 案发现场是我用VC++在WINXP下编程,先看这一段代码
{
    BYTE    *pBuffer;
    pBuffer = (BYTE *)malloc(64);
    pBuffer = pBuffer + 32;
    free(pBuffer);
    pBuffer = NULL;
}  //第一段
先声明一个指针,然后分配64字节给它。操作指针向后移动32字节,最后把这个指针free掉并设为NULL。这样虽然操作时的数据还留在内存区域里,但已经没有指针指向该区域,数据可以被后面的程序覆盖了。看起来没错吧?恩恩好象是没错, 抓

阅读全文(2021) | 回复(0) | 编辑 | 精华 | 删除
 


WINCE常用的符号
原创空间

oceanblue 发表于 2008/5/14 8:07:46

;@CESYSGEN IF CE_MODULES_DEVICE     device.exe $(_FLATRELEASEDIR)\device.exe NK SHM   ;@CE_SYSGEN ENDIF    S:表示系统文件    H:表示隐藏文件    U:表示不压缩文件    D:表示不能对文件进行调试    N:表示此文件不受信任    M:表示对此文件禁止按需调页

阅读全文(3262) | 回复(0) | 编辑 | 精华 | 删除
 


« 1 2 3 4 5 6 7 8 9 10 »



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.250 second(s), page refreshed 144754584 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号