在BSP的.bat文件下設置全局變量方法
用于多個產品共用一個BSP的時候,在BSP的.bat文件中設置全局變量,去掉不需要加載的驅動和不同點是很好的方法。
一,舉例:BSP中.bat的一段code:
set BSP_SMDK2443=1
set BSP_SMDK2450=2
set BSP_TYPE=%BSP_SMDK2450%
這個就類似c中:
#define BSP_SMDK2443 1
#define BSP_SMDK2450 2
#define BSP_TYPE BSP_SMDK2450
二,操作
1.我們先在.bat文件中聲明自己需要的定義上面類似的
set BSP_SMDK2443=1
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.在c中引用。比如在OAL/Init.c中/OEMInit()中調用,就像#define一樣使用。
#if (BSP_TYPE==BSP_SMDK2443)
//--add
#elif (BSP_TYPE==BSP_SMDK2450)
//--add
#endif
4. build, make img即可。
最新文章
- WebApi身份认证解决方案:Basic基础认证
- C# JS 单例
- MVP 个人理解2
- Android 中的AIDL,Parcelable和远程服务
- ubuntu14安装ambari2.2
- 【笔记】WPF实现ViewPager引导界面效果及问题汇总
- emacs_1
- <;转>;struts2中Convention中的basePackage与locators配置种种
- SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程
- C#01
- SetWindowLong
- POJ 2155 D区段树
- 使用代码分析来分析托管代码质量 之 CA2200
- 201621123062《java程序设计》第七周作业总结
- gradle测试出现IllegalArgumentException
- Oracle分析函数及常用函数: over(),rank()over()作用及用法--分区(分组)求和&; 不连续/连续排名
- BZOJ.3631.[JLOI2014]松鼠的新家(树上差分)
- mysql存储过程实例,查询多参数赋值
- CM5.x配置spark错误解决
- Go语言学习笔记(六)net &; net/http