嵌入式系统BSP基础知识.ppt

上传人:牧羊曲112 文档编号:6414970 上传时间:2023-10-28 格式:PPT 页数:18 大小:223.50KB
返回 下载 相关 举报
嵌入式系统BSP基础知识.ppt_第1页
第1页 / 共18页
嵌入式系统BSP基础知识.ppt_第2页
第2页 / 共18页
嵌入式系统BSP基础知识.ppt_第3页
第3页 / 共18页
嵌入式系统BSP基础知识.ppt_第4页
第4页 / 共18页
嵌入式系统BSP基础知识.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《嵌入式系统BSP基础知识.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统BSP基础知识.ppt(18页珍藏版)》请在三一办公上搜索。

1、嵌入式系统BSP基础知识,成都研究所操作系统团队,目录,BSP简介BSP开发Linux和VxWorks的BSP开发比较分析,BSP的定义,BSP(Board Support Packet板级支持包)是介于底层硬件和上层软件之间的底层软件开发包,它主要功能为屏蔽硬件,提供操作系统的驱动及硬件驱动。是嵌入式操作系统的一个特有概念。相当PC机中的BIOS+驱动。,BSP的功能,BSP主要功能上电时的硬件初始化CPU的初始寄存器设置内存的配置为操作系统访问硬件驱动程序提供支持串口网络接口块设备驱动程序为应用程序提供访问底层硬件的程序接口定义硬件无关软件和硬件相关软件的接口绑定,BSP在嵌入式系统中的位

2、置,目录,BSP简介BSP开发Linux和VxWorks的BSP开发比较分析,BSP开发内容,BSP的系统初始化配置内存根据系统的设计,将每一块内存芯片配置到正确的地址空间中去屏蔽掉所有中断,避免外部中断干扰实时操作系统的启动。向操作系统传递系统的硬件配置参数。其他与处理器和操作系统相关的硬件配置,对于不同的处理器,这部代码都差异很大,但同时也有很多现成的资源可以用,一般,在BSP开发时都可以有一个现成的模板。,BSP开发内容,BSP的驱动开发字符型设备驱动:字符型设备主要指一种非结构化的设备,只能够顺序输入和顺序输出。我们在开发中常用的串口,HDLC的通信口等等这种串行通信的接口,都可以归结

3、为字符型设备,而不仅仅限于是单字符发送的设备。块设备驱动块存储设备主要是指结构化管理的,数据以块的形式存储和访问的设备。如硬盘,FLASH设备等在嵌入式系统,块设备驱动的开发不是很多。网络设备驱动:网络设备主要是指挂接在网络协议栈下的设备,如以太网的网络驱动设备等。网络设备从物理上来说也是串行的通信设备,和普通的字符设备不同的是,它的上层是网络协议栈,而不是直接的应用。网络设备也不能直接调用,一般通过SOCKET接口来间接调用。,BSP的开发方式,使用仿真器开发在开发系统的最小系统时,通常使用仿真器来开发。常用的仿真器是ICD型的仿真器。使用点灯的方法 一般在已经有了成熟模板的情况下,可以使用

4、点灯的方法来调试程序,通过在不同的程序段加入点灯程序,可以观察程序的运行情况。使用网口或串口交叉调试在目标系统的最小系统完成后,各种驱动的开发就可以使用网口和串口用交叉调试工具调试了。,BSP的开发流程,一般来说,在硬件系统设计好之后,找到一个与自己系统相近的评估板BSP作为模板,开发自己嵌入式系统的BSP。对于一个BSP,开发主要分为两个步骤最小系统的开发 其他设备驱动程序的开发,BSP开发流程最小系统开发,最小系统开发BSP的最小系统开发,包含了处理器初始化程序,网口驱动程序开发,串口驱动开发,最小系统是操作系统得以运行,调试工具可以正常使用的前提条件。,BSP开发流程设备驱动程序开发,其

5、他设备驱动程序开发因为最小系统的完成,嵌入式系统上的其他设备驱动程序可以使用主机目标机的交叉开发工具开发。驱动程序的结构硬件的配置,这和具体驱动相关。中断的挂接和处理,一般驱动都使用中断方式来发送和接收数据,因此中断处理函数的效率对整个系统的正确运行尤其重要,因此驱动的中断处理函数应该尽可能的简洁和高效。与操作系统的接口和注册,对于驱动来说,它和应用之间的数据交互是通过操作系统来间接进行的,所以驱动必须提供和操作系统一致的接口,并在操作系统注册。对于不同的驱动,不同的操作系统都有不同的标准接口要求。因此,这也是开发一种跨操作系统平台的驱动的难点所在。,BSP开发流程其他功能开发,其他功能的开发

6、对于一个嵌入式系统的BSP来说,应用或者操作系统所有访问硬件的功能都应该由BSP来提供,所以,BSP还需要向上层提供一些既不属于系统的初始化,也不属于驱动的访问硬件的功能。如主备倒换控制,看门狗的开关等等。如主备倒换控制,看门狗的开关,BSP开发步骤分析,获取基本的BSP模板针对不同的CPU类型,确定基本BSP中所有的寄存器配置是否适合当前的硬件(包括SDRAM)。如果不适合则做相应的改动。这主要是指rominit.s,config.h中的修改。其次如果有网络设备,则需要配置confignet.h。如果有串口,则需要修改sysSerial.c。修改sysLib.c中的硬件相关的部分。,目录,B

7、SP简介BSP开发Linux和VxWorks的BSP开发比较分析,Linux和VxWorks的BSP开发比较,VxWorks有标准的BSP开发规范,提供很多代码模板,层次结构非常清晰Linux的BSP,驱动程序的开发接口,模板都是很标准的,各种资源也很多KLinux相对应的概念为LSP,包括最小系统和驱动程序,Linux和VxWorks的BSP开发比较,系统引导部分的比较和分析对于这两种操作系统的系统引导部分来说,它们代码差异不大,都是使用汇编和C语言编写,与操作系统无关,只与硬件相关。在一定程度上,甚至可以互相通用。设备驱动部分的比较和分析 由于Linux操作系统和Linux引导装载器在结构上的分离,使得两者之间的设备驱动程序不能够通用,但是,与硬件相关的配置代码是可以互相借鉴的。VxWorks的BOOTROM和运行版本的设备驱动是相同的,因为,它的运行版本和BOOTROM的结构是一致的,使用同一操作系统内核。,谢 谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号