WinCE6.0学习笔记之二——BSP的Clone

转载自:http://blog.csdn.net/nanjianhui/article/details/2896411

BSP的克隆应该算是BSP开发的第一步,在你什么都没有的时候,最好找一个和你的芯片以及平台相近的已有的BSP包,进行克隆,然后再在上面开发新的BSP,这样会节省时间。道理大家都明白,下面介绍一下:

1.  基于WinCE6.0,首先打开VS2005,然后选择”Tools”->”Platform Builder for CE 6.0”->”Clone BSP”以后,会弹出一个克隆BSP的窗口。

2. 在弹出的窗口中,我们可以看到一些信息,在”Source BSP”中选择目前WinCE系统中已经支持的BSP,选择一个和你的平台相近的BSP,也就是被克隆的BSP,在这里我们选择”Device Emulator: ARMV4I”。然后在”Name”输入名字为MyBSP,在”Description”中输入This is my BSP。在”Platform Directory”中输入MyBSP,这里最好和上面的”Name”一致。”Vendor”输入My,”Version”输入1.0。应该是如下图:

3. 最后点击”Clone”就可以了,如果快的话,稍等几秒就会完成。如果成功了,会弹出一个对话框告诉你BSP已经克隆成功。

比较简单,BSP已经克隆完成。可以在”/WINCE600/Platform/”下面看到一个MyBSP的文件夹,就是克隆出来的BSP。下面简单介绍一些里面的内容:

sources.cmn该文件是一个BSP的sources的总文件,它会作用于BSP中所有的sources文件,就是说在这里面的设置会被用到BSP所有的sources文件中。

MyBSP.bat这是一个批处理文件,主要完成一些默认的环境变量的设置。他要和文件夹同名,在你以该BSP创建工程或者打开工程的时候,这个批处理会被自动运行.

dirs目录文件,指明要被编译的文件夹,一般都是指向src文件夹。

cebasecesysgen.bat该批处理会被cesysgen.bat调用,主要是设置一些WinCE系统相关的SYSGEN_xxx环境变量。该脚本没有也无所谓,很多BSP中都没有该脚本。

CATALOG文件夹:该文件夹里面包含了BSP的工程文件,名为MyBSP.pbcxml。可以使用记事本直接编辑它,这里要注意的是,他的名字要和文件夹名字一致,否则不能被识别出来。

CESYSGEN文件夹:该文件夹中包含一个makefile文件,主要是根据环境变量的设置对代码及配置文件进行过滤。

FILES文件夹:该文件夹包含了BSP以及WinCE的配置文件,其中包括bib文件,注册表文件,db文件等。

SRC文件夹:就是BSP的源代码文件夹,里面包含了BSP的所有源代码。其中应该包括”Bootloader”,”Drivers”,”Inc”,”OAL”和”Kitl”几个文件夹。当然不同的BSP,名字可能略有差别。”Bootloader”是WinCE的bootloader,一般是指EBOOT了。”Drivers”中包含了BSP中所有的驱动。”Inc”是一个头文件文件夹。”OAL”包含了WinCE中OAL部分的代码。”Kitl”是实现基于网络调试的Kilt的代码。

大致就介绍这些。上面说得挺多,其实就是介绍了一下BSP的克隆,以及BSP里面都有些什么东西。提到克隆,这里在补充一下,在WinCE6.0中,不光是BSP可以克隆,WinCE中的一些组件也是可以克隆的。当我们创建了一个WinCE的工程以后,我们可以会使用一些WinCE的组建,但是我们想改一下他的源代码,一般这些源代码都是位于Public目录下面的。更改Public目录下的源代码不是一个好的注意,首先你改Public目录下的源代码需要重新编译Public目录,这将用掉几个小时的时间,其次如果微软的补丁更新了你改的代码,那你可能还需要重新修改。

所以,在WinCE的工程中,如果你想更改Public目录下的组件的源代码,那么克隆可能是一个更好的选择,来介绍一下:

1. 假如你已经有了一个工程,在你的工程里面的”Catalog View”中,假如要克隆”Device Drivers”->”USB Function”->”USB Function Client”->”Mass Storage”这个模块,你需要右击,然后弹出如下的窗口:

时间: 2024-10-25 11:53:23

WinCE6.0学习笔记之二——BSP的Clone的相关文章

WinCE6.0学习笔记之三——快速编译驱动及BSP

转自:http://blog.chinaunix.net/uid-1818867-id-2835826.html 在WinCE下面,创建工程,然后编译是需要花很长时间的.当我们第一编译完工程以后,如果需要改我们的驱动或者BSP,我们是不需要重新编译整个工程的: 1. 如果更改了driver,以WinCE6.0为例,我们可以在菜单里面选择“build”->“Open Release Directory in Build Window” ,然后在弹出的命令行窗口中,通过dos命令切换到你要编译的dr

BIOS MCSDK 2.0 学习笔记(二)————使用Platform Library创建工程

Platform Library提供了一组适用于开发板的API函数.我们可以使用它来快速入手开发板. 启动CCS,建立一个空的工程 添加include路径:"C:\Program Files\Texas Instruments\pdk_C####_1_0_0_xx\packages",添加后如下图所示: 添加下列链接库到C6000 Linker section中的File Search Path: "C:\ti\pdk_c667x_2_0_3\packages\ti\plat

Hive-1.2.0学习笔记(二)访问Hive

鲁春利的工作笔记,谁说程序员不能有文艺范? 本文出自 "闷葫芦的世界" 博客,请务必保留此出处http://luchunli.blog.51cto.com/2368057/1719397

thinkphp5.0学习笔记(二)API后台处理与命名空间

命名空间 先来看命名空间吧: 命名空间是学习TP的基础, <?php namespace app\lian\c1; class yi{ public $obj = "这是第一个空间里面的内容"; } function fangfa() { echo "第一个方法"; } namespace app\lian\c2; class er{ public $obj = '这是第二个空间里面的内容'; } function fangfa() { echo "

Solr-5.3.0学习笔记(二)Solr Admin UI

鲁春利的工作笔记,好记性不如烂笔头 本文出自 "闷葫芦的世界" 博客,请务必保留此出处http://luchunli.blog.51cto.com/2368057/1738128

Bootstrap 3.0 学习笔记(二) —— 布局

容器(container) bootstrap 的布局从容器开始. 1 <div class="container"> 2 ... 3 </div> Bootstrap 3 的 container class 用于包裹页面上的内容.来看看 bootstrap.css 文件中的这个 .container class. 1 .container { 2 padding-right: 15px; 3 padding-left: 15px; 4 margin-right

一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移

不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.supervisor.mysql环境搭建搭建好了.net core linux的相关环境,今天就来说说ef core相关的配置及迁移: 简介: Entity Framework(以下简称EF) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,EF Core是Entity

Spring3.0官网文档学习笔记(二)

1.3 使用场景 典型的成熟的spring web应用 spring使用第三方框架作为中间层 远程使用场景 EJB包装 1.3.1 依赖管理.命名规则(包) spring-*.jar *号代表的是模块的简写,如:spring-core, spring-webmvc, spring-jms 可以在四个不同的地方找到Spring: http://www.springsource.org/downloads/community  所有的jar包被打包成zip,名称从3.0开始是: org.spring

struts2学习笔记(二)—— 获取登录信息及计算在线人数

实现目的: 1.点击"Login"的超链接,进入登录页面 2.填写登录信息,提交表单,将用户信息保存进Session 3.显示用户名,并计算在线人数 4.点击"Logout"的超链接,在线人数减一,并使Session失效 Struts2实现: 1.配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:/