(1) 示例。BSP的.bat文件
set BSP_SMDK2443=1
set BSP_SMDK2450=2
set BSP_TYPE=%BSP_SMDK2450%
if /i "%BSP_IMAGE_TYPE%"=="1" set IMGMULTIBIN=1 else set IMGMULTIBIN=
if /i not "%BSP_NOSDK%"=="1" call %_TARGETPLATROOT%\src\sdk\sdk.bat
(2) 修改。
如上面的示例做相应的产品名称定义。如果需要在BSP的c,c++等files里面能直接引用上面的宏,需要在BSP的根目录下面的sources.cmn文件进行转换一下,成为c可以调用的格式。如下所示,每使用一个宏,需要定义两行:
ADEFINES=$(ADEFINES) –pd “BSP_SMDK2443 SETA $(BSP_SMDK2443)”
CDEFINES=$(CDEFINES) –DBSP_SMDK2443=$(BSP_SMDK2443)
ADEFINES=$(ADEFINES) –pd “BSP_SMDK2450 SETA $(BSP_SMDK2450)”
CDEFINES=$(CDEFINES) –DBSP_SMDK2450=$(BSP_SMDK2450)
ADEFINES=$(ADEFINES) –pd “BSP_TYPE SETA $(BSP_ TYPE)”
CDEFINES=$(CDEFINES) –DBSP_ TYPE=$(BSP_ TYPE)
(3) 引用。
#if (BSP_TYPE==BSP_SMDK2443)
#elif(BSP_TYPE==BSP_SMDK2450)
#endif