(1) (1)REG文件
Windows CE .NET编译过程中使用的REG文件和其他Windows系统上的几乎一样。主要的区别在于REG version marker 从文件头上被删除了,这样做的理由是防止将默认的REG 文件直接整合到定制的平台中。因为如果REG version marker,保留的话,双击REG 文件的图标将直接把默认的REG 文件直接整合到定制的平台中,而不是编辑这个文件。
下面是注册表文件的内容样例,键被用括弧括起来,其下有子键并且已经被赋值,还有数据类型和默认值。
下面是注册表文件的内容样例,键被用括弧括起来,其下有子键并且已经被赋值,还有数据类型和默认值。
; StrataFlash block driver.
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/StrataFMD]
"MemBase"=dword:b8380000
"MemLen"=dword:01f80000
; PCMCIA Driver
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/PCMCIA]
"Dll"="PCMCIA.dll"
"Order"=dword:0
"IClass"=multi_sz:"{6BEAB08A-8914-42fd-B33F-61968B9AAB32}=PCMCIA Card
Services"
以上是节选自平台的注册表文件内容。在这段代码中定义了两种设备的驱动信息:Flash和PCMCIA设备驱动。
在Flash的键下是MemBase 和MemLen 子键。MemBas e代表Flash 的物理起始地址b8380000,MemLen 定义了Flash 的容量,01f80000 也就是32MB。PCMCIA 驱动中,驱动程
序位于PCMCIA.dll的动态链接库中,并且定义了代表该设备的ICLASS 和GUID。
(2) BIB文件
定义OS运行时映像包含哪些模块和文件。Makefile文件使用BIB文件决定如何将这些模块加载至目标设备的存储器中。
ROMIMAGE 使用Binary Image Builder(BIB)文件来配置ROM 文件系统。BIB文件是文本格式的文件,其中使用了不同的关键词来定义不同的section。
以关键词MODULES 开头的是模块section,其中列出了XIP 的可执行文件。
以关键词FILE开头的是其他需要被加入镜像的文件section。这些文件包括bitmaps、datafile和HTML pages。同时也可以描述非XIP 的可执行模块。在FILE 中罗列的文件,默认是被压缩的,以减少空间占用。
下面是对BIB 文件结构的描述:
是将在ROM 文件系统也就是/Windows 下将出现的文件名。指在开发环境中这些文件的路径。一般为“NK”。
可以使用表格1中所列的值。
表格 1 flag的值及其说明
flags 功能
C Compressed 加密的(文件section 默认加密节省空间)
U Uncompressed未加密(modules section 默认)
R 只加密资源
H 把文件隐藏
S 系统文件
BIB 文件中还有两个section,它们一般出现在Config.bib 文件中。它们都是:
memory section,它定义了目标系统的内存分布。它使用如下的格式标记:
可以使用表格2中的值:
表格 2 memory section的TYPE描述
值 功能
RAM 此项描述可用的RAM区,RAM区用来运行进程和文件系统。这个RAM区必
须是连续的。
RAMIMAGE 此项描述的区域将被视作ROM。
RESERVED 此项范围内的内存区域是被保留的。这个区域的内存可能被用来当作video
frame buffer 或者direct memory access(DMA) buffer。
(3) DIRS文件
举个例子吧(如下:)
DIRS=puppet / “/”表示增加此项,提示编译pupet目录
又如:keybd键盘驱动中的dirs
DIRS= /
kbdcommon /
matrix_0409 /
pddlist /
kbds3c2410jpn1 /
kbds3c2410jpn2 /
kbds3c2410kor /
kbds3c2410us /
(4) SOURCE文件
如背光驱动source文件
!if "$(BSP_NOBACKLIGHT)" == "1"
SKIPBUILD=1
!endif
SYNCHRONIZE_DRAIN=1
RELEASETYPE=PLATFORM
TARGETNAME=backlight
DEFFILE=backlight.def
TARGETTYPE=DYNLINK
DLLENTRY=BackLight_DllEntry
TARGETLIBS= /
$(_COMMONSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib /
SOURCELIBS=
SOURCES= backLight.c
说明:
Targetname是要生成的动态库的名字。
Targettype表明要生成的驱动是的动态库(dynlink)还是lib
Dllentry=BackLight_DllEntry表示Dll的入口函数是BackLight_DllEntry
Defile指定def文件时backlight.def
SOURCES =(请在这写上你所有源文件的名字,它们将会被编译)
Targetlibs和sourcelibs表示定需要与哪些动态库链接。Targetlibs下包含的静态库是为当前目录下源文件提供服务的,即.cpp文件代码会调用此库,sourcelibs中的库是当前.cpp文件实现的调用者。
WinCEOEM=1,用在当前目录的工程需要使用public,目录下的头文件后从public目录下导入动态链接库文件。
(5) DEF文件
导出流接口驱动的文件名。(如背光驱动的def)
LIBRARY backlight
EXPORTS
BAK_Init
BAK_Deinit
BAK_Open
BAK_Close
BAK_PowerDown
BAK_PowerUp
BAK_IOControl
(6) MAKEFILE文件
makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
其描述了多个文件中的依赖关系,以及生成最终可执行文件或库文件所需的信息。如下例为背光驱动makefile文件(不用修改)
!INCLUDE $(_MAKEENVROOT)/makefile.def
(7) .bat文件
被称为批处理文件。下面是s3c2440中的bat文件(不全)
@REM
@REM Copyright (c) Microsoft Corporation. All rights reserved.
@REM Use of this source code is subject to the terms of the Microsoft end-user
@REM If you did not accept the terms of the EULA, you are not authorized to use
set WINCEREL=1
set BSP_NOPCIBUS=1
@REM keyboard is confilct with gpio buttons driver
set BSP_NOKEYBD=
set BSP_NOMOUSE=BSP_NOKEYBD
set BSP_NOCS8900=1
set BSP_NODM9000=
@REM default disabled
set BSP_NOI2C=
set BSP_KITL=NONE
rem set BSP_KITL=SERIAL_UART0
rem set BSP_KITL=SERIAL_UART1
rem set BSP_KITL=USBSERIAL
rem set BSP_KITL=ETHERNET
@REM - To support SD card
set SYSGEN_SDBUS=1
说明:
rem表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。
@ 不是一个命令, 而是DOS 批处理的一个特殊标记符, 仅用于屏蔽命令行回显.。
其他在网上搜bat文件的写法即可
工程文件说明
最新推荐文章于 2025-08-08 21:58:17 发布