Window CE 6.0流驅動開發動態載入實驗

來源:互聯網
上載者:User

amily:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>我是直接從51到ARM,受51的影響,在wince6.0下怎麼編寫應用程式控制開發板的LED,查了好多資料,並結合開發板提供的LED測試程式和led驅動,編寫了一個簡單的LED驅動和應用程式來控制開發板的LED!

 

所需硬體:開發板ok6410,

所需軟體:vs2005,wince6.0

實驗步驟:

第一大步:

1. 在相應的檔案夾先建立幾個必須的檔案,需要注意的是,下面幾個檔案均是文字檔,根據需要更改尾碼,makefile和sources沒有尾碼。Obj和build.log是編譯自動產生的檔案,不用管它!

 

也可以複製D:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\LED下的檔案自行修改

 

2. 下面分別開啟相應檔案,並填寫內容:

1)SLED.def中填入:

;******************************************************************************

LIBRARY          SLED

 

EXPORTS        SPL_Init  

                SPL_Deinit  

                SPL_Open  

                SPL_Close  

                SPL_Read  

                SPL_Write  

                SPL_Seek  

                SPL_PowerDown  

                SPL_PowerUp  

                SPL_IOControl

2)makefile填入:

!INCLUDE $(_MAKEENVROOT)\makefile.def

3)sources填入:

!if 0

Copyright (c) Microsoft Corporation.  All rights reserved.

!endif

!if 0

Use of this source code is subject to theterms of the Microsoft end-user

license agreement (EULA) under which youlicensed this SOFTWARE PRODUCT.

If you did not accept the terms of theEULA, you are not authorized to use

this source code. For a copy of the EULA,please see the LICENSE.RTF on your

install media.

!endif

 

!if "$(BSP_NOLED)" =="1"

SKIPBUILD=1

!endif

 

RELEASETYPE=PLATFORM

 

PREPROCESSDEFFILE=1

 

TARGETNAME=SLED

   

SOURCES= \

   SLED.cpp \

 

TARGETTYPE=DYNLINK

DLLENTRY=DllMain

CDEFINES=$(CDEFINES) -DLED_EXPORTS

TARGETLIBS= \

   $(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib \

   $(_WINCEROOT)\PLATFORM\SMDK6410\lib\ARMV4I\retail\DriverLib.lib \

 

 

INCLUDES= \

   $(_WINCEROOT)\PUBLIC\COMMON\OAK\INC;$(_WINCEROOT)\PLATFORM\COMMON\SRC\INC;$(_WINCEROOT)\PUBLIC\COMMON\DDK\INC;$(_WINCEROOT)\PLATFORM\COMMON\SRC\SOC\S3C6410_SEC_V1\OAL\INC;$(_WINCEROOT)\PLATFORM\SMDK6410\SRC\INC\

其實需要我們改動就紅色字型部分

 

TARGETNAME=SLED

   

SOURCES= \

    SLED.cpp \

 

4)在.cpp檔案中添加相應驅動代碼了。即實現如下函數

SPL_Init  

                SPL_Deinit  

                SPL_Open  

                SPL_Close  

                SPL_Read  

                SPL_Write  

                SPL_Seek  

                SPL_PowerDown  

                SPL_PowerUp  

                SPL_IOControl

 

第二大步;

 

1)只編譯SLED即rebuild(前提時在以前已經clean sysgen)編譯產生SLED.DLL檔案

 

 

第三大步;應用程式的編寫(動態載入)

這個沒什麼需要注意的地方,只是要注意是TEXT("GPO1:")即可。

hLed= CreateFile(TEXT("GPO1:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

 

將產生的DLL與應用程式一起下載到開發板即可運行

附:驅動源檔案和應用程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.