你现在位置:首页>技术论文>电气常识>嵌入式系统>正文
PlatformBuilder配置文件
日期:2011-1-24 11:46:25 点击:
来源:本站整理
作者:
点击【】放大字体.

这篇文章主要讲解PB的配置文件。从用途方面分析,PB包含两种配置文件。分别是源码配置文件和镜像配置文件。下面分别讲解这两种配置文件。

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

一、源码配置文件

WWW_P※LCJS_COM-PLC-)技.术_网

源码配置文件用于编译源码时使用。这里的源码是指Windows CE公开的源码,如驱动程序、系统应用程序等。PB在编译平台时将这些公开的源码即时编译并将编译链接后的文件复制到平台工程子目录里。记得前面讲过PB在开始编译时调用cebuild.bat批处理文件,cebuild.bat执行的一个步骤是针对_DEPTREES变量指定的所有目录执行build.exe和sysgen.bat。build.exe在编译源码文件时会寻找当前目录下存放的源码配置文件,根据配置文件的信息来编译和链接,产生EXE、DLL、LIB文件。CE的源码文件所在的目录中都包含了相应的配置文件,这些配置文件只对当前目录或者子目录的源码有效,具体分为三种:

WWW_PL※CJS_COM-PLC-技.术_网

DIRS文件:文件内容和解释如下:

WWW_PLCJS_COM-PLC-技.术_网

DIRS:指定哪个子目录的源码要被编译

WWW_P※LCJS_COM-PLC-)技.术_网

DIRS_CE:只有为CE编写的源码才被编译

WWW_PL※CJS_COM-PLC-技.术_网

OPTIONAL_DIRS:指定可选的目录(很少使用这个选项),可以只编译指定目录而不是全部编译。

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

SOURCES文件:通过宏定义来指定编译和链接涉及到的文件,文件内容和解释如下:

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

TARGETNAME:指定编译链接产生的主文件名

WWW_PLCJS@_COM%-PLC-技.术_网

TARGETTYPE:指定编译链接产生的文件的类型(决定了扩展名)。文件共分三种:.lib(LIBRARY)和.dll(DYNLINK)和.exe(PROGRAM)。

WWW_PLCJS@_COM%-PLC-技.术_网

TARGETLIBS:定义.lib链接文件,链接时需要这个文件。

WW.W_PLC※JS_C,OM-PL,C-技.术_网

SOURCES:源码文件。包含扩展名为*.c或*.h 或*.cpp的文件。

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

EXEENTRY:.exe文件的执行代码入口点。

WWW_PLCJS@_COM%-PLC-技.术_网

sources.cmn文件是通用的SOURCES文件。在这个文件中可以指定作用于所有源码文件的配置选项。

P.L.C.技.术.网——可编程控制器技术门户

MAKEFILE文件:包含默认的编译和链接选项

WWW.PLCJS.COM——可编程控制器技术门户

整个编译和链接过程:build.exe收集编译和链接需要的数据(源码文件、链接文件、编译和链接选项)产生一系列的内部环境变量,然后调用nmake.exe,nmake.exe根据内部环境变量执行编译、链接,最后产生最终文件(*.lib *.exe *.dll)。

W1WW_P4LCJS_COM-PLC-技.术_网

二、镜像配置文件:

——可——编——程——控-制-器-技——术——门——户

镜像配置文件用于在制作CE镜像文件时使用。CE的镜像文件扩展名为.bin。制作镜像工具romimage.exe除了能够产生.bin文件外,还能够产生.abx和.sre文件。整个镜像的制作过程由makeimg.exe控制,它调用cenlscmp.exe、fmerge.exe、res2.exe、txt2ucde.exe、regcomp.exe、romimage.exe等。这些工具大部分在前面已经介绍过了。镜像配置文件类型有.bib、.reg、.db、.dat、.str。如果主文件名为Common,表示是通用的配置文件。如果主文件名为Platform,表示是某一个BSP的配置文件。如果主文件名是Project,表示是定制的一个平台的配置文件。在PB中修改配置文件前如果没有把握最好先做好备份。

W1WW_P4LCJS_COM-PLC-技.术_网

.bib(Binary image builder)

WWW.PLCJS.COM——可编程控制器技术门户

定义包含在内核镜像中的文件和模块的名称、加载位置。主要的bib文件有Common.bib,Config.bib, Project.bib, Platform.bib等。.bib文件内部分为几个部分:

WW.W_PLC※JS_C,OM-PL,C-技.术_网

【MEMORY】用于定义有效的物理内存块,在此将整个RAM分为几个部分。

WWW_P※LCJS_CO※M-PLC-技-.术_网

格式: 名称 首地址 大小 内存类型

WWW_PLCJS@_COM%-PLC-技.术_网

名称: 内存区域的唯一名称(RESERVE是预定义名称,可以用多次,表示此区域保留)

