摘要: 上个月在qq2440的光盘里发现了一段简单的LED驱动程序,大致看了一下明白了大意;但是由于里面的宏定义很是麻烦,看起来绕来绕去,于是我也懒得看明白了,干脆在CU论坛里发了个帖一问了事。 然而,等了几天后,寥寥几个回复。更不爽的是,唯一那个被加了分的回复一看就感觉不对劲,可我自己也没弄清楚缘由,因此也说不清。 过完了十一,觉得又该学习了,突然想起来这个事。想想还是完全看懂比较好,毕竟自己对kernel的源码包还不算很熟悉,就当是学习kernel吧。 首先是代码中的几个宏定义:/linux/include/asm/hardware/s3c2410/regs-gpio.h 中: 阅读全文
posted @ 2011-01-25 20:57 gmh 阅读(694) 评论(0) 推荐(0) 编辑
摘要: s3c2410_gpio_setpin()在gpio.c中作用:设置相应GPIO口的值,如pin=S3C2410_GPB5 to=0 则:设置S3C2410_GPB5的输出值为0如pin=S3C2410_GPB5 to=1 则:设置S3C2410_GPB5的输出值为1void s3c2410_gpio_setpin(unsigned int pin, unsigned int to){ void __iomem *base = S3C2410_GPIO_BASE(pin); unsigned long offs = S3C2410_GPIO_OFFSET(p 阅读全文
posted @ 2011-01-25 20:56 gmh 阅读(1901) 评论(0) 推荐(0) 编辑
摘要: 1) Shutdown all instances of PB (version 5.0 and later) and make sure Cepb.exe, CeSvcHost.exe (CeSvcH~1.exe) and DeviceEmulator.exe are gone from the task manager. 退出pb软件2) Back up the C:\Documents and Settings\user\local settings\application data\microsoft\corecon folder 如果不需要还原,直接删掉也可 这个目录要在把系统隐 阅读全文
posted @ 2010-11-04 15:23 gmh 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 用过VS2005的人都知道,它提供了两套远程工具软件,一个可从VS2005的菜单"Target”——"Remote Tools”打开,而另一个在“开始”菜单——"Microsoft Visual Studio 2005”——"Visual Studio Remote Tools”下。很早以前,在《单机搭建WinCE开发环境(续)》中对两套远程工具做了对比,当时只看到了一点表象,没有看到更深层次的东西,今天在这里做一个补充说明。 这两套远程工具是基于两种不同的链接层实现的,它们分别是Platman和CoreCon。"Target”菜单下的远程工具是基于Platman的。而“开始”菜单VS2005 阅读全文
posted @ 2010-10-28 14:12 gmh 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 现象:“VS2005-Target-Remote Tools”打开的远程工具,当选用ActiveSync作为连接方式时,会出现如下错误:“The Microsoft ActiveSync reported the following error: Unable to load device side components” 解决:微软的解决方法:找不到"C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\target\wce600\armV4". 下面有关的库和工具所以应该添加这个目录文件:"C:\ 阅读全文
posted @ 2010-10-28 10:11 gmh 阅读(2241) 评论(0) 推荐(0) 编辑
摘要: 一、dir文件:DIRS= \ drivers \ kernel \ gwe \ eboot dir文件用来指定需要编译的目录。若设为:DIRS = *,则表示编译当前所有目录。二、sources文件:一般和源代码放在同一目录下。主要是定义一些编译所需的宏。告诉Build.exe在编译源代码的时候应该如何编译和链接,告诉Nmake.exe如何编译源代码以及最后生成什么类型的文件。TARGETNAME:最后编译完后生成的目标文件的名字,不包括扩展名。TARGETTYPE:生成的文件的类型。具体值如下: LIBRARY,一个.lib文件 DYNLINK,一个.dll文件 PROGRAM,一个.ex 阅读全文
posted @ 2010-10-19 09:32 gmh 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 在WinCE下面,创建工程,然后编译是需要花很长时间的。当我们第一编译完工程以后,如果需要改我们的驱动或者BSP,我们是不需要重新编译整个工程的:1. 如果更改了driver,以WinCE6.0为例,我们可以在菜单里面选择“build”-“Open Release Directory in Build Window” ,然后在弹出的命令行窗口中,通过dos命令切换到你要编译的driver的目录下面,然后运行“build”就可以了。也可以运行“build -c”会强制把所有的文件都编译一遍。被编译后的driver的dll会被自动拷贝到release目录下面,然后再切换的工程的release目录 阅读全文
posted @ 2010-09-27 16:39 gmh 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 作者:ARM-WinCE在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图:串口驱动本身分为MDD层和PDD层。MDD层对上层的Device Manager提供了标准的流设备驱动接口(COM_xxx),PDD层实现了HWOBJ结构及结构中若干针对于串口硬件操作的函数指针,这些函数指针将指向PDD层中的串口操作函数。DDSI是指MDD层与PDD层的接口,在串口驱动中实际上就是指HWOBJ,PDD层会传给MDD层一个HWOBJ结构的指针,这样MDD层就可以调用PDD层的函数来操作串口。微软针对于串口驱动提供了参考源代码,可以在下面的目录下找到:”\WINCE600\PUBLIC\COM 阅读全文
posted @ 2010-09-13 15:07 gmh 阅读(2454) 评论(0) 推荐(0) 编辑
摘要: // Topic:把微软代码搬到BSP下调试的方法// 作者:wogoyixikexie@gliet.gooogleman // 论坛账号:gooogleman (经常在CSDN、www.armce.com/bbs出没)// 版权:桂林电子科技大学一系科协wogoyixikexie@gliet.gooogleman// 平台:wince5.0.0 FL2440 5.0 BSP (飞凌FL2440开发板)// 发布日期:2010-1-14// 最后修改:// 注意事项:未经作者同意,商业网站不能转载,并且不得在转载的时候擅自修改、删除文章的任何部分//---------------------- 阅读全文
posted @ 2010-09-13 14:32 gmh 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 1. PDD层代码简单分析PDD层的主要包含了以下2个类:CSerialPDDPowerUpCallback,CSerialPDD,下面简单的分析这2个类的作用。1.1 CSerialPDDPowerUpCallbackCSerialPDDPowerUpCallback类用于串口电源上电时的处理。在调用CSerialPDD::Init()后会创建一个CSerialPDDPowerUpCallback类型的对象在CSerialPDD::PowerOn()函数中会调用此对象的SignalCallBack()函数,这样RunThread就开始运行,进而通过调用CSerialPDD::NotifyPD 阅读全文
posted @ 2010-09-13 14:12 gmh 阅读(637) 评论(0) 推荐(0) 编辑