BSP

来源:互联网 发布:知象 编辑:程序博客网 时间:2024/05/01 01:16

  1、硬件主板研制,测试。
  2、操作系统的选定,BSP编程。
  3、上层应用程序的开发。
  BSP部分在硬件和操作系统,上层应用程序之间。所以这就要求BSP程序员对硬件,软件和操作系统都要有一定的了解。这样才能做好BSP编程。
      熟悉工具方面:电表,示波器,逻辑分析仪。硬件仿真器,仿真调试环境。
      语言方面:汇编语言,C语言。

  BSP:Board Support Pakage,用于构建一个最小的系统,完成操作系统的加载。BSP属于嵌入式系统的一部分,它相当于一个板级驱动程序。BSP可以理解成最简单的驱动代 码,它属于OS或Firmware的一部分,在PC平台最小的BSP需要完成的任务就是初始化芯片组上中断控制器,内存控制器,PCI控制器与串口(作为 调试接口,如果你没钱买那些昂贵的硬件仿真器),基本上有这些你就可以对系统板进行调试了,比如Debug各种设备驱 动:VGA,USB,IDE,MAC,AC97等。在OS上的driver一般都是可动态加载的,当然嵌入OS里头直接编进去就可以了,对于一个最小的可 运行的OS核心来说,BSP是必不可少的,但Driver不是。

  BSP就是买开发板,开发板的生产商提供的一个资料和资源包,通常包括:
一 硬件相关
1 开发板原理图 
2 开发板元件列表 
3 接口定义 
4 地址分布

二 软件相关
1 某些操作系统的bootloader及源代码 
2 某些操作系统裁剪好的映像文件(如linux系列可能有源码,如WinCE可能有CEC文件)

三 服务相关 
1 售后的技术支持(根据价格,差异很大)

  我来说说为什么很多人都建议你买块板子做练习。 通常来说一块通用板子(可能已经注意到国内最多的板子都是基于samsung的s3c系列,原intel的pxa的也不少)。原因有很多。 
  1)选择用得比较广泛的ARM芯片,遇到问题,到论坛上提问容易得到解决。 
  2)通常你买板子的时候,板子提供商会同时提供 该chip的datasheet,外设芯片的datasheet,板子的schematic就是板子电路图。Linux BSP或者WinCE BSP。这样的话资料就基本上差不多了。 
  3)如2)所说,板子提供商提供的缺省BSP是可以运行的,你可以在上面做一些修改(比如针对某个驱动)。然后根据板子提供商提供的交叉编译环境 进行编译,重新放到板子上调试。

  有个两个提议 
  1)如果你将买的板子不能跑Linux或者WinCE,本身chip的功能少;或者板子提供商不提供全套资料。可以把该板子(和板子提供商)抛弃。 
  2)确定主攻方向,即使是驱动部分,也不是一朝半日就能完全搞通,一半是从简单的驱动慢慢扩散。比如简单的从字符设备驱动开始,然后网络设备驱动,然后块设备驱动。 你可以根据兴趣,选择如串口驱动,RTC驱动,LCD驱动,MMC/SD驱动,USB驱动。。。。。


现在网上关于这些驱动的分析也已很多了。 看驱动先看驱动模型,了解大概,再看具体实现。

0 0
原创粉丝点击