用于多個產品共用一個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即可。

最新文章

  1. WebApi身份认证解决方案:Basic基础认证
  2. C# JS 单例
  3. MVP 个人理解2
  4. Android 中的AIDL,Parcelable和远程服务
  5. ubuntu14安装ambari2.2
  6. 【笔记】WPF实现ViewPager引导界面效果及问题汇总
  7. emacs_1
  8. <转>struts2中Convention中的basePackage与locators配置种种
  9. SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程
  10. C#01
  11. SetWindowLong
  12. POJ 2155 D区段树
  13. 使用代码分析来分析托管代码质量 之 CA2200
  14. 201621123062《java程序设计》第七周作业总结
  15. gradle测试出现IllegalArgumentException
  16. Oracle分析函数及常用函数: over(),rank()over()作用及用法--分区(分组)求和& 不连续/连续排名
  17. BZOJ.3631.[JLOI2014]松鼠的新家(树上差分)
  18. mysql存储过程实例,查询多参数赋值
  19. CM5.x配置spark错误解决
  20. Go语言学习笔记(六)net & net/http

热门文章

  1. VS2013中设置大小写的快捷键
  2. C++中用辗转相除法求两个数的最大公约数和最小公倍数
  3. Asp.Net生命周期系列五
  4. C# mongodb [上]
  5. 2014 Multi-University Training Contest 8
  6. 不安装Oracle客户端远程连接Orcale数据库
  7. jquery-validation 学习总结
  8. 终于明白公测的beta 源自何处了
  9. POJ 1740
  10. Pycharm中的实用功能(网上看到的,感觉还不错)