CE BSP的重要文件

[复制链接]
3250|2
 楼主| tedyu 发表于 2009-5-13 16:31 | 显示全部楼层 |阅读模式
CE&nbsp;BSP开发入门之重要的配置文件&nbsp;BSP中有一些很重要的文件,我们在开发过程中必须要给予足够的重视。&nbsp;<br />1&nbsp;mybsp.bat,位于BSP的根目录中,用于定义一些全局的环境变量,比如定义某个驱动的环境变量,从而使生成的系统支持此驱动。其实,这个文件在大多数的BSP里,例如2410的,对应的文件就是smdk2410.bat.<br />2&nbsp;source.cmn,位于BSP的根目录中,主要用于定义一些BSP及DRIVER中会用到的预定义及环境变量。&nbsp;<br />一般这个文件有以下作用:&nbsp;<br />1)定义INCLUDES,这样,BSP中的其它目录中就不用特别定义INCLUDES了。&nbsp;<br />2)根据系统定义的一些环境变量而定义C语言与汇编语言使用的预定义,这一点特别重要,系统定义的环境变量是没法在C语言和汇编语言中起作用的,这一点在Cirrus的BSP中表现最为突出。使用该BSP,可以在Workspace文件中定义硬件平台类型,SDRAM及FLASH的地址,大小等信息。当然,也可以在各个模块的SOURCES文件中定义这些东西,但如果两个以上的模块中使用相同的环境变量,则在这个文件中定义更加方便,因为在这定义一次,每个模块都可以使用,而不需要在各模块中各自定义。&nbsp;<br />CDEFINES定义C语言使用的变量,ADEFINES定义汇编评议中使用的变量,例如,&nbsp;<br /><br />ADEFINES=$(ADEFINES)&nbsp;-pd&nbsp;&quot;FLASH_TYPE&nbsp;SETS&nbsp;&quot;J3&quot;&quot;&nbsp;<br />CDEFINES=$(CDEFINES)&nbsp;-DFLASH_TYPE=J3&nbsp;<br /><br />分别为汇编语言和C语言设置FLASH_TYPE为&quot;J3&quot;,需要注意的是C语言中好像没法将一个变量定义成字符串.&nbsp;<br /><br />3.dirs.这个文件用于指定在当前目录中有哪些目录需要被编译.&nbsp;<br /><br />4.sources.这个文件定义当前目录的代码生成DLL/LIB等模块时的必要信息,主要有以下几项.&nbsp;<br /><br />TARGETNAME,定义模块名称.&nbsp;<br />TARGETTYPE,模块的种类,可以是DYNLINK,&nbsp;LIBRARY,EXE.&nbsp;<br />如果TARGETTYPE是DLL,则可以定义DLLENTRY,将Dll入口定义成别的不是DLLMain的函数&nbsp;<br />如果TARGETTYPE是EXE,则可以定义EXEENTRY,用于指定EXE的入口函数.&nbsp;<br /><br />INCLUDES,如果一个模块需要使用非标准路径下的头文件时,需要定义INCLUDES,用于包含更多的头文件路径,用法如下:&nbsp;<br /><br />INCLUDES=$(INCLUDES);
ew&nbsp;directory...,注意定义新的INCLUDES时,需要包含INCLUDES原来的值.&nbsp;<br /><br />TARGETLIBS,SOURCELIBS用于定义该模块需要链接哪些库文件.我不知道这两个的具体区别,如果某个库文件链接时发生了错误,可以把它移到另一个变量下试试.&nbsp;<br /><br />WINCECOD,如果将其定义为1,则编译器会为每一个文件生成.cod文件,它是一个汇编文件.&nbsp;<br /><br />SOURCES,定义该模块需要哪些源文件.<br />
high 发表于 2009-5-14 01:04 | 显示全部楼层

这一套环境和ddk一致。

  
McuPlayer 发表于 2009-5-14 01:28 | 显示全部楼层

如果能搞定DDK,这个就是小儿科了

微软的架构思想非常相似,如果你研究下DirectShow会发现又是这个鸟架构
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

52

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部