基于MPC8250的嵌入式Linux系统开发技术
发布时间:2007/8/30 0:00:00 访问次数:398
作者:褚文奎 樊晓光 黄培成
引 言
我们开发了某型飞机外场维护系统的一个网络终端通讯平台,其硬件核心采用Motorola公司的嵌入式PowerPC处理器MPC8250,软件方面采用嵌入式linux作为操作系统,实现了飞机外场维护与飞机故障诊断系统的安全、快速通信。这个系统平台具有体积小、功耗低、性能高等特点。
MPC8250构架与系统硬件平台简介
PowerPC是Linux较早开始支持的处理器之一。PowerPC处理器芯片MPC8250基于PowerQUICC(Quad Integrated CommunicationsController)II 结构,是面向高性能、低功耗、小体积的通信设备而开发的处理器。其内部集成了一个高性能嵌入式G2 内核、一个灵活的系统集成单元SIU和许多控制领域的常用外围通信组件(组成通信处理模块CPM,CommunicationsProcessor Module),可用于许多方面,尤其是在通讯和网络系统方面。G2内核频率在150-200MHz之间,CPM、PCI最高频率为133MHz,外部频率为66MHz,可同时处理高达
128个全双工时分复用逻辑通道。
根据目标系统的不同,系统硬件平台可以引出所需的MPC8250的外部通讯接口。我们的系统提供了8M的flash用于存放内核镜像文件、文件系统、应用程序和备份数据,64MSDRAM用作内存,521KB 的flash用于存放启动代码,此外还有RS232串口、10/100M以太网口以及JTAG支持等。
基于MPC8250的嵌入式linux系统开发
编译环境的定制
通常主机与目标板的CPU都不相同,需要进行交叉编译。能够进行交叉编译的工具很多,一般使用GNU C,它包括gcc、g++编译器,glibc、newlib 等C库,binutils 以及其他一系列开发工具。不同的开发平台需要不同的交叉编译工具。这里我们选择德国denx软件中心提供的一套用于PowerPC嵌入式linux移植的开发编译环境ELDK3.0(Embedded LinuxDevelopmentKit)。
在主机上安装完毕后,修改bash_profile配置文件的路径和交叉编译环境,具体如下:
PATH=$PATH:$HOME /bin:/opt/afeu/usr/bin:/opt/afeu/bin:/usr/bin
CROSS_COMPILE=ppc_82xx
EXPORT PATH CROSS_COMPILE
目标系统资源分配
嵌入式linux系统一般没有硬盘设备,存储空间十分有限。这就要求在Linux移植之前,需要对系统硬件地址精心分配,充分合理地利用。根据前面介绍的系统硬件平台,这里给出目标设备的地址分配,如表1所示。
表1 目标设备的地址分配
调试环境的建立
在嵌入式系统中一般没有显示器等输出设备,不利于在目标系统上进行调试。为了调试目标系统,我们通过JTAG仿真器BDI2000来跟踪调试目标机上的代码。其调试环境如图1所示。
图1 系统调试环境
其中网卡1#和目标机直接相连,用来下载内核镜像,NFS文件共享等。网卡2#连接到BDI2000上,再通过JTAG口连接到目标机上。串口用于命令传输、接收返回信息等。
Linux系统引导模块U-Boot
U-BOOT是denx软件中心依照GPL(General PubliCLicense)发布的系统引导模块,支持多种处理器,如ARM系列、PowerPC系列、MIPS 系列、X86系列等。编译U-BOOT-1.1.0后生成可执行文件,然后根据自己的目标系统修改编辑U-BOOT包下的文件,进行移植(这里需要说明的是,由于找不到MPC8250的支持包,而它和TQM8260内核相差不大,所以下面采用8260ads 的支持包,同样兼容)如:
修改目标系统配置文件./include/configs/MPC8260ADS.h中的寄存器值、SDRAM 控制器参数、串口参数等;
修改目标板定义文件./board/mpc8260ads/mpc8260ads.C中的I/O 端口定义;
作者:褚文奎 樊晓光 黄培成 引 言 我们开发了某型飞机外场维护系统的一个网络终端通讯平台,其硬件核心采用Motorola公司的嵌入式PowerPC处理器MPC8250,软件方面采用嵌入式linux作为操作系统,实现了飞机外场维护与飞机故障诊断系统的安全、快速通信。这个系统平台具有体积小、功耗低、性能高等特点。 MPC8250构架与系统硬件平台简介 PowerPC是Linux较早开始支持的处理器之一。PowerPC处理器芯片MPC8250基于PowerQUICC(Quad Integrated CommunicationsController)II 结构,是面向高性能、低功耗、小体积的通信设备而开发的处理器。其内部集成了一个高性能嵌入式G2 内核、一个灵活的系统集成单元SIU和许多控制领域的常用外围通信组件(组成通信处理模块CPM,CommunicationsProcessor Module),可用于许多方面,尤其是在通讯和网络系统方面。G2内核频率在150-200MHz之间,CPM、PCI最高频率为133MHz,外部频率为66MHz,可同时处理高达 根据目标系统的不同,系统硬件平台可以引出所需的MPC8250的外部通讯接口。我们的系统提供了8M的flash用于存放内核镜像文件、文件系统、应用程序和备份数据,64MSDRAM用作内存,521KB 的flash用于存放启动代码,此外还有RS232串口、10/100M以太网口以及JTAG支持等。 基于MPC8250的嵌入式linux系统开发 编译环境的定制 通常主机与目标板的CPU都不相同,需要进行交叉编译。能够进行交叉编译的工具很多,一般使用GNU C,它包括gcc、g++编译器,glibc、newlib 等C库,binutils 以及其他一系列开发工具。不同的开发平台需要不同的交叉编译工具。这里我们选择德国denx软件中心提供的一套用于PowerPC嵌入式linux移植的开发编译环境ELDK3.0(Embedded LinuxDevelopmentKit)。 在主机上安装完毕后,修改bash_profile配置文件的路径和交叉编译环境,具体如下: PATH=$PATH:$HOME /bin:/opt/afeu/usr/bin:/opt/afeu/bin:/usr/bin CROSS_COMPILE=ppc_82xx EXPORT PATH CROSS_COMPILE 目标系统资源分配 嵌入式linux系统一般没有硬盘设备,存储空间十分有限。这就要求在Linux移植之前,需要对系统硬件地址精心分配,充分合理地利用。根据前面介绍的系统硬件平台,这里给出目标设备的地址分配,如表1所示。 表1 目标设备的地址分配 调试环境的建立 在嵌入式系统中一般没有显示器等输出设备,不利于在目标系统上进行调试。为了调试目标系统,我们通过JTAG仿真器BDI2000来跟踪调试目标机上的代码。其调试环境如图1所示。 图1 系统调试环境 其中网卡1#和目标机直接相连,用来下载内核镜像,NFS文件共享等。网卡2#连接到BDI2000上,再通过JTAG口连接到目标机上。串口用于命令传输、接收返回信息等。 Linux系统引导模块U-Boot U-BOOT是denx软件中心依照GPL(General PubliCLicense)发布的系统引导模块,支持多种处理器,如ARM系列、PowerPC系列、MIPS 系列、X86系列等。编译U-BOOT-1.1.0后生成可执行文件,然后根据自己的目标系统修改编辑U-BOOT包下的文件,进行移植(这里需要说明的是,由于找不到MPC8250的支持包,而它和TQM8260内核相差不大,所以下面采用8260ads 的支持包,同样兼容)如: 修改目标系统配置文件./include/configs/MPC8260ADS.h中的寄存器值、SDRAM 控制器参数、串口参数等; 修改目标板定义文件./board/mpc8260ads/mpc8260ads.C中的I/O 端口定义;
128个全双工时分复用逻辑通道。
深圳服务热线:13692101218 13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)

深圳市碧威特网络技术有限公司
付款方式