« | July 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
| 公告 |
☆★☆★☆★☆★☆★☆ 生活的点点记录,以及一些体会...........
喜欢是淡淡的爱,爱是深深的喜欢.
时间会见证一切.......................
欢迎大家指出错误,共同进步..........
期待中..............................
☆★☆★☆★☆★☆★☆ |
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中实现的, 不同的串口实现中只需要提供一些实际操作寄存器的函数
不同的驱动程 |
|
[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 |
|
WinCE下驱动开发入门记录(一)(转) 文章收藏
oceanblue 发表于 2008/5/23 16:55:04 |
这两天时间完全泡在CE的驱动开发中,学习学习,感觉就是资料不好找,难入门难上手,象我这样仅仅只有eVc4的更是没法调试没法跟踪,困难还是挺多的。学习了两天,现在感觉有那么点意思了,记录一下与大家分享。 首先说明一下,我可能仍然是个门外汉,因为以前基本没做过和硬件相关的东西,这方面知识缺乏的要命,现在公司要求做个驱动出来,也只有硬着头皮上了,学习研究了两天,基本掌握了一些有用的信息,所以认为自己入门了,但仅从自己的感觉出发都可以说我只是窥见了冰山之一角,还有很多很多都不懂。上次的帖子里面介绍了一些当时收集到的比较有用的资料,那个PB我也试着下了,下了一两天没多少,公司网太破,那个ftp又不支持断点续传,可害苦了我了,一个个的文件包100多M,一掉线就得重来,最后我干脆放弃了。那个弟兄有的,干脆打个包把代码发给我好了,谢谢了先。 好,怎们切入正题。首先介绍一下我的驱动目标,目的是为了 |
|
WinCE下驱动开发入门记录(转) 文章收藏
oceanblue 发表于 2008/5/23 16:51:38 |
这两天时间完全泡在CE的驱动开发中,学习学习,感觉就是资料不好找,难入门难上手,象我这样仅仅只有eVc4的更是没法调试没法跟踪,困难还是挺多的。学习了两天,现在感觉有那么点意思了,记录一下与大家分享。 首先说明一下,我可能仍然是个门外汉,因为以前基本没做过和硬件相关的东西,这方面知识缺乏的要命,现在公司要求做个驱动出来,也只有硬着头皮上了,学习研究了两天,基本掌握了一些有用的信息,所以认为自己入门了,但仅从自己的感觉出发都可以说我只是窥见了冰山之一角,还有很多很多都不懂。上次的帖子里面介绍了一些当时收集到的比较有用的资料,那个PB我也试着下了,下了一两天没多少,公司网太破,那个ftp又不支持断点续传,可害苦了我了,一个个的文件包100多M,一掉线就得重来,最后我干脆放弃了。那个弟兄有的,干脆打个包把代码发给我好了,谢谢了先。 好,怎们切入正题。首先介绍一下我的驱动目标,目的是为了使在pda上运 |
|
[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 |
|
[读书笔记]数据结构 文章收藏
oceanblue 发表于 2008/5/14 9:12:27 |
第一章 概 论
1.数据:信息的载体,能被计算机识别、存储和加工处理。
2.数据元素:数据的基本单位,可由若干个数据项组成,数据项是具有独立含义的最小标识单位。
3.数据结构:数据之间的相互关系,即数据的组织形式。 它包括:1)数据的逻辑结构,从逻辑关系上描述数据,与数据存储无关,独立于计算机; 2)数据的存储结构,是逻辑结构用计算机语言的实现,依赖于计算机语言。 3)数据的运算,定义在逻辑结构上,每种逻辑结构都有一个运算集合。常用的运算:检索/插入/删除/更新/排序。
4.数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。数据的存储结构是逻辑结构用计算机语言的实现。
5.数据类型:一个值的集合及在值上定义的一组操作的总称。分为:原子类型和结构类型。
6.抽象数据类型:抽象数据的组织和与之相关的操作。优点:将数据和操作封装在一起实现了信息隐藏。
7. |
|
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。这样虽然操作时的数据还留在内存区域里,但已经没有指针指向该区域,数据可以被后面的程序覆盖了。看起来没错吧?恩恩好象是没错, 抓 |
|
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:表示对此文件禁止按需调页 |
|
|