zoukankan      html  css  js  c++  java
  • WinCE下多份BSP的维护技巧

    在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的分区上用。
  • 相关阅读:
    Emiller's Advanced Topics In Nginx Module Development
    关于使用UDP(TCP)跨局域网,NAT穿透的心得
    linux pipe
    使用Trinity拼接以及分析差异表达一个小例子
    Bowtie2的安装与使用
    使用Tophat+cufflinks分析差异表达
    RNA-seq流程需要进化啦!
    HISAT2+StringTie+Ballgown安装及使用流程
    HISAT2,StringTie,Ballgown处理转录组数据
    p值还是 FDR ?
  • 原文地址:https://www.cnblogs.com/LoongEmbedded/p/5298705.html
Copyright © 2011-2022 走看看