基于32位RISC处理器SoC平台的Linux操作系统实现

2006-10-10 14:55:37来源: 电子元器件

引言

智原科技的FIE8100 SoC平台是一种低功耗、便携式视频相关应用开发SoC平台,也可用于基于FA526 CPU的SoC设计验证。

基于FA526的Linux软件开发套件,开发人员可将Linux一2.4.19软件环境在FIE8100平台上安装实现,并完成对平台上所有IP的驱动程序安装和对FA526的内部调试

FA526介绍

FA526是一颗有着广泛用途的32位RISC处理器。它包括一个同步CPU内核(core)、独立的指令/数据缓存(cache)、独立的指令/数据暂存器(scratchpads)、一个写缓存(write buffer)、一个内存管理单元(memory management unit)和JTAG在线仿真(ICE)接口。CPU内核是6级流水线(pipeline)的哈佛(Harvard)结构,包括取指令(fetch)、解码(decode)、搬移(shift)、执行(execution)、数据访存(memory)、写回(write)等。为了提高整体性能,FA526 CPU还包含了一个分支运算缓存(Branch Target Buffer:BTB),故可减少分支运算的开销(penalties)。

FA526 CPU内核的指令是兼容ARM V4的结构,并使用AMBA AHB接口与外部设备进行通讯。因此,FA526 CPU有着广泛的应用领域,特别是针对那些需要高性能和低功耗的应用。FA526 CPU内核采用完全同步方式。其基于单相时钟(single-phase clock)的结构可以很容易集成开发系统级芯片(System on Chip:SoC)。FA526 CPU内核的方框图如图1所示。

FIE8100 SoC平台介绍

FIE8100 SoC平台的系统架构如图2所示。它提供有多种外设接口。其内部的高性能处理器内核和功耗管理功能特别适合MPEG一4和JPEG的市场需求。目前,智原的MPEG4/JPEG图Codec所支持的格式为Simple Profile Version 3.1,其中包含XviD编码和一部分的DivX编码。

FIE8100 SoC平台包含有非常丰富的功能模块以支持多种应用。包括FA526(32Bit RISC CPU)、MPEG-4/JPEG编解码引擎、USB2.0设备控制器、USB2.0PHY(物理层)、LCD控制器、DMA控制器、TV Encoder(解码器)、Capture(视频捕捉器)和AMBA总线架构。为了让用户能将自己的IP或功能模块顺利的运行在FA526上,智原科技将AHB总线从CPU的引线中拉出,并搭配各类接口和片外芯片,从而开发制作了一个基于FIE8100 SoC的仿真平台:MediaCreative!。

受基于FA526的Linux安装

本开发系统所需的主开发硬件环境,一是兼容Intel x86的PC,二是标准16550 UART接口。而软件主要是Linux操作系统(RedHat 7.3~8.0或更高版本)和FA526一Linux软件包。而通用平台系统所需的器件,主要是一片MediaCreative!(含FIE8100/FWAB326AA芯片)和一片64 MB SDRAM及32 MB Flash。

通过FA526一Linux可以将Linux-2.4.19软件环境在Faraday FA526处理器和外设IP上进行安装。

FA526一Linux软件包通常以"arm-linux一20050429.tgz"打包文件并递交(此程序发布于April 29,2005)表1所列是安装Linux所需的硬盘空间大小。

安装FA526一Linux软件包的具体流程如下:

(1)拷贝文件arm-linux一20050429.tgz至目录/usr/src:

#cp arm-linux一20050429.tgz/usr/src

(2)解包文件"arm-linux一20050429.tgz":

#cd/usr/src

#tar zxvf arm-linux一20050429.Tgz

(3)安装Toolchain(GCC一2.95.3,Binutils一2.11.2,GLIBC一2.2.3)至目录/usr/local:

#cp/usr/src/arm-linux/toolchain/arm-linux-toolchain.tgz/usr/local/

#cd/usr/local

#tar zxvf arm-linux-toolchain.tgz

#rm-f arm-linux-toolchain.Tgz

此步骤将在目录/usr/local/arm解压GCC一2.95.3,Binutils一2.11.2和GLIBC一2.2.3的输出文件。

(4)添加GCC执行路径shell环境。

可执行以下命令来添加路径:

#export PATH=$PATH:/usr/local/arm/2.95.3/bin

在完成以上四个安装步骤后,就可以在自己的系统下解压打包文件(如arm-linux20050429.tgz),之后,系统会自动生成一组目录。表2列出了这些源目录的定义。用户的应用程序包含在目录/usr/src/arm-linux/user/下,而客户定制的RAM-Disk则包含在目录/usr/src/arm-linux/images/下。

FA526-Linux的构建和开发

嵌入式系统里配置和构建FA526一Linux内核时,如果FA526的Linux内核子目录路径为:/usr/src/arm-linux/arm-linux一2.4.19/,那么,FA526一Linux目录的结构将和标准Linux内核一样,其版本为2.4.19。表3列出了Linux内核子目录的内容。

内核构建