W1WW_P4LCJS_COM-PLC-技.术_网

首地址: 内存区域的首地址(十六进制表示)

WWW_PL※CJS_COM-PLC-技.术_网

大小: 内存区域的大小(十六进制表示)

WWW_PLCJS_COM-PLC-技.术_网

内存类型:分为三种。

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

RAM: 运行所有进程的内存区域(整个区域必须是连续的,且不能含空洞)

plcjs.技.术_网

RAMIMAGE:专用于保存镜像的内存区域。(每个.bin中只能指定一个RAMIMAGE)

WWW_PLCJS@_COM%-PLC-技.术_网

RESERVED:保留内存区域(这样的区域一般用于驱动程序使用,如显卡缓冲区、DMA缓冲区)

P.L.C.技.术.网——可编程控制器技术门户

举例:

——可——编——程——控-制-器-技——术——门——户

;名称 首地址 大小 内存类型

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

IF IMGRAM64

WW.W_PLC※JS_C,OM-PL,C-技.术_网

NK 80220000 009E0000 RAMIMAGE

WWW_PLC※JS_COM-PmLC-技.术_网

RAM 80C00000 03000000 RAM

WWW_P※LCJS_COM-PLC-)技.术_网

UMABUF 83C00000 00400000 RESERVED

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

ENDIF

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

注:整个内核的地址都是从0x8000 0000开始的。如果是x86系列的CPU,那么物理内存地址与虚拟地址映射关系在oeminit.asm中指定。

WW.W_PLCJS_COM-PLC-技.术_网

【CONFIG】类似环境变量,PB预设置了一些配置变量。常用的配置及说明如下:

WWcW_PLCJS_COM-PLC-技.术_网

AUTOSIZE:

WWW_PLC※JS_COM-PmLC-技.术_网

格式:AUTOSIZE = OFF | ON

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

默认值为OFF。在config.bib中的MEMORY部分定义了有效的内存区域,其中两部分RAM、RAMIMAGE分别用于进程使用区域和保存镜像区域。如果为ON,romimage.exe在创建nk.bin时将RAM和RAMIMAGE两部分合并成一个部分,然后从最低地址开始保留RAMIMAGE大小的内存,其余都作为RAM使用。

WWW.PLCJS.COM——可编程控制器技术门户

BOOTJUMP:

WWW_PLCJS@_COM%-PLC-技.术_网

格式:BOOTJUMP = address | NONE

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

默认值为NONE。每次重新启动CE内核,默认执行的代码从RAMIMAGE的首地址开始。如果在BOOTJUMP指定一个地址(必须在RAMIMAGE范围内),那么将从指定的地址开始执行。

WW.W_PLC※JS_C,OM-PL,C-技.术_网

COMPRESSION:

WWW.PLCJS.COM——可编程控制器技术门户

格式:COMPRESSION = OFF | ON

P.L.C.技.术.网——可编程控制器技术门户

默认值为ON。romimage.exe在创建内核时默认压缩所有可写部分。对于文件,默认全部压缩。对于模块(.exe、.dll),默认压缩可写部分。模块的可写部分包括数据段,也就是在模块运行时一定加载到内存中的部分。如果模块在.bib中定义时具有C属性(表明压缩模块所有部分),那么当前这个选项就忽略了。

WWW_P※LCJS_COM-PLC-)技.术_网

FSRAMPERCENT:

WWW_P※LCJS_CO※M-PLC-技-.术_网

格式:FSRAMPERCENT = number

WWW_P※LCJS_CO※M-PLC-技-.术_网

默认值为0x80808080。指定为文件系统分配的内存的百分比。number分为四个字节,由十六进制表示。

WWW_PLCJS_COM-PLC-技.术_网

byte0的值(单位为4KB)表示在第一个2MB中,其中每1MB包含的4KB的整数倍。

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

byte1的值(单位为4KB)表示在第二个2MB中,其中每1MB包含的4KB的整数倍。

WWW_P※LCJS_COM-PLC-)技.术_网

byte2的值(单位为4KB)表示在第三个2MB中,其中每1MB包含的4KB的整数倍。

WWcW_PLCJS_COM-PLC-技.术_网

byte3的值(单位为4KB)表示在剩下的内存中,每1MB包含的4KB的整数倍。

WWW_P※LCJS_COM-PLC-)技.术_网

计算一下默认值0x80808080表示的百分比:0x80*4K/1M = 0.5,因为每个字节都等于0.5,所以整个占用的百分比是50%。

——可——编——程——控-制-器-技——术——门——户

KERNELFIXUPS:

WWW_PL※CJS_COM-PLC-技.术_网

。。。。

WWW_PL※CJS_COM-PLC-技.术_网

上一篇: 生动形象学习PID
下一: 没有了
评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行