首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

有关GPIO驱动开发有关问题,再次请问!(WinCE5.0+VS2008)

2012-03-01 
有关GPIO驱动开发问题,再次请教!(WinCE5.0+VS2008)首先,在本论坛我已开四个主题,均得到了网友的热心回答,

有关GPIO驱动开发问题,再次请教!(WinCE5.0+VS2008)
首先,在本论坛我已开四个主题,均得到了网友的热心回答,非常感谢,我也尽量的结帖,把积分发给大家,我感觉这也是我能做的唯一事了。由于初涉WinCE,以前对底层硬件及操作系统的知识学的很好,因此好多问题就像白痴一样,还请大家见谅!

上周四(3月25日),我搭建好了实验平台,并成功运行了第一个HELLO程序;然后就转入流驱动的编写工作中,我的目标是用IO口来控制实验板上的LED。

这是我的本科毕业设计内容,导师给的平台是广嵌的GEC2440,我已安装了PB5.0和VS2008,ActiveSync已同步连接好,DNW串口调试工具也可以使用。

以上就是我的一些基本情况!以下是我想问的问题,还请大家多多指教啊。

经过三天的摸索,对流驱动也有了一些认识,以下先谈谈我这些天的收获吧。

PB5.0我装在了E盘,广嵌提供的BSP包smdk2440我放在了E:\WINCE500\PLATFORM\smdk2440\DRIVERS目录下。
我新建了GPIOdriver文件夹,并已修改了本目录下的dirs,在GPIOdriver文件夹中我按要求新建了makefile和sources文件,GPIODriver.def文件,GPIODriver.cpp文件,GPIODriver.h文件,并均添加了相应代码(代码是参考的天嵌的,感谢!),按大家的指导,下面我该修改E:\WINCE500\PLATFORM\smdk2440\FILES目录下的platform.reg 和platform.bib两个文件,这里就有个问题了:找开文件.bib文件吧,随便看一下:
IF BSP_NOSD !
SDBusDriver.dll$(_FLATRELEASEDIR)\SDBusDriver.dllNKSH
SDCSDCard.DLL$(_FLATRELEASEDIR)\SDCSDCard.DLLNKSH
SDMemory.dll$(_FLATRELEASEDIR)\SDMemory.dllNKSH
ENDIF BSP_NOSD !
这里的IF和ENDIF是干什么用的?我们写时要不要加上呢?如果要加上IF后面的BSP_NOSD我们应该写什么呢?
打开.reg文件也是如此,这里的IF和ENDIF究竟是做什么的呢?是不是类似于C语言中的条件编译呢?

然后的问题就是,如果以上工作都做好了下来该做什么了?大家总说要编译,到底编译什么呢?这个问题很幼稚,在商家提供的BSP文件夹里只有一个smdk2440.rar(我已解压入到了E:\WINCE500\PLATFORM\目录下)压缩包和gec2440.pbxml文件,生成SDK时我就是编译的这个.pbxml文件,现在还是编译它吗?

还有,大家说的.dll文件是自已写的呢,还是编译后生成的呢?
还有就是操作系统的镜像文件是不是在编译后生成然后再烧进去呢?

我知道我的问题也许让大家看起来好像是我不认真学习,就知道向大家问这问那的,这我能理解,我是学AVR出身的,也曾经在AVR论坛给网友们回过几个月的帖子,有时真的感觉网友们太没探索精神了,就知道来论坛问。今天去找指导老师了,老师也不懂WinCE,就说让我好好自已琢磨吧,别着急。而且教研室的老师几乎没有做WinCE的,唯一的一个研究生导师曾经指派研究生做过相关课题,这个研究生也已毕业了。之所以老师让我做这个题目,是因为他项目中想做一个后台,老师很相信我,才把这个题目给了我,我不想让老师失望,大家帮帮我吧,谢谢了!!!

[解决办法]
IF BSP_NOSD这个是全局变量的设置,在你的BSP文件夹根目录里有一个应该是叫smdk2440.bat的bat文件,用记事本打开,能够看到set BSP_NOSD=之类的语句,是设置些全局变量,你的platform.reg和BIB可以参照这样的设置自己添加全局变量,比如set BSP_NOGPIO=,然后在platform.reg和BIB也加入IF等的判断,或者是你想你的驱动总是被加载的,就不需要进行判断,不需要在BAT文件加变量,也不需要在REG和BIB里边进行IF之类的判断。


你参考开发板的开发手册,在PB5.0上先sysgen出一个NK.BIN,目的是确保这个BSP能够正确sysgen完成,此过程最好是先不要加你的驱动,也就是把DIRS、REG、BIB等使用原厂的,成功后再添加你的驱动,就是上边你所说的那些修改,编译驱动的时候是打开你所建的工程,然后在PB的左侧FileView一栏找到你所创建的驱动文件夹,然后右键build current project,如果前边做的工作都正确就会有release目录里边出现一个你所定义的.DLL文件,也就是说驱动出来了,然后再执行一次make run time image。

最后把NK.BIN,也就是系统的镜像文件烧到开发板就完成了。
[解决办法]
建议你去看看何宗建的书,再去做!
[解决办法]
恩,先找本书看下
[解决办法]
磨刀不误砍柴工,建议楼主先系统的看一遍实验指导书。

热点排行