linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 嵌入应用 >
栏目导栏
资料搜索
热门文章
·Symbian编程VC开发环境设置
·基于ARM的嵌入式Linux开发平台
·嵌入式Linux用Qt Designer快速
·S3C2410X开发总结及心得
·轻松控制uClinux嵌入式开发过程
·嵌入式操作系统uCLinux
·uClinux系统分析
·Porting uClinux to Samsung S
·uC/OS和uClinux的比较
·在Windows上应用uClinux
·sqlite嵌入式数据库在arm-linu
·嵌入式设备上的 Linux 系统开发
·七款嵌入式Linux操作系统简介
·e680i手机嵌入式Linux 研究
·嵌入式系统和嵌入式操作系统
最新文章
·在嵌入式Linux环境下制作QPF字
·ARM Linux开机后自动运行特定程
·构建基本的嵌入式Linux根文件系
·自己动手打造嵌入式Linux软硬件
·MP3播放器madplay在ARM的移植
·Linux 2.6.11 MTD驱动情景分析
·ARM中C和汇编混合编程及示例
·BusyBox 简化嵌入式 Linux 系统
·使用虚拟机嵌入式Linux开发前的
·用NFS服务开发ARM Linux程序的
·虚拟机Linux系统下连接ARM开发
·嵌入式Linux系统下的网页浏览器
·Linux移植PSP详细步骤
·浅析armlinux 2.4.19中断irq分
·Linux 的魅力: 开发 Nokia N80
Google
 
基于ARM的嵌入式Linux开发平台
[ 作者:  加入时间:2005-12-01 10:35:04  来自: ]
在进行嵌入式系统的开发时,首先面临的难题就是如何挑选一个适合自己的开发平台。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 最简单的开发环境

当硬件连接好之后,接下去该做的就是要在宿主机和目标板之间建立起连接。这需要在宿主机上运行一个终端仿真程序。Linux下终端仿真程序非Minicom莫属。Minicom是一个界面友好,并且容易使用的串口通信程序,利用它可以很方便地对串行端口进行监视或控制,是嵌入式Linux开发环境中非常重要的一个组成部分。稍微了解串行通信的人都知道,进行串行通信时比较麻烦的是通信参数的设置。好在Minicom提供了非常友好的配置界面,通过执行下面的命令将进入Minicom的配置界面,如图3所示。
# minicom -s


图3 Minicom配置界面

从选单中选择Serial port setup项,进入串行端口配置界面。然后用户根据所用开发板的具体情况,选择正确的串行设备文件、波特率、数据位、停止位、奇偶校验位、硬件流控制和软件流控制参数。在图4中选择的参数代表使用串口1(/dev/ttyS0)、波特率为19200bps、数据8位、无奇偶校验位、停止1位、无硬件流控制和无软件流控制。

在设置好串行通信的参数之后,重新返回到Minicom的主配置界面;然后选择Save setup as dfl项保存当前配置值;再选择Exit from Minicom项退出Minicom。


图4 串行端口参数设置

如果一切正常,下面就可以通过Minicom来与开发板建立起正常的通信了。首先执行如下命令再次进入Minicom:
# minicom

然后接通开发板上的电源,或者按下开发板上的复位键,就可以在Minicom中监视到开发板上嵌入式Linux系统的当 前运行状态。可以将Minicom想象成是开发板上嵌入式Linux系统的一个虚拟终端,也就是说在Minicom中输入的所有命令都将交由开发板上的嵌入式Linux系统来进行处理。

小结

构建嵌入式系统的首要任务是明确它到底要做些什么。用途决定了嵌入式系统的整个行为模式和体系结构,同时也决定了它所应该采用的硬件平台和软件平台。为嵌入式系统挑选目标平台必须审慎,因为这牵涉到有没有好的开发环境和技术支持,一定要根据实际情况来挑选合适的处理器、合适的开发板和合适的开发环境。在开发嵌入式系统时请始终牢记一点,用户需求永远是嵌入式系统的“第一推动力”。

相关链接

ARM处理器简介

ARM(Advanced RISC Machines)公司位于英国剑桥,主要业务是设计16位和32位的嵌入式微处理器。但它本身并不生产和销售芯片,而是采用技术授权的方式,让其它半导体制造商进行ARM微处理器的制造。

采用RISC结构的ARM处理器具有如下一些典型的特点:体积小、功耗低、成本廉、性能高;支持Thumb(16位)/ARM(32位)双指令集;寄存器数量众多,指令执行速度快;绝大多数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;采用固定长度的指令格式。
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息