为FA526架构生成内核映像时,必须先对内核进行配置,配置文件路径为/.config。

通常,用户可能为了一些如下的因素要求重新配置FA526一Linux,具体方法为:

(1)定制处理器和板子的功能:修改UART时钟、系统时钟等。

(2)定制硬件设备:添加或删除某些特殊设备。

(3)定制内核功能:添加或删除一个内核的功能(如网络支持)。

Linux内核配置为配置这些可选项目提供了两种常用方式:一是使用菜单显示来选择项目(#make menuconfig);二是使用GUI显示来选择项目(#make xconfig)。

图3则是针对FA526和CPE开发板的FA526一Linux的menuconfig介面。

FA526系统中的主要选项有以下几种:

(CPE)ARM system type,默认值选是中CPE开发板来支持Faraday CPE(Common Platform Environment)。

[*]Support FA526 processor,设置FA526系列处理器选项来支持FA526 CPU。

(FIE8100)Platform environment从A320、FIE8100、FIE7000中选择平台设定。

(44000000) System clock,FIE8100的默认值是44 MHz。开发人员应根据实际电路板设定来调整。

(22118400)UART clock.FIE8100的UART时钟是22.184 MHz。开发人员可根据实际的电路板设定来设置UART时钟频率。

需要说明的是:第一次make Linux内核时,可清除所有目标文件,并重新创建从属文件(dependency)。如果要修改内核的配置,则可调用"make dep"。操作步骤如下:

#make clean

#make dep(FA526一Linux提供了内核脚本文件(shell-script)"mkbootp.sh",这可以使Make内核更容易。)

#./mkbootp.sh

上述操作可创建名为bootplmage的最终内核映像文件(kernel image)和名为vmlinux的内核ELF文件。以下操作是修改mkbootp.sh的一个例子:

(1)使用定制的ram-disk来为特殊规格的ramdisk修改"make bootpImage INITRD="。可修改"Default RAM disk size"来满足ramdisk的大小(见图4)。可在"Block devices"配置界面里通过"make xconfig"来设置。

(2)复制输出映像到特定目录:

在mkbootp.sh档案上修改"cp"这一行以符合需求。

Mkbootp.sh的内容是:

"make hootpimage INITRD=/usr/src/arm-linux/images/ramdisk.gz''

"cp arch/arm/boot/bootpImage/tftpboot/mbootpImage"

建立ARMBOOT

FA526一Linux使用ARMB00T来装载操作系统。FA526的ARMBOOT使用一个名为"faraday.h"的配置文件来配置各种不同的硬件环境。此文件被放在/usr/src/arm-linux/armboot一1.1.O/faraday.h。其可修改的内容和值包括(通常不需要改动):

修改系统时钟。对于MediaCreative!平台,它的默认值是44 MHz。

修改UART时钟。对于MediaCreative!平台,应为22.1184 MHz。

修改Flash块号。对于MediaCreative!平台,Flash的块号是1。

修改好MAC和IP后,就可以通过以下命令来建立ARMBOOT:

#cd/usr/src/arm-linux/armboot-1.1.0

#make

此时,系统会在目录里自动生成"armboot.bin"文件。此后便可根据这个指令将armboot烧人到FIE8100的Flash器件里,并编写特定镜像文件armboot.bin至Flash地址0x80400000。

通过ARMBOOT启动FA526 Linux

在开发阶段的好多部分,开发人员必须要做前期规划来修改或下载代码直到得到想要的结果。在这样的情况下,需要armboot来下载和运行代码的具体步骤如下:

(1)在Linux主机上设置trip服务器,并设置/etc/xinetd.d/tftp。

(2)在此状态下使用Linux making shell(mkbootp.sh)编译代码,并生成Linux代码至目录/tftpboot.要运行Linux代码,需按以下步骤执行:

重启FIE8100开发板(MediaCreative!)。

选择"90) GO ARMB00T"。

确认Linux-Host和F1E8100的IP地址是正确的,(printenv)。

输入命令:tftp Ox2000000 mbootplmage,以下载代码。

通过命令"go Ox2000000"启动Linux,直至出现Linux启动信息。

Linux的使用

在完成以上操作后,armboot就可烧入在MediaCreative!开发板上的Flash里。以后,要通过armboot来运行Linux操作系统以对FIE8100平台进行开发验证,可执行以下操作:

(1)开启MediaCreative!开发板,运行"MPEG4 Burnin",使系统出现Linux运行选项;

(2)键入"空格"键,进入Linux操作系统。

结束语

以上通过智源科技的FIE8100 SOC平台的设计使用,介绍了兼容ARM V4指令集的32位RISC处理器和该SoC平台的Linux操作系统,它具有低功耗、便携带的优点、开发人员可将Linux--2.4.19软件在FIE8100的平台上安装实现,并进行二次开发和验证。

关键字:驱动  调试  指令  内核

编辑: 引用地址:http://www.eeworld.com.cn/gykz/CDYZX/200610/3937.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
驱动
调试
指令
内核

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved