用于多個產品共用一個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. PHP中单例模式:三私一公是什么?
  2. 2021年去中心化金融平台22亿美元加密货币被盗
  3. thttpd + Cgicc
  4. SOFA 源码分析 — 链路数据透传
  5. mysql存储表情测试_Mysql正确的储存处emoji表情
  6. PC端和移动APP端CSS样式初始化
  7. 查看端口被占用的进程号然后结束进程(解决端口被进程占用的问题)
  8. group by 多个字段
  9. CTR学习笔记代码实现1-深度学习的前奏LR-FFM
  10. C#编程基础(简单概述与理解)
  11. java铲车_深入研究Java类装载机制
  12. Linux上的oracle11g安装(提供安装包链接)以及其他问题注解
  13. 多媒体计算机技术的核心技术是,计算机多媒体的核心技术与发展
  14. 【U盘量产工具】热插拔导致U盘进入写保护——安国主控AU6989SN-GT
  15. paraview热流图(5):只保留一个网格
  16. 使用记事本编写并运行java代码
  17. 数据结构-指针和结构体
  18. python中的wait和notify
  19. 计算机操作if函数,if函数怎么用【处理攻略】
  20. Java并发编程之CyclicBarrier和CountDownLatch

热门文章

  1. 为什么大多数IP地址通常以192.168开头?
  2. 051_Array对象
  3. oracle 迁移用户信息,Oracle备份一个用户并迁移
  4. javascript同级遍历_有用的DOM遍历方法,你需要了解一下
  5. 主成分与因子分析异同_因子分析
  6. 联想e480笔记本如何拆屏幕_如何评价 2020 年 10 月 20 日联想发布的小新 Pro14 笔记本?有哪些亮点和槽点?...
  7. Java数据结构与算法:栈
  8. Pycharm连接git服务器的方法
  9. python正则_Python基础12之Python正则
  10. python多列填充缺点_在Python中比较多列中的值并在另一列中添加新值