欢迎来到天天文库
浏览记录
ID:8972254
大小:42.50 KB
页数:3页
时间:2018-04-13
《linux嵌入式系统与硬件平台》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、linux嵌入式系统与硬件平台王铮、刘渝萍完整的电器设备一般要包括软件和硬件两大部分。本文试图从linux软件系统、硬件平台以及开发流程来探讨linux嵌入式系统与硬件平台的关系。 一、linux嵌入式系统 操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外部设备的接口。它存在的目的是为了管理所有硬件资源,并且为应用软件提供一个合适的操作环境。嵌入式系统由于硬件的先天限制,经常只具有极稀少的硬件资源,如频率较低的cpu、较少的内存、常不具有磁盘而用小容量的diskonchip或dis
2、konmodule。在使用电池的系统中,它还要实现节省电池消耗、延长电池使用时间的功能。 linux作为嵌入式操作系统是完全可行的,因为linux提供了完全嵌入功能的基本内核及所有用户界面。linux可以说是一个能提供从内存管理到网络服务等各种功能的连续统一体。linux作为嵌入式系统,是一个带有很多优势的新成员。它对许多cpu和硬件平台都是易移植的、稳定的和易于开发的。 嵌入式linux系统需要三个基本元素:引导工具;linux微内核、内存管理、程序管理;初始化进程。 如果要它成为完整的操作系统且继续保持小型化,还得加上硬件驱动
3、程序、硬件接口程序、应用程序组。 谈操作系统就一定要说一说它的开发环境。linux是基于gnu的c编译器,作为gnu工具链的一部分,与gdb源调试器一起工作。它提供了开发嵌入式linux系统的所有软件工具。以下是一个典型开发工具的使用流程: 1.写入或植入引导程序; 2.向串口打印字符串的编码; 3.将gdb目标码移植工作串口,这可与另一台运行gdb程序的linux主机系统对话; 4.利用gdb让硬件和软件初始化码在linux内核启动时工作; 5.linux内核启动,串口成为linux控制口并可用于后续开发; 6.如果在你
4、的目标硬件上运行了完整的linux内核,你可以调试你的应用进程。 更详细的内容可参见网站http://www.emlinux.com。 二、硬件平台 研发人员在选择最好的硬件时,往往由于缺乏完整或精确的信息,而使之成为复杂且困难的工作。硬件成本经常是关键的议题。当考虑成本时,我们需要考虑产品的整个成本,而不仅是cpu的成本。因为好的cpu一旦加上总线逻辑和延时电路,并使之与外设一起工作,那么这个硬件系统可能会变成非常昂贵的产品。如果你正在寻找嵌入式软件系统,那么应首先确定硬件平台,即确定微处理器cpu的型号。 现在比较流行的硬件
5、平台有intel公司的strongarm系列、motorola公司的dragonball系列、nec公司的vr系列、hitachi公司sh3、sh4系列等等,它们都可选为硬件平台。在选定前先要确定所做系统的应用功能和所需速度,并且制定好外接设备和接口标准。这样可准确地定位所需要的硬件方案,得到性价比最高的系统。 图1是以intel公司的strongarm为例来说明硬件平台。 图1intel公司sa1110微处理器结构示意图 三、linux嵌入式系统与硬件的关系 我们可以将内核与任务分开来讲解linux嵌入式系统在硬件上的工作流程
6、。标准的linux内核通常驻留在内存中,每一个应用程序都是从磁盘传输到内存上执行。当程序结束后,它所占用的内存就被释放,程序也就被下载了。在一个嵌入式系统里,可能没有磁盘。有两种途径可以消除对磁盘的依赖,这要看系统的复杂性和硬件的设计。在一个简单的系统里,当系统启动后,内核和所有的应用程序都在内存里。这就是大多数传统嵌入式系统的工作模式。它同样可以被linux支持。有了linux,就有了第二种可能性。因为linux已经有能力“加载”和“卸载”程序。一个嵌入式系统就可以利用它来节省内存。假设我们已构造一个系统,它包括一个大概8mb到16m
7、bflashmemory和8mb内存。在这里,flashmemory就可以作为一个文件系统。flashmemory驱动程序用来连接flashmemory和文件系统。作为替代,也可使用flashdisk,用工具软件可把flashmemory仿真为磁盘。有一个例子就是intel公司可提供flashmemory管理软件ipsm-intelpersistentstoragemanager,详情见http://developer.intel.com/design/builder/flbldr/swb/swb.htm。 所有的程序都以文件形式存储
8、在flash文件中,需要时可以装入内存。这种动态的、“根据需要加载”的能力是支持其它一系列功能的重要特征: 1.它使初始化代码在系统引导后被释放。linux同样有很多内核外运行的公用程序。这些公用程序在初
此文档下载收益归作者所有