微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式系统底层软件结构模型建构与协同性分析

嵌入式系统底层软件结构模型建构与协同性分析

时间:01-11 来源: 点击:

要设计过程。

  基于ARM-μCLinux 嵌入式系统的启动引导过程:通过串口更新系统软件平台,完成启动、初始化、操作系统内核的固化和引导等。硬件平台由内嵌ARM10 的处理器、存储器2MBFlash 和16MBSDRAM、串口以及以太网口组成。软件平台组成:系统引导程序、嵌入式操作系统内核、文件系统。采用Flash 存储bootloader、内核等,直接访问内核所在地址区间的首地址。

  2.3 μCLinux 内核的加载

  系统采用μCLinux 自带的引导程序加载内核,用自举模式和内核启动模式相互切换;同时,切换到内核启动模式,自动安全地启动系统。针对ARM7TDMI 的无MMU 特性,采用修改后的μCLinux 内核引导程序加载操作系统和初始化环境,解决内核加载的地址重映射问题和操作系统的内存管理问题。

  2.4 WinCE 系统下BootLoader

  完成定制WinCE 的加载主要工作是编写启动加载程序bootloader 和板级支持包BSP。Bootloader 涉及到基本的硬件操作,如CPU 的结构、指令等,同时涉及以太网下载协议TFTP 和映像文件格式。Bootloader支持命令输入的方式,不用人工干预加载WinCE,其主控部分通过串口来接收用户的命令。

  2.5 系统板级支持包BSP

  由于硬件环境、Bootloader 映射范围以及二次开发等原因,系统启动加载程序Bootloader 不能把经过裁剪的OS 直接引导进入硬件环境,需要建立BSP 文件,如VxWorks 的BSP 和Linux 的BSP 相对于某一CPU 来说尽管实现的功能一样,写法和接口定义可以完全不同。BSP 的结构与内容差异性较大,依据不同的系统和应用环境,应设计建立合理、稳定的BSP 内核。

  2.6 交叉融合

  在分析过程、任务划分以及系统协同性的基础上,对系统底层软件设计应考虑Bootloader、BSP、接口以及应用程序交叉与融合。应用BSP 组成灵活性,设计充分考虑软硬件协同。接口驱动程序,如网络驱动、串口驱动和系统下载调试、部分应用程序可添加到BSP 中,从系统结构的角度是,简化软件层次和硬件尤其是存贮体系结构,当操作系统运行于硬件相对固定的系统,BSP 也相对固定,不需要做任何改动,建立独立的应用程序包。如果BSP 中的应用程序不断升级,将对系统稳定性造成影响。

  图 4 表征了嵌入式系统三个软件环节的结构变化,Bootloader、BSP、接口驱动程序以及部分应用程序将产生融合与交叉。对于一次开发功能强大的嵌入式系统,应充分利用嵌入式处理器供应商提供的Bootloader,使建立BSP 的过程变得相对容易。


图 4. 软件交叉与融合示意图

  3.结束语

  通过对嵌入式系统结构与协同性探讨,分析了嵌入式系统的特点和协同性。应用结构协同思路与流程,建立一个结构良好与嵌入式核心硬件层密切相关的Bootloader 和BSP,对顺利植入裁剪良好的OS、简化软件结构以及保护硬件平台知识产权都有重要意义。嵌入式处理器种类多,系统结构不尽相同,Bootloader和BSP 的内容随之会产生差异,应充分考虑系统协同问题,避免传统的多次设计、反复实验的方式,为实际应用提供有益帮助。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top