嵌入式系统结构与协同性探讨

最新更新时间:2012-05-15来源: 互联网关键字:嵌入式  系统结构 手机看文章 扫描二维码
随时随地手机看文章

嵌入式技术被广泛应用于信息家器、消费电子、交换机以及机器人等产品中,与通用计算机技术不同,嵌入式系统中计算机被置于应用环境内部特征不明显。系统对性能、体积、以及时间等有较高的要求。复杂的嵌入式系统面向特定应用环境,必须支持硬、软件裁减,适应系统对功能、成本以及功耗等要求。

  0.1 嵌入式系统与协同性

  从信息传递的电特性过程分析,嵌入式系统特征表现为,计算机技术与电子技术紧密结合,难以分清特定的物理外观和功能,处理器与外设、存储器等之间的信息交换主要以电平信号的形式在IC 间直接进行。

  从嵌入深度ED来看,信息交换在IC 间越直接、越多,嵌入深度就越大。

  在设计实验系统模型(图1)时,充分考虑到软硬协同性,使其成为一个实验与研究完备平台。软硬件协同性问题涉及到协同性划分技术和协同性设计技术。协同性核心问题之一将涉及启动加载软件Bootloader、系统板级支持包BSP 以及嵌入式OS 之间融合和移植。协同性设计技术与系统功能、性能以及开发人员等因素相关,其核心内容为软硬件的协同描述、验证和综合提供一种集成环境。

  

嵌入式系统结构模型

 

  图 1. 嵌入式系统结构模型

  0.2 没有操作系统OS 的嵌入式系统

  0.2.1 系统特点

  由于系统的性质、任务、成本等原因,没有操作系统支持的嵌入式系统将继续大量存在。这样的系统使用专用开发工具(如:仿真在线调试器ICE 等)。通过串口或并口在PC机上联机调试程序,具有源代码调试功能。

  0.2.2 局限性分析

  没有OS 的系统按照“指令顺序执行+中断”的模式运行。在作者参与的早期程控交换机系统设计中,需要对不同端口量级(从10 到1000 等)的分机进行实时处理。通过建立交换系统核心硬件层(存储体、第一层I/O 等)以及用户口地址等程序;然后建立定时和非定时事件、过程以及任务中断链和任务表,应用中断对任务以及过程调度。设计人员要完成相当于部分操作系统功能的编写,导致软件结构复杂、工作量大尤其是重复劳动。

0.3 具有OS 的嵌入式系统

  图1 的2 嵌入式系统就是具有嵌入式OS 的一种结构模型。引入嵌入式OS 可以面对多种嵌入式处理器环境(如:MPU、DSP、SOC 等)提供类同的API 接口,使基于OS 上的程序具有较好的移植性。从协同划分与设计技术出发,通过嵌入式软件的函数化、产品化能够促进分工专业化,减少重复劳动。

  1. Bootloader/BSP 特性

  Bootloader 与BSP 配合,通过初始化硬件设备、建立内存空间映射,“屏敝”硬件环境,为调用操作系统内核和应用程序运行作好准备。

  1.1 Bootloader 特性与结构分析

  Bootloader 是系统加电后首先运行的程序,主要依赖于硬件,建立一个通用版本几乎不可能。即使同一CPU,硬件稍作变化,Bootloader 也必须修改。建立良好的BootLoader 结构,为系统二次开发以及减轻BSP的开发难度、可移植提供有益帮助;同时,也是保护硬件平台设计知识产权的重要措施。

  启动过程分单阶段(Single STage)和多阶段(Multi-Stage)。从协同性划分技术角度,设备初始化程序等通常放在stage 中,stage2 设置内核参数和调用,应具有可读性和可移植性。从固态存储设备上启动的Bootloader 大多都是两阶段的启动过程。Bootloader 的存贮体和分区:Flash/RAM/固态存贮器(图2);Flash 存储分区有连续和非连续两种方式。当系统需要多媒体等功能,用DOC(Disk ON Chip)技术解决大容量嵌入式OS 的存贮。

  

 

  图2. 空间分配结构示意图

  1.2 BSP 特性

  作为板级支持软件包BSP 处在一个软硬件交界的中心位置,结构与功能随系统应用范围表现较大的差异。不同的硬件环境和操作系统,BSP 具有不同的内容与结构。从协同性角度,在系统设计初始阶段,就必须考虑BSP 可移植性、生成组件性以及快速性。如,BSP 的编程大多数是在成型的模板上进行,保持与上层OS 正确的接口。

  2. Bootloader/BSP 协同性与设计

  在建构嵌入式系统的过程中,应从系统结构和协同性角度,关注底层软件的设计。bootloaer 和BSP构成底层软件设计的核心内容,与硬件、过程、功能划分结合紧密。

  2.1 Bootloader 与BSP 协同性分析流程

  首先用对任务所涉及的功能和过程进行系统级划分,确定将功能划分给软件还是硬件,对执行确定相关的“延迟”特性。形成模型创建、配置、*估等协同流程,克服传统孤立的设计模式。在面对系统低层软件Bootloader 与BSP 设计时,在前面分析系统结构以及特性基础上,给出如下系统性流程图。

  

 

  图 3. 系统底层软件结构模型

