• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 建筑房产 > 正文

    嵌入式Linux系统在ARM平台上的构建

    时间:2021-04-06 07:52:02 来源:达达文档网 本文已影响 达达文档网手机站

    【摘要】随着科学技术的不断进步,嵌入式系统在人们的日常工作和生活的多个领域都得到了大量的应用。Linux操作系统良好的稳定性、高度的可靠性以及免费公开等优点,让其成为嵌入式系统的最佳选择。文章研究了嵌入式Linux系统在ARM平台上的构建。

    【关键词】嵌入式系统;ARM平台;构建

    当今时代,嵌入式系统相关技术得到了非常迅速的发展,其应用也涉及了人们的生活和工作的多个领域,目前嵌入式处理器已经占到分散处理器市场份额的90%以上。嵌入式操作系统有包括嵌入式Linux操作系统在内的很多种,嵌入式Linux操作系统是其中应用效果最好的一种,不仅具备Linux系统的稳定性好、软件丰富等优点,还能够支持各种处理器和硬件平台、占用存储空间少、成本较低。文章探究了嵌入式Linux系统在ARM平台上的构建。

    1、嵌入式Linux操作系统

    1.1嵌入式系统

    一般来说,嵌入式系统是指围绕应用这一核心,通过计算机技术构建的专用计算机系统。嵌入式系统的软硬件都具有良好的灵活性,可以根据实际需求进行调整,能够在应用系统对功耗、体积、成本等多个方面有较高要求时得到很好的应用。除此之外,广义上的嵌入式系统包括所有不用于通用目的的可编程计算机设备。嵌入式系统主要有三个明显的特点。第一,嵌入式系统一般都是根据具体的需求设计的,需要和用户情况、产品要求以及应用需求联系起来,在实际的工作过程中必须考虑这三方面的因素,因此,嵌入式系统的专用性很强。第二,嵌入式系统不仅使用了计算机技术作为设计基础,还运用了半导体技术和电子技术,同时应用了其他多个领域的知识与技术,是一种覆盖多种技术、横跨数个学科、资金密集的知识集成系统,而且具有很强的发展性和创新性。第三,嵌入式系统中的硬件和软件都需要根据实际的应用需求进行裁剪。

    嵌入式系统包括三个主要的组成部分,分别是硬件、应用软件、实时操作系统。嵌入式系统的硬件组成部分有复位及振荡电路、处理器、定时器、中断控制、输入输出设备接口及驱动电路、ROM、RAM、串行口、并口以及系统专用电路。嵌入式系统的应用软件是用于实现系统各项功能的主要软件,应用软件在运行过程中,既能通过单一任务完成,也能通过并行的多个任务共同完成。嵌入式系统中的实时操作系统的功能是管理各个应用软件,并为系统的运行提供一种机制,保证处理器能够在满足时限要求的同时,分时运行多个任务。

    1.2Linux内核

    内核是操作系统的内部核心程序,为外部提供对计算机设备的核心管理调用。在之前很长一段时间,操作系统大多采用单一内核,操作系统中的各种系统功能都被存储于内核中,程序需要通过系统调用的界面来访问内核结构。现在的操作系统则大多使用微内核结构,这类操作系统的内核的功能非常简单,只包括最基本的一部分,其他管理程序位于内核之外,能够独立运行。Linux系统采用了单一内核结构,其开发者将代码执行效率置于首位,注重对全局性的优化,因此损失了一定的结构精炼。与一般的单一内核系统不同的是,Linux系统内核中的部分代码并不是固定的,能够通过人为操作调整装载状态,这样的代码段被称为模块,Linux系统可以在需要的时候自行载入或卸载模块。Linux系统的内核是非抢占式的,因此,Linux不能通过改变优先权来调整内核当前的执行流程。Linux操作系统以独占的方式执行最底层任务,其内核具有很强的稳定性和很高的计算效率这使得其他程序能够保持正常运行的状态。

    Linux内核包括五个组成部分。其一,進程管理。进程是指在自己的虚拟地址空间中运行的程序,主要包括交互进程、批处理进程以及守护进程三种。交互进程是由shell控制和运行的,同时具有前台运行和后台运行的能力;批处理进程并不属于某一终端,而是被提交到队列中进行顺序执行;守护进程一般在Linux启动时开始执行,这类进程在需要时被唤起后台运行。进程在运行过程中会占用各类系统资源,会调用CPU对进程指令进行处理,调用物理内存保存进程数据,有时还会打开各类文件或者使用系统中的各类物理设备。在Linux系统运行过程中,进程管理程序主要实现以下功能,对进程状态的控制,在系统有更高的资源需求时,暂时中止进程,在资源空闲时让进程恢复运行;与资源管理程序相关联,完成对资源管理;根据系统的资源分配机制进行资源的调用等。

    其二,内存管理。操作系统的绝大部分任务都需要对内存进行防问,然而内存是有限的,如果不能做好内存资源的分配,就会导致系统运行异常,因此,内存管理系统是非常重要的。内存管理系统包括以下五项功能。大地址空间,系统内存大小是固定的,但在必要时内存管理系统能够通过一些算法让程序使用更大虚拟内存;保护,每一个任务进程所使用的内存都是专用的,不会受到其他进程的影响;内存映射,内存管理程序可以将某一文件映射到虚拟内存区域,然后就能以访问内存的方式进行该文件的访问;公平的内存访问,内存管理程序能够保证各个进程公平的使用计算机内存资源,从而提高系统运行的稳定性和高效性;共享内存,进程的内存虽然具有专用性,但在内存管理程序的干涉下能够进行部分共享。

    其三,文件系统管理。Linux系统能够支持多种物理设备,其文件系统可以提供对多个硬件设备的访问,支持多种不同的逻辑文件系统,支持多种可执行文件格式,为系统中所有的逻辑文件系统和硬件设备提供通用接口,而且性能很好,能够高速的访问文件,不会导致数据信息的丢失或损坏,此外,其保密性也十分良好,可以限制用户访问文件的权限和大小。其四,进程间通信。Linux系统具有进程间通信机制,从而让并发执行的进程能够共享资源并交换数据。其五,网络接口。嵌入式Linux系统的应用不断推广,与因特网的连接也越来越有必要,因此系统必须有TCP/IP协议的支持。Linux系统原有的TCP/IP协议在嵌入式系统中并不适用,实现过程过于复杂,依然需要不断的研究开发。

    2、基于ARM平台的嵌入式Linux系统

    2.1、嵌入式系统平台

    第一,硬件平台。基于ARM平台的嵌入式Linux系统采用的HFRK2410开发板是基于三星公司S3C2410高性能ARM处理器的嵌入开发平台,采用S3C2410 ARM920T的CPU,存储器则采用64M的SDRAM和NAND Flash,集成串口、SD卡控制器、USB Host以及USB device控制器,同时还具有以太网接口、音频接口等。这一硬件平台具有良好的可扩展性,软件和硬件都可以根据实际的需求进行定制。S3C2410属于ARM9系列微处理器,可以在无限设备、仪器仪表、安全系统、机顶盒等多种设备中应用。ARM9系列微处理器不仅具有高性能和低功耗的优点,还具有良好的指令和数据处理能力。

    第二,软件平台。基于ARM平台的嵌入式Linux系统的软件平台主要有交叉编译器、系统引导程序、嵌入式Linux操作系统内核以及文件系统四个组成部分。交叉编译器运行于宿主机,可以编译生成在目标机上运行的二进制文件。系统引导程序又叫做BootLoader,作用与PC机中的BIOS类似,负责将系统内核固化到flash中以及进行系统初始化,然后把系统的控制权交给操作系统。嵌入式Linux操作系统内核是在系统通电运行之后的管理平台,负责系统中各类任务的管理。文件系统则存储了系统配置文件、系统程序、用户应用程序以及驱动程序,占用了大量的存储空间,是与用户开发关系最为紧密的一部分。

    2.2开发环境

    嵌入式系统的开发必须在一定的开发环境中进行。在嵌入式操作系统开发的初始阶段,首先要在主机上进行交叉编译,设计启动引导代码和操作系统核心,然后再将主机与目标系统连接起来,两者同时运行,进行嵌入式操作系统的开发设计。目标系统是需要建立的嵌入式应用系统,文章探究的目标系统构建于ARM平台,还包括了操作系统、各类工具和系统软件等。主机系统使用ARM公司开发的能够在Windows平台工作的ADS开发工具,如果是在Linux系统中进行开发,则采用自己生成的交叉编译器。在Linux系统中开发嵌入式Linux操作系统更加方便,主机系统和目标系统都采用相同的操作系统,这样在进行内核的编译时可以在编译完成后直接在目标系统中运行。嵌入式系统的开发流程是这样的,首先,在Linux系统中设計交叉编译器,然后在Windows环境下通过ADS开发工具设计启动程序,最后在Linux系统中通过交叉编译器编译嵌入式系统的各个软件部分。如果系统经过测试能够顺利运行,就把主机系统转移到Linux中,建立交叉编译环境,根据开发需求处理Linux内核,设计相应的根文件系统,最后下载到制定的位置。

    2.3 BootLoader

    BootLoader是系统启动运行的第一段软件代码,ARM9处理器采用VIVI作为BootLoader,由韩国Mizi公司开发。BootLoader负责嵌入式系统的加载启动任务,能够对硬件设备进行初始化、建立内存空间映射图,将系统调整到合适的软硬件状态,从而为系统各项功能和操作的实现提供良好的环境。一般BootLoader具有启动加载和下载两种模式。启动加载模式是将操作系统从某一存储设备中加载到RAM中,这不需要用户的干预。下载模式是从主机中下载文件,然后保存到目标机的RAM中,最后被写入某一FLASH类固态存储设备中。这一模式会在第一次安装内核与根文件时使用,在系统更新中也会得到使用,此模式下BootLoader一般会为用户提供一个命令行接口。

    2.4内核剪裁和根文件系统

    在建立嵌入式Linux系统时,还需要进行内核的剪裁以及根文件系统的建立。内核剪裁可以通过Linux自身的配置工具进行,编译定制的内核,这种方法操作简单,应用性最强。此外也能通过修改内核源代码进行内核剪裁,还能够在系统调用关系的基础上进行内核剪裁。嵌入式Linux系统内核剪裁是为了让内核最小化,在保证必要功能的前提下进行内核的优化。配置内核有#make config #make menuconfig以及#make xconfig三种命令。嵌入式Linux系统在进行引导系统时,使用的默认文件系统是根文件系统,根文件系统存放着各种工具、应用程序以及模块等。

    文章对嵌入式Linux系统在ARM平台上的构建进行了初步的探究,分析了嵌入式Linux系统的内核、开发平台、开发环境等多个方面的内容。Linux系统具有良好的稳定性和高性能,在嵌入式系统中必然会得到更广泛的应用。

    参考文献:

    [1]孟彦君 徐玉斌.TCP/IP协议应用于嵌入式系统的研究与实现[J].太原重型机械学院学报,2015,(12):22-23.

    [2]陈艳.引导加载程序vivi的分析和移植研究[J].电子设计应用,2015,(11):44-45.

    [3]李宗海 陈蜀宇 李海伟.嵌入式Linux系统在ARM平台上的构建[J].计算机系统应用,2014,(10):30-31.

    [4]耿道渠 郭春 李小龙 柴俊.基于ARM9的嵌入式Linux系统移植研究与QoS功能实现[J].四川大学学报(自然科学版),2014,(4):10-11.

    作者简介:李沙,女,1986年11月,广东高州人,本科,研究方向:计算机应用。

    相关热词搜索: 嵌入式 构建 系统 平台上 Linux

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网