
嵌入式系统BSP基础知识.pptx
18页BSP(Board Support Packet-板级支持 包)是介于底层硬件和上层软件之间的底层 软件开发包,它主要功能为屏蔽硬件,提 供操作系统的驱动及硬件驱动是嵌入式操作系统的一个特有概念相当 PC机中的BIOS+驱动BSP的功能, BSP主要功能 椅上电时的硬件初始化 CPU的初始寄存器设置 :内存的配置 椅为操作系统访问硬件驱动程序提供支持 :串口 :网络接口 :块设备驱动程序 椅为应用程序提供访问底层硬件的程序接口 :定义硬件无关软件和硬件相关软件的接口绑定,BSP在嵌入式系统中的位置,硬件,I,BSP开发内容,:BSP的系统初始化 协配置内存 I :根据系统的设计,将每一块内存芯片配置到正确的 ) 地址空间中去 ) 椅屏蔽掉所有中断,避免外部中断干扰实时操作 系统的启动 I 椅向操作系统传递系统的硬件配置参数 椅其他 I :与处理器和操作系统相关的硬件配置,对于不同的 处理器,这部代码都差异很大,但同时也有很多现 成的资返可以国匕二股二开发时都可以有二 个现,BSP开发内容 :BSP的驱动开发 椅字符型设备驱动: :字符型设备主要指一种非结构化的设备,只能 够顺序输入和顺序输出。
我们在开发中常用的 串口,HDLC的通信口等等这种串行通信的接口, 都可以归结为字符型设备,而不仅仅限于是单 字符发送的设备 崎块设备驱动 :块存储设备主要是指结构化管理的,数据以块 的形式存储和访问的设备如硬盘,FLASH设 备等在嵌入式系统,块设备驱动的开发不是很 多 椅网络设备驱动: :网络设备主要是指挂接在网络协议栈下的设备,,BSP的开发方式,:使用仿真器开发 椅在开发系统的最小系统时,通常使用仿真器来I 开发常用的仿真器是ICD型的仿真器 | :使用点灯的方法 I 椅一般在已经有了成熟模板的情况下,可以使用I 点灯的方法来调试程序,通过在不同的程序段 加入点灯程序,可以观察程序的运行情况 ; :使用网口或串口交叉调试 j 椅在目标系统的最小系统完成后,各种驱动的开 发就可以使用网口和串口用交叉调试工具调试 了 T,BSP的开发流程,:一般来说,在硬件系统设计好之后,找到 一个与自己系统相近的评估板BSP作为模 板,开发自己嵌入式系统的BSP :对于一个BSP,开发主要分为两个步骤 椅最小系统的开发 椅其他设备驱动程序的开发,BSP开发流程一最小系统开发 :最小系统开发 椅BSP的最小系统开发,包含了处理器初 始化程序,网口驱动程序开发,串口驱 动开发,最小系统是操作系统得以运行, 调试工具可以正常使用的前提条件。
BSP开发流程设备驱动程序开发,其他设备驱动程序开发 椅因为最小系统的完成,嵌入式系统上的其他设 备驱动程序可以使用主机+目标机的交叉开发 工具弁发 椅驱动程序的结构 :硬件的配置,这和具体驱动相关 :中断的挂接和处理,一般驱动都使用中断方式来发 送和接收数据,因此中断处理函数的效率对整个系 统的正确运行尤其重要,因此驱动的中断处理函数 应该尽可能的简洁和高效 :与操作系统的接口和注册,对于驱动来说,它和应 用之间的数据交互是通过操作系统来间接进行的, 所以驱动必须提供和操作系统一致的接XL.并在操 作亥妹注而一妇丰禾商的皈方一不同的掘作亥纬却,BSP开发流程一其他功能开发,:其他功能的开发 椅对于一个嵌入式系统的bsp来说,应用或者操 作系统所有访问硬件的功能都应该由BSP来提 供,所以,BSP还需要向上层提供一些既不属 于系统的初始化,也不属于驱动的访问硬件的 功能如主备倒换控制,看门狗的开关等等 如主备倒换控制,看门狗的开关,目录,十FHux和VxWorks的BSP开发比较 VxWorks有标准的BSP开发规范,提供很 多代码模板,层次结构非常清晰 Linux的BSP,驱动程序的开发接口,模板 都是很标准的,各种资源也很多 KLinux相对应的概念为LSP,包括最小系统 和驱动程序,mux和VxWorks的BSP开发比较,系统引导部分的比较和分析 椅对于这两种操作系统的系统引导部分来说,它 们代码差异不大,都是使用汇编和c语言编写, 与操作系统无关,只与硬件相关。
在一定程度 上,甚至可以互相通用 :设备驱动部分的比较和分析 椅由于Linux操作系统和Linux引导装载器在结构 上的分离,使得两者之间的设备驱动程序不能 够通用,但是,与硬件相关的配置代码是可以 互相借鉴的VxWorks的BOOTROM和运行版 本的设备驱动是相同的,因为,它的运行版本 和BOOTROM的结构是二M的,用同二操作,谢谢,ZTE中兴,。












