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

在BSP的.bat文件下設置全局變量方法相关推荐

  1. .bat文件(%~dp0)和call、echo批处理环境变量

    定义: .bat文件即batch,批处理文件 百度百科的定义:批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Win ...

  2. linux下 卸载与安装 jdk 的方法

    查看 jdk 安装路径 [root@zh74 ~]# whereis java java: /usr/local/java /opt/jdk1.8.0_144/bin/java /usr/local/ ...

  3. Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法

    public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...

  4. c语言在dos下执行bat文件,应用dos批处理文件经常用到的DOS常用命令

    应用dos批处理文件经常用到的DOS常用命令 更新时间:2007年03月01日 00:00:00   作者: echo.@.call.pause.rem 是批处理文件最常用的几个命令,我们就从他们开始 ...

  5. 不解禁administrator账号的情况下以管理员身份运行bat文件

    在Bat文件内容前插入以下一段代码,可在不解禁administrator账号的情况下以管理员身份运行bat文件中的命令: @echo off :: BatchGotAdmin  :---------- ...

  6. win10下启动.bat文件闪退问题

    win10下启动.bat文件闪退问题: 1.检查jdk是否安装: 1)WIN+R 输入cmd 确定 2)doc命令行 输入java - version 如图安装成功 2.检查文件路径是否过长 例如:这 ...

  7. bat 当前目录下 子目录文件 移动到当前目录 并 文件改名 改后缀名

    window .bat当前目录下 子目录文件 移动到当前目录 @echo off for /r %%a in (*.*) do ( echo %%a move "%%a" &quo ...

  8. python安装django找不到set.up_Python django LRS無法設置。找不到文件錯誤

    I am using ADL LRS to setup a LRS(Learning Record Store) system for my own use. It uses TIN CAN API. ...

  9. 照片的批量命名—Windows下利用cmd命令、txt文件、excel工具和bat文件对照片进行批量重命名

    照片的批量命名 在网上搜了很多批量命名的办法,都不太对我胃口,于是,我又摸索出以前的一套笨办法,当时也是在网络上学到的,但现在找不到了,特地记录下来.另外,现在网上也有批量命名照片的软件,我使用过,挺 ...

最新文章

  1. java 链表 传递_java 链表 传递过程中的问题
  2. 中国数据备份一体机产业未来供需状况及投资潜力价值报告2021年版
  3. 信息系统项目管理师论文指导(2/3)
  4. ECharts概念学习系列之ECharts是什么?
  5. MyEclipse使用总结——MyEclipse10安装SVN插件
  6. 忘却的旋律java2_mc忘却的旋律启动器下载
  7. Java EE 6与Spring Framework:技术决策过程
  8. winForm combox 回传绑定数据
  9. docker~aspnetcore2.0镜像缺少libgdiplus问题
  10. NYOJ65 - 另一种阶乘问题
  11. Gerrit搭建与代码下载
  12. 「代码随想录」213.打家劫舍II 【动态规划】力扣详解!
  13. Ignition Vision基本操作
  14. 计算机设备管理中的其他设备,解决方法:计算机设备管理器中的“其他设备”驱动程序问题!...
  15. 阿铭Linux_网站维护学习笔记20190417
  16. vega56刷64_A卡—Vega56的简易玩法
  17. View之ExpandableLists
  18. 线下AWD平台搭建以及一些相关问题解决
  19. Python爬虫代理池搭建
  20. 点菜宝系统服务器无响应,点菜宝系统精典方案介绍

热门文章

  1. 002_html发展史
  2. python如何安装matplotlib_详解python安装matplotlib库三种失败情况
  3. 启动未初始化小应用程序_SpringBoot详细打印启动时异常堆栈信息
  4. std string与线程安全_这才是现代C++单例模式简单又安全的实现
  5. Java基础:IO流之File类
  6. ClassLoader工作机制
  7. 08day 数据泵(expdb/impdb)—数据导出
  8. ad20如何导入库_一文看懂如何使用(Py)Stan进行贝叶斯推理
  9. Docker容器私有仓库——Harbor私有仓库的搭建
  10. Java设计模式(三):装饰者设计模式