MicroBlaze处理器的PetaLinux操作系统移植_薛慧敏

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

 paper@mesnet.com.cn(投稿专用) 2011年第4期

 67 

MicroBlaze处理器的PetaLinux操作系统移植

薛慧敏,武传华,路后兵

(合肥电子工程学院,合肥230037

)引 言

随着FPGA(Field Programmable Gate Array,现场可编程门阵列)技术的迅速发展,SOPC(System On a Pro-grammable Chip,可编程片上系统)作为一种特殊的嵌入式微处理器系统,已逐渐成为一个新兴的技术方向。SOPC融合了SoC和FPGA各自的优点,并具备软硬件在系统可编程、可裁减、可扩充、可升级的功能。其核心是在FPGA上实现的嵌入式微处理器核,而如何针对特定的微处理器选择合适的嵌入式操作系统是SOPC开发的难点之一。本文针对Xilinx公司的MicroBlaze软核,

介绍了PetaLinux嵌入式操作系统及其移植方法,研究了Peta-Linux的相关配置和启动方案。

1 基于M

icroBlaze处理器的系统设计1.1 M

icroBlaze处理器简介MicroBlaze软核处理器是一种针对Xilinx 

FPGA器件而优化的功能强大的微处理器。它内部采用RISC架构的32位指令和数据总线,支持CoreConnect片上总线的标准外设计集合,具有兼容性和重复利用性,且可根据性能需求和逻辑区域成本任意裁减,极大地扩展了应用范围,其最精简的核只需要将近400个Slice

。MicroBlaze的CoreConnect总线、它能够将FPGA内各种不同的IP核连接到一起构成一个完整的系统。CoreConnect总线是一个总线标准的集合,它包括PLB总

线(Processor Local Bus,处理器本地总线),LMB总线(Local Memory 

Bus,高速本地存储器总线),FSL(FastSimp

lex Link,快速单连接)总线,以及XCL(Xilinx Cach-eLink

)总线等[1]

。1.2 系统结构和外部设备概述

本系统主要是在Virtex-4开发板上构建一个以

MicroBlaze处理器为中心的嵌入式信号处理系统,在FPGA

内部实现系统的总线架构、数据存储、地址译码、外设接口等系统部件和功能。各功能部件在FPGA内部都以IP核的形式构建并连接,整个系统的结构框图如图1所示。

其中,SysACE用于存放文件系统和应用程序配置文件,INTC用来实现中断控制;GPIO和UART 

16550用于系统调试,自定义IP核DDC用来实现数字接收机下变频功能,这些外设通过PLB总线与MicroBlaze处理器和DDR相连;用于快速傅里叶变换的自定义IP核FFT通过FSL总线与MicroBlaze内部通用寄存器直接相连,实现了数据的快速传输;DDR通过XCL总线与MicroBlaze处理器相连,实现了MicroBlaze处理器对片外存储器的高速访问。

1.3 嵌入式操作系统的选择

选用PetaLinux嵌入式操作系统。它是PetaLogix公司专门针对FPGA的片上系统设计的嵌入式Linux开发套件,在满足应用工程的逻辑编程能力和对嵌入式Linux要求的同时,可极大地缩短产品开发周期。PetaLinux作为专门针对于Xilinx FPGA的嵌入式Linux解决方案,不但提供了专门的BSP生成器,而且提供了众多的参考设计,可以帮助设计者快速掌握PetaLinux的配置方法。PetaLinux内核正在不断的完善之中,且不断地加入基于Xilinx FPGA嵌入式系统IP核的设备驱动,比如XilinxUSB、SysACE、FSL总线设备驱动、10/100/1000M三态以太网MAC等。这些设备驱动极大地减轻了嵌入式系统开发者的工作量,

缩短了产品开发的周期。图1 系统结构框图

2 P

etaLinux系统移植在SOPC硬件系统构建完成后,就要针对此结构配置操作系统内核,下面介绍具体步骤。

2.1 建立交叉编译环境

嵌入式系统开发一般采用交叉编译的方法,即在宿主机上对内核和应用程序进行编译,生成目标机处理器可执

68 

Microcontrollers &Embedded Systems 2011年第4期www.mesnet.com.cn 

行的二进制位流文件,将此文件下载到目标机运行。Peta-Linux针对MicroBlaze处理器建立了交叉编译器,

运行source./setting

s.sh脚本,系统会自动建立交叉环境。2.2 建立硬件平台

PetaLinux为每个应用工程建立一个文件夹,里面保存该工程的硬件配置。在移植PetaLinux时,只需选择相应的硬件平台,内核就会读取该工程文件夹下的配置文件。使用PetaLinux-new-platform命令建立硬件平台,如果使用MMU(虚拟内存管理单元),则在此命令后添加-m

选项。硬件平台建立起来后,运行make menuconfig命令,在Vendor/Product Selction选项中,选择该硬件平台。另外,还需将在EDK下生成的配置文件转换成Linux操作系统可以识别的格式。在工程文件夹下运行

PetaLinux-copy-autoconfig命令,自动完成格式转换,并拷贝配置文件到已选择的工程文件夹下。

2.3 添加自定义设备驱动

本系统自定义了IP核,因此必须开发驱动程序并将其添加到PetaLinux配置中。添加自定义设备驱动主要步骤如下:

①在平台配置目录下M

akefile文件中添加语句platobj-$(CONFIG_PETALOGIX_DDC)+=ddc.o和$(obj)/ddc.o:.config使设备初始化函数ddc.c与内核配置相关联;

②在驱动程序所在目录下的M

akefile文件中添加obj-$(CONFIG_PETALOGIX_DDC)+=ddc_adap

ter.o使设备驱动程序ddc_adapter.c与内核配置相关联;③修改设备驱动程序所在目录下的Kconfig文件,

使配置内核时可以选择该设备驱动,并添加以下语句:

config PETALOGIX_DDC//内核配置目录中所显示的选项

bool"PetaLog

ix DDC Driver"//该配置选项为布尔型,有选择和不选择两种状态

depends on MICROBLAZE//该配置选项的依赖关系---help

---//该配置选择的注解

通过以上文件的修改,就可以在配置PetaLinux内核时选择自定义的设备驱动。

2.4 配置P

etaLinux内核由于Linux内核的可裁减性,能够方便地对内核进行修改、裁减、编译,最终移植到一个嵌入式系统中。运行图形编辑工具make menuconfig命令,对内核和系统环境进行配置。

在内核配置的设备驱动选项中,一定要选择与系统硬件配置一致的硬件设备驱动,否则内核编译时就会出错。针对本系统的硬件配置,主要配置以下几项驱动:

①[Block devices]块设备。选择Xilinx Sy

stemACEsupp

ort。②[Misc device]混杂设备。选择FSL FIFO driver,然后进入FSL Channel Selection,选择FIFO on FSL0,并选择自添加设备驱动PetaLogix DDC101Driver。③[Network device supp

ort]网络设备。选择Ether-net(1000Mbit)子菜单中的Xilinx 10/100/1000LLTEMAC supp

ort。④[Character devices]字符设备。选择Serial drivers子菜单中的8250/16550and compatible serial support和Console on 8250/16550and compatible serial p

ort。文件系统选项中,默认选择了ext2、romfs和cramfs文件系统,其他文件系统可以根据需要自行选择。本系统需要挂载DOS文件系统的CF卡,因此进行以下配置:①[DOS/FAT/NT Filesystems]。选择MSDOS fssupp

ort。②[Native Language Support]。选择Codepage 437(United 

States,Canada)。内核配置中的其他配置可以根据目标系统的不同灵活配置,配置完成后保存退出,自动进入系统环境配置菜单。系统环境配置是对PetaLinux的属性、命令进行配置,主要有以下几个选项:

①[System Setting

s]系统设置。配置系统的网络地址、默认用户名、默认登陆密码和所用根文件系统等内容。②[Core Applications]内核应用。主要配置内核的常用特性。

③[Network App

lications]网络应用。配置网络应用时的相关命令。

④[Miscellaneous App

lications]混杂应用。配置系统内核中的命令。

⑤[Busy

Box]。配置系统内核中的命令。PetaLinux已经设置好了编译规则,因此配置完成后,依次执行命令make dep

、make clean、make all,建立文件依赖关系,清除旧的文件,编译内核,生成内核imag

e。3 P

etaLinux启动方案经过编译的PetaLinux内核image文件主要有im-age.bin、image.elf、image.ub。根据选择imag

e文件的不同,PetaLinux有4种启动方案:XMD下载启动、TFTP网络下载启动、Flash启动和SysACE CF卡启动。其中,XMD和TFTP网络下载启动方案,在每次系统上电后都必须重新下载,适用于系统调试;Flash启动方案在系统上电后自动从Flash中读取配置文件,但Flash烧写速度较慢,更改系统配置较为不便。因此,本系统选用SysACECF卡启动方案。

使用Sy

sACE CF卡启动PetaLinux,先将硬件比特流

相关文档
最新文档