2.2 基于ARM-μCLinux 系统bootloader 设计

  在系统结构模型以及设计流程的基础上,下面通过实例说明bootloader 的主要设计过程。

  基于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 的内容随之会产生差异,应充分考虑系统协同问题,避免传统的多次设计、反复实验的方式,为实际应用提供有益帮助。

关键字:嵌入式  系统结构 编辑:神话 引用地址:嵌入式系统结构与协同性探讨

上一篇:一种嵌入式网络接口设计
下一篇:递进式分配器的使用与维修

推荐阅读最新更新时间:2023-10-12 20:40

基于S3C2440嵌入式Linux的步进电机驱动程序
在嵌入式Linux开发过程中需要为指定设备编写和编译驱动程序,这与以往在PC机上的Linux驱动开发明显不同,本文设计了基于S3C2440嵌入式Linux下激光雕刻系统的步进电机驱动程序。 1 硬件系统的设计 步进电机开环控制系统主要由中央控制器、步进电机驱动器、传感器以及步进电机四大部分组成。本系统采用基于ARM920t内核的S3C244 0A微处理器作为控制系统的中央控制器,该芯片主频400MHz,最高可达到533MHz,内含多种设备接口,存储器使用64MB的Nand Flash和64MB的SDRAM。图1所示为控制系统框图。 2 系统的工作原理 本系统主要控制两个两相混合式步进
[单片机]
基于S3C2440<font color='red'>嵌入式</font>Linux的步进电机驱动程序
基于S3C2410及嵌入式Linux的氢气浓度的检测系统的解决方案
氢气是一种无色无味、携带极不方便、极易泄漏的气体,在室温和标准大气压下,氢气与空气的混合比例达到4.1%~74.1%时遇明火极易爆炸。为了减小使用氢气的安全隐患,开发出一套安全、可靠、灵敏度高的氢气浓度监测系统具有十分重要的意义。 1 系统总体结构设计 采集到的氢传感信号经过低噪声放大电路进行放大处理,并在低通滤波器滤除信号中的高频噪声。然后,经A/D转换器送入ARM处理器S3C2410,ARM 处理器再调用应用程序对采集到的数据进行数字处理,最后实时显示浓度值,并在浓度超出限定值时做出报警处理。整个系统框图如图1所示。 2 系统硬件结构设计 本系统中所选氢气传感器为瑞士Membrapor生产的H2
[单片机]
基于S3C2410及<font color='red'>嵌入式</font>Linux的氢气浓度的检测<font color='red'>系统</font>的解决方案
赛迪顾问:五大嵌入式应用市场值得关注
  “无处不在”的嵌入式系统“无所不能”   嵌入式系统作为一个热门领域,涵盖了微电子技术、电子信息技术、计算机软件和硬件等多项技术领域的应用。在全球半导体市场快速复苏,消费电子、通信以及嵌入式系统各个应用领域快速发展,嵌入式微处理器技术不断进步的情况下,全球嵌入式系统产业规模继续保持稳步增长,2007年达到4081.6亿美元,增速达到17.50%。2007年。国内的嵌入式系统产业规模也达到了2218.1亿元,增长32.3%。   嵌入式计算技术的进步,正在以前所未有的程度影响和改变着我们的生活。迄今为止,只要我们目之能及,嵌入式系统已经“无处不在”、“无所不能”。其中“无所不能”是指嵌入式系统将人工智能技术和超级计算
[嵌入式]
嵌入式学习⑦——Ardunio下的STM32串口通信
一、使用Ardunio完成STM32的串口通信 1. 安装Ardunio 安装链接见百度云:百度云盘 提取码:q251 下载之后点击安装程序进行安装 安装完成 进行Ardunio IDE的配置 进入解压后的文件夹,将文件夹中的Arduino_STM32复制到Ardunio的安装目录下的hardware文件夹下 打开Ardunio,点击菜单栏工具开发板“Ardunio ” 开发板管理器 输入ARM关键字搜索,选中Cortex-M3系列的编译支持文件并安装,安装过程可能需要几分钟。 打开系统示例程序 若可以成功编译则证明ARM配置成功 2. 使用USB连接开发板 1).烧录程序 编写以下代码: St
[单片机]
<font color='red'>嵌入式</font>学习⑦——Ardunio下的STM32串口通信
ARM嵌入式系统的问题总结分析
   引言   由于各种新型微处理器的出现和应用的不断深化,嵌入式系统在后PC时代得到了空前的发展。随着时间的推移和技术的进步,在工业控制和新兴的手持式应用等领域,用户体验成为产品成功的关键因素之一,越来越多的产品需要良好的用户界面、互联功能以及较强的数据处理能力,这对嵌入式处理器硬件、软件、教学等提出了新的要求。    1 嵌入式处理器与硬件   在处理器方面,目前大量的中、低端嵌入式应用,主要使用8/16位单片机。在国内,由于历史的原因,主要是以MCS51核为主的许多不同型号单片机,主要厂商有Atmel、Philips、Winbond、宏晶等。还有一些近几年发展较快的新型单片机,如PIC、AVR、MSP430
[单片机]
基于SDRAM文件结构存储方式的数据缓存系统
O 引言   面对不同的应用场景,原始采样数据可能包含多种不同样式的信号,这给传统基于连续存储方式的数据缓存系统带来了挑战。除此之外,由于对不同信号的处理往往需要不同的数据帧结构,缓存系统的设计需要保存原始采样数据并能够实现数据的重组帧,以满足不同处理需求。       针对以上问题,本文提出了一种基于文件结构存储方式的设计方案。      2 系统工作原理   2.1 文件结构的存储方式   所谓文件结构指的是,将帧头与其所对应的数据分区存储,在存储时将存储数据的首地址添加到帧头信息中,在读出时,先读取帧头找到数据的首地址,然后加上系统给定的偏移地址算出读取的起始地址,从该地址开始顺序读取要求长度
[嵌入式]
雅特生嵌入式运算模块内建 NXP 处理器
雅特生科技(Artesyn)宣布推出内建恩智浦(NXP)QorIQ T 系列处理器的全新系列 COM Express 嵌入式运算模块 COMX-T 系列(COMX-T2081/COMX-T1042)。 此 COMX-T 模块,内含四颗采用 NXP 电源管理架构(Power Architecture)的 NXP T1042 处理器或八颗,也同样采用电源管理架构的 NXP T2081 虚拟核心处理器, 并配备多种不同高速接口,而且尺寸大小与量产版的标准模块无异。 雅特生产品营销经理 Qianqian Shao 表示,此两款新模块有多种高低不同的效能可 供选择,系统开发商可以从中挑选一款最适用的模块,以满足不同应用的需要。 目 前市场上
[半导体设计/制造]
stm32嵌入式操作系统具有怎样的优缺点
  STM32简单介绍   一、背景   如果你正为项目的处理器而进行艰难的选择:一方面抱怨16位单片机有限的指令和性能,另一方面又抱怨32位处理器的高成本和高功耗,那么,基于 ARM Cortex-M3内核的STM32系列处理器也许能帮你解决这个问题。使你不必在性能、成本、功耗等因素之间做出取舍和折衷。   即使你还没有看完STM32的产品手册,但对于这样一款融合ARM和ST技术的“新生儿”相信你和我一样不会担心这款针对16位MCU应用领域 的32位处理器的性能,但是从工程的角度来讲,除了芯片本身的性能和成本之外,你或许还会考虑到开发工具的成本和广泛度;存储器的种类、规模、性能和容 量;以及各种软件获得的难易,我相信你看完本
[单片机]
stm32<font color='red'>嵌入式</font>操作<font color='red'>系统</font>具有怎样的优缺点
小广播
最新模拟电子文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved