在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即可。
在BSP的.bat文件下設置全局變量方法的更多相关文章
- 番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法
使用NSSM工具安装bat文件为Windows服务 nssm是一个可以把bat批处理文件部署为Windows服务的小工具.例如很多.net项目可能还是在Windows服务器上面跑的,但是很多组件只提供 ...
- 有用的2个 Windows 下批处理文件(bat文件):
创建多个文件夹(目录): 新建一个记事本:win + R –>输入notepad 在笔记本中输入如下: mkdir Would mkdir you mkdir marry mkdir me 另存 ...
- 在Windows下通过命令行或者.bat文件统计一个目录中文件数量
在Windows下面怎样通过命令行统计一个目录中文件的数量,或者说,如果在一个.bat文件中,统计一个目录中的文件数量? 我原来以为是不可能的,要编一个vbs程序什么的,后来到网上找了下,发现还真是可 ...
- 分享Nginx在Windows下的管理命令(bat文件)
话不多说,复制下面的内容,存成bat文件,放到nginx目录下. ====================================================@echo offrem 当前 ...
- 创建批处理文件.bat文件(删除指定文件夹下的文件及文件夹并循环)
1.针对仅仅是删除文件夹下的文件的操作:使用del命令,单纯的删除文件操作,如下:del /f /s /q C:\Users\dell\AppData\Local\Temp\*.* 2.删除文件夹操作 ...
- Linux下可以运行bat文件么?
bat是批处理文件,在windows和linux上都可以使用. 不过在linux的命令行中不可以直接敲"xxx.bat",系统会去找所有的命令. 想要调用bat文件,需要写绝对路径 ...
- 关于利用bat文件调用exe批量处理文件下的文件的问题
for %%i in (E:\radar_20120721\sjz_sa\*.bin) do start/wait radas.exe -i=%%i -o=E:\longjiang\out 找到 文件 ...
- Linux下安裝Oracle database內核參數設置
參考:1529864.1 ************************************************** RAM ...
- Win下执行Swing程序的BAT文件 和 Linux下执行Swing程序的SH文件
BAT文件: @echo off set CLASSPATH_BAK=%CLASSPATH% set classpath=%CLASSPATH%;.\lib\commons-codec-1.3.jar ...
随机推荐
- [ios]ios的延迟执行方法
1.最直接的方法performSelector:withObject:afterDelay: 这种方法的缺点:每次要为延时写一个方法 2.使用类别,用BOLCK执行 [代码]c#/cpp/oc代码 ...
- 在eclipse中使用jax-ws构建webservices服务端和客户端
服务端: package com.yinfu.service; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebServi ...
- kruskal --- c++ (2)
#include <cstdio> #include <algorithm> using namespace std; struct aaa{ int l,r,w; bool ...
- DB天气app冲刺二阶段第八天
今天突然感觉应该做收尾工作了 因为马上就要考试了,时间一下子就不够用了.. 今天主要修复了一下bug,然后天气基本能够实时准确了,就是多功能按钮还是没有弄好 准备简化一下功能. 明天看看还有什么需要改 ...
- 环信ipv6适配
环信2.2.5及之后版本才适配了ipv6.可以自己搭配个ipv6环境,在ipv6环境下2.2.5以下版本无法登录.把整个sdk换成2.2.5版本项目需要改动的地方实在太多. 那么就部分换一下,适配ip ...
- iOS10相册相机闪退bug-b
iOS10系统下调用系统相册.相机功能,遇到闪退的情况,描述如下: This app has crashed because it attempted to access privacy-sensit ...
- S.O.L.I.D五大原则- 深入了解javascript
/* S.O.L.I.D五大原则 1. 单一原则 2. 开闭原则 3. 里氏替换原则 4. 接口分离原则 5. 依赖反转原则 */ /*单一原则:类发生更改的原因只有一个 如何知道一个对象的多个行为构 ...
- android编程常见问题-程序在模拟器中不显示
新手编程常见问题: 问题表现:程序运行成功,但是在模拟器中不显示 解决办法:检查项目版本和模拟器版本是否匹配或兼容,如果不匹配,选择和模拟器版本一致 项目版本:右键-Properties-androi ...
- c++ linux 下的调试工具及用法
1当程序出现core的时候: gdb out[your program] core.out.45726.1431954543 可以看到程序崩溃时候的堆栈信息. valgrind ./out 由于val ...
- SQL Server性能常用语句
查看各表的数据行数 SELECT o.name, i. ROWS FROM sysobjects o, sysindexes i WHERE o.id = i.id AND o.Xtype = ORD ...