kaiyun官方注册
您所在的位置: 首页> 可编程逻辑> 设计应用> 基于ARM的嵌入式Linux开发平台
基于ARM的嵌入式Linux开发平台
摘要:构建嵌入式系统的首要任务是明确它到底要做些什么。用途决定了嵌入式系统的整个行为模式和体系结构,同时也决定了它所应该采用的硬件平台和软件平台。为嵌入式系统挑选目标平台必须审慎,因为这牵涉到有没有好的开发环境和技术支持,一定要根据实际情况来挑选合适的处理器、合适的开发板和合适的开发环境。在开发嵌入式系统时请始终牢记一点,用户需求永远是嵌入式系统的“第一推动力”。
关键词: ARM 嵌入式 Linux
Abstract:
Key words :

在进行嵌入式系统的开发时,首先面临的难题就是如何挑选一个适合自己的开发平台。ARM系列处理器是专门针对嵌入式设备设计的,是目前构造嵌入式系统硬件平台的首选。本文将介绍如何挑选适合实际需要的嵌入式开发平台,如何构建实用的开发环境,以及如何迈出嵌入式Linux系统开发的第一步。

  选用指南

  在进行嵌入式系统的开发之前,首先必须要选择恰当的开发平台。对于经验丰富的开发者来说,当然可以自己动手组装硬件,然后挑选合适的嵌入式Linux系统,将其移植到开发平台上。但对于初学者来说,可能更好的办法是购买硬件厂商已经做好的开发板,将精力集中在应用程序的开发上。

  虽然ARM微处理器有多达十几种的内核结构、几十个芯片生产厂家和众多的功能组合,但这也给广大嵌入式开发人员在确定方案时带来了一定的困难。客观上讲,嵌入式系统一般都是量身打造的。开发人员必须依据客户需求选择合适的软硬件平台,否则的话要么无法完成所要求的功能,要么就会造成资源的浪费,挑选出一个合适的方案确实很不容易。初学者在做决定时不妨借鉴下面的一些经验。

  ARM公司设计了一系列的微处理器内核结构,以适应不同应用领域的需要。如果用户希望使用Windows CE或标准Linux等操作系统来减少软件开发时间,就需要选用ARM720T以上带有内存管理单元(MMU)的ARM芯片,如ARM720T、ARM920T、ARM922T、ARM946T等。但对于ARM7TDMI这类没有MMU的微处理器来说,只能运行像UcLinux那样不需要MMU支持的操作系统,而无法运行标准的Linux。

  微处理器的工作频率在很大程度上决定了其运算能力的高低。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片的系统主时钟为20MHz到133MHz;ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9芯片的系统主时钟为100MHz到233MHz;ARM10系列微处理器的典型处理速度为1.25MIPS/MHz,其时钟频率则可以高达400MHz。不同ARM芯片对时钟的处理各不相同。有些芯片只有一个主时钟频率,而有些芯片的内部时钟控制器则可以分别为ARM核、USB、UART和DSP等功能部件提供不同频率。

  大多数ARM微处理器片内存储器的容量都不大,需要用户在设计嵌入式系统时扩充外部存储器。

  除了ARM微处理器核之外,几乎所有的ARM芯片都根据各自不同的应用领域扩展了相应的功能模块,并集成在芯片之中,从而形成了片内外围电路,如USB接口、I/O接口、RTC和LCD控制器等。嵌入式系统的开发人员应该尽可能运用这些外围电路,来实现系统所要求的功能。这样既可以简化系统的设计,同时又能够提高系统的可靠性。

  为嵌入式系统挑选合适的硬件平台是一件很复杂的工作。以上给出的只是一些基本的原则,实际应用当中还要根据情况灵活确定。笔者在展开对嵌入式Linux的研究和开发之时,经过比较和鉴别,选用了一款基于S3C4510B处理器的开发板。它是由三星公司推出的一款具有很高性价比的16/32位RISC微控制器,采用的是ARM公司提供的ARM7TDMI RISC处理器核。由于它具有高性能、低功耗等优点,因此特别适合于对价格和功耗比较敏感的应用场合,如手持设备、网络通信和工业控制等。

  S3C4510B整个开发板的结构大致如图1所示。

     图1 基于S3C4510B的开发板框图

  快速入门

  下面就来一睹嵌入式Linux的芳容。如果用户的开发板是由专门的硬件厂商提供的,一般来说都会预装一个嵌入式操作系统,如Windows CE、Palm OS或Linux等。此处介绍的S3C4510B开发板预装的是嵌入式Linux。我们不妨借用它来感受一下嵌入式Linux的开发方法。如果用户的开发板是自己组装的,或者买来时预装的是其它的嵌入式操作系统,那么就需要自己动手来重新构建系统了。

  正如前面介绍过的,在开发嵌入式系统时需要用到两个平台:一个是开发平台(Host),另一个是目标平台(Target)。开发平台通常用普通的PC机充当。它可以通过串行端口、并行端口和以太网等方式与目标平台相连,从而共同构成一个嵌入式系统的基本开发环境。对于嵌入式Linux系统来说,最简单的开发环境只需要用到宿主机、目标板和串行连接线。它们之间的连接如图2所示。

  图2 最简单的开发环境

此内容为AET网站原创,未经授权禁止转载。
Baidu
map