新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于32位RISC处理器SoC平台的Linux操作系统实现

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

——
作者:马俊 上海交通大学电子学院 陈宏铭 智原科技(上海)技术咨询部 时间:2007-01-26 来源:《电子元器件》 收藏

引言

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

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

本文引用地址:https://www.eepw.com.cn/article/21367.htm

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的平台上安装实现,并进行二次开发和验证。



关键词: SoC ASIC

评论


相关推荐

技术专区

关闭