在BSP开发的早期阶段,我们一般是Clone一个与目标平台最相近的的BSP,然后以此为基础做修改。在实际开发过程中,还可能同时存在多种型号的产品。它们的硬件几乎一样,主要是外设不同,如LCD分辨率、按键定义和GPIO的使用等。这种情况下,一般可通过环境变量、宏定义和条件编译来区分不同的产品型号,一份BSP对应几种型号的产品。但如果外设的差别太大,使用这个方法反而会增加代码维护的难度,单独维护一份,可能更为方便。Clone BSP就是经常使用的一种方法。新建WinCE6.0的项目时同时选择两个BSP,然后根据需要有选择的编译。以上说的这些都是BSP开发中常见的方法。本文介绍另外一种技巧,lgh首创的,用了快一年了,感觉更方便,跟大家分享一下。

假设以DEVICEEMULATOR的BSP为基础,针对两类产品创建两份BSP,DEVICEEMULATOR1和DEVICEEMULATOR2。只需要在Platform的目录下,创建目录DEVICEEMULATOR1和DEVICEEMULATOR2,并将DEVICEEMULATOR的内容拷贝到这两个目录下,重命名DEVICEEMULATOR为DEVICEEMULATORORI。至此,准备工作就做完了。在新建项目之前,只需创建一个目录符号链接。例如需编译DEVICEEMULATOR1的系统时,在命令行窗口输入"mklink /D DEVICEEMULATOR DEVICEEMULATOR1”。同样,需要编译DEVICEEMULATOR2的系统时,在命令行窗口输入"mklink /D DEVICEEMULATOR DEVICEEMULATOR2”。这种切换可以随时进行,为了使用更方便,可以写成批处理文件,内容如下。

rmdir DEVICEEMULATOR/q
mklink /D DEVICEEMULATOR DEVICEEMULATOR1
@echo off
echo.&pause

mklink在Windows 7中直接有支持。在WinXP下,可以使用linkd,对应的批处理文件的内容如下。

linkd DEVICEEMULATOR DEVICEEMULATOR1
@echo off
echo.&pause
使用该方法后,一个项目工程就可以编译出两个不同产品的WinCE操作系统映像。如果选择的系统组件不一样,我们也可以创建多个项目,分别编译,非常灵活。这种方法的关键是在NTFS的分区中创建目录符号链接,所以需要在NTFS的分区上用。

WinCE下多份BSP的维护技巧相关推荐

  1. wince下sources\sources.cmn\Makefile.def的相关作用

    1:首先是Makefile.def: ---------------------------------------- 在所有驱动的makefile中有!INCLUDE $(_MAKEENVROOT) ...

  2. 【WinCE】SD card技术了解并WINCE下SDHC驱动开发(updated)

    SD Card Driver on ADS Summary 了解SD card. 1 WinCE 5.0下SD Stack. 6 Bus Driver 7 Host Controller Driver ...

  3. mysql定时任务每天凌晨三点钟醒来_linux cron 下的定时执行工具使用技巧

    linux cron 下的定时执行工具使用技巧 点评:cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方 ...

  4. wince下shell 的定制

    网上下载,看着还不错,转载给大家学习一下 wince下shell 的定制 http://blog.csdn.net/fanyw/archive/2009/11/12/4804547.aspx 首先我们 ...

  5. WINCE下实现基于USB的camera

    我们是做基于WINCE的GPS产品,客户需要camera功能,我们产品集成了两种方案的camera功能:USB摄像头和基于TVP5150视频编解码(camera sensor)的camera,在这里只 ...

  6. WINCE下实现USB转RS232

    WINCE下可以通过一个USB TO RS232转换器来实现USB转RS232,也即WINCE设备的USB host接USB TO RS232转换器的USB端,而USB TO RS232转换器的RS2 ...

  7. 同软件多个线程设置不同ip_软件测试如何自学?收下这份《2020千锋性能测试入门视频教程》...

    萧亚轩在吐槽大会上说:"我只是天赋异禀,一个平平无奇的恋爱小天才."讲真,小千是百分百赞同,毕竟谁不是在平平无奇的生活里悄咪咪的给自己加持各种装备,偶尔一个大招适时放出,真的能够亮 ...

  8. 面试了 N 个候选人后,我总结出这份 Java 面试准备技巧

    转载自  面试了 N 个候选人后,我总结出这份 Java 面试准备技巧 目录: 框架是重点,但别让人感觉你只会山寨别人的代码 别只看单机版的框架,分布式也需要了解 对于数据库,别只知道增删改查,得了解 ...

  9. WinCE下的GPIO中断的处理

    在我所负责的音频驱动部分代码中,采用了PXA270的GPIO34来检测Headphone的插入与拔出.原驱动部分有个BUG,即当耳机插入以后,耳机和喇叭同时在响,很明显没有对耳机插入事件做出响应.所以 ...

最新文章

  1. 语义分割--Efficient Deep Models for Monocular Road Segmentation
  2. SQL Server 2005 For XML[学习]
  3. Linux下配置和安装VNCServer远程服务
  4. Android开发 常用命令
  5. css中的媒体查询_CSS中的媒体查询
  6. pdf裁边app_哪款手机PDF阅读APP值得推荐?
  7. Docker容器commit安装kali工具集
  8. linux装go环境脚本,linux中用shell快速安装配置Go语言的开发环境
  9. 推荐 一个PDF转Word内容不匹配、乱码的解决方法
  10. 使用Unicode字符集出现的错误总结
  11. 51单片机——LED点阵屏
  12. hanlp 如何快速从分词仅取出人名
  13. adt变频器故障代码ol2_变频器常见故障代码及处理实例
  14. Matrix67的情书 题解 恺撒移位密码
  15. 吃货必备手册,爱辣条就不能错过的零食地图
  16. unity入门2.0
  17. 公众号配置服务器信息在哪里,公众号服务器配置在哪
  18. 十六进制颜色值和ARGB颜色值的转换
  19. 推荐系统lambda架构学习笔记之推荐系统算法(二)
  20. HTML5开发环境搭建

热门文章

  1. java不需要导的包
  2. 010_JMS消息选择器
  3. 064_let关键字
  4. pcss评分_GTA5画质设置 N卡画质选项设置指南
  5. oracle form 滚动条,jQuery实现的自定义滚动条实例详解
  6. java获取月末日期_Java用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间详解...
  7. python调用adb传输电脑文件到手机_使用adb在电脑和手机间传文件
  8. 平时用到那些linux命令,工作中经常用到的linux命令,你知道多少?
  9. java我的世界1.7.2怎么下载模组_我的世界1.7.2
  10. 计算机软考知识点总结,历年计算机软考《系统分析师》复习知识点总结(8)