微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于LPC2210的嵌入式Linux开发平台构建

基于LPC2210的嵌入式Linux开发平台构建

时间:11-15 来源:互联网 点击:

摘要:本文描述了ARM7 与uCLinux 操作系统的特点,详细讨论了基于ARM7 与uCLinux开发的平台构建过程。利用构建好的开发平台,通过示例来说明了基于NFS 方式的嵌入式Linux 的应用程序开发流程,该开发平台将进一步应用于放射性气体气溶胶连续监测系统的数据采集。

0 引言

随着网络、通信、多媒体和信息家电时代的到来,嵌入式系统在经历了近 20 年的发展历程之后,进入了一个全新的发展阶段。Linux 操作系统以其稳定性好、可靠性高、源代码公开、可裁剪等优点已成为嵌入式领域的一股新兴力量,具有巨大的市场潜力和商业价值。而ARM 处理器是目前应用的最为广泛的嵌入式处理器架构。因此,将Linux 操作系统移植到ARM 处理器平台上并应用于实际的产品是最为流行的嵌入式产品解决方案。

放射性气体气溶胶监测系统的数据采集与处理一般是以 8 位单片机作为控制核心,直接导致硬件电路复杂、设计和调试难度加大、集成度低、稳定性差、系统升级难度较大等缺点。因此,本文采用LPC2210+uCLinux 的开发模式来设计整个监测系统的数据采集与处理模块,能够很好的提升整个系统的稳定性和可操作性。其中LPC2210 是基于32 位ARM7TDMI 内核的处理器,uCLinux 操作系统是开放源代码的嵌入式Linux 的典范之作,主要针对没有MMU(存储器管理单元)的处理器,具有良好的可移植性和优秀的网络功能。

1 硬件平台介绍

硬件平台采用 LPC2210 为系统硬件核心开发板,系统框图如图1 所示。主要包括:存储系统、系统接口、用户接口3 个部分。LPC2000 系列ARM7 处理器I/O 口供电电源为3.3V,内核及片内外设供电电源为1.8V,所以,系统设计为3.3V 应用系统。该系列的处理器可以使用外部时钟源,内部PLL 电路可调整系统时钟,使系统运行速度更快(CPU 最大操作时钟为60MHz)。

该硬件平台扩展了2MB NOR Flash 和8MB PSRAM。为了方便程序调试以及最终代码的固化应用,使用LPC2210 外部存储器接口的Bank0 和Bank1 地址空间。在使用uCLinux操作系统时,NOR Flash 用来存放bootloader 程序,以便于加载并引导放在NAND Flash 中的uCLinux 内核。

LPC2210 具有外部总线接口,设计电路为16 位总线方式对网卡芯片RTL8019AS 进行访问,即数据总线D0~D15 与网卡芯片的SD0~SD15 连接,由于RTL8019AS 工作电压是5V,而LPC2210 的I/O 电压是3.3V,故需在总线上串接470 欧的保护电阻。网卡芯片的Vih 最小值为2.0V,故与LPC2210 连接时不需要加电平转换芯片。


图 1 系统结构框图

2 嵌入式Linux 开发平台的构建

本研究采用在宿主机上编写程序,然后通过交叉编译生成目标平台上可以运行的可执行文件,最后下载到目标板的特定位置运行的方法构建平台,即通常称为的“宿主机+目标板”的开发模式,如图2 所示。目标板分别通过RS-232 串口和RJ-45 以太网接口与宿主机连接。

宿主机上需要运行 2 个窗口,即宿主机本机操作窗口和串口终端窗口。宿主机操作窗口可以是本机的操作终端,也可以是通过远程登录登录到Linux 服务器的操作界面。串口终端窗口可以是Linux 下的minicom,也可以是windows 下的超级终端。目标板可以看成一台计算机,串口终端就相当于这台计算机的显示器,作为人机交互界面。在宿主机编译、链接后得到的可执行文件下载到目标板上运行。

 

图2 嵌入式Linux 交叉开发环境

2.1 uCLinux 操作系统的移植

在开始移植操作系统之前,先准备好移植所需要的软件包,主要包括:交叉编译所需的编译工具包、uCLinux 源码包、完整的bootloader 程序及根文件系统。上述二种工具包都有众多版本,本文分别选择的是uCLinux-dist-20040408.tar.gz、arm-elf-tools-20040427.sh。整个移植工作分为三步:建立交叉编译环境;编译配置内核;bootloader 及根文件系统的移植。

2.1.1 建立交叉编译环境

将工具包 arm-elf-tools-20040427.sh 拷贝到目录/usr/src 下,为其增加可执行权限(#chmod755 arm-elf-tools-20040427.sh);然后安装arm-elf-gcc(# ./ arm-elf-tools-20040427.sh),安装完毕后查看/usr/local/bin 目录下是否存在arm-elf-gcc 等文件,如存在,表明交叉编译器安装成功;最后是添加交叉编译的路径,这一步在安装过程会自动执行和保存,并在下次启动之后仍然有效(#export PATH=$PATH:/usr/local/arm-elf/bin)。至此,交叉编译环境已经建立完毕。

2.1.2 交叉编译uCLinux 内核

在交叉编译内核之前,首先要对编译选项进行配置。为了配置过程的直观性,一般选择“make menuconfig”命令,进入uCLinux v3.1.0 Configurat

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top