新闻中心

EEPW首页>EDA/PCB>设计应用> MicroBlaze处理器的PetaLinux操作系统移植

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

作者: 时间:2011-04-15 来源:网络 收藏

2.2 建立硬件平台
为每个应用工程建立一个文件夹,里面保存该工程的硬件配置。在移植时,只需选择相应的硬件平台,内核就会读取该工程文件夹下的配置文件。使用-new-platform命令建立硬件平台,如果使用MMU(虚拟内存管理单元),则在此命令后添加-m选项。硬件平台建立起来后,运行make menuconfig命令,在Vendor/Product Seletion选项中,选择该硬件平台。
另外,还需将在EDK下生成的配置文件转换成Linux可以识别的格式。在工程文件夹下运行PetaLinux-copy-autoconfig命令,自动完成格式转换,并拷贝配置文件到已选择的工程文件夹下。
2.3 添加自定义设备驱动
本系统自定义了IP核,因此必须开发驱动程序并将其添加到PetaLinux配置中。添加自定义设备驱动主要步骤如下:
①在平台配置目录下Makefile文件中添加语句platobj-$(CONFIG_PETALOGIX_DDC)+=ddc.o和$(obj)/ddc.o:.config使设备初始化函数ddc.C与内核配置相关联;
②在驱动程序所在目录下的Makefile文件中添加obj-$(CONFIG_PETALOGIX_DDC)+=ddc_adapter.o使设备驱动程序ddc_adapter.c与内核配置相关联;
③修改设备驱动程序所在目录下的Kconfig文件,使配置内核时可以选择该设备驱动,并添加以下语句:
b.JPG
通过以上文件的修改,就可以在配置PetaLinux内核时选择自定义的设备驱动。
2.4 配置PetaLinux内核
由于Linux内核的可裁减性,能够方便地对内核进行修改、裁减、编译,最终移植到一个嵌入式系统中。运行图形编辑工具make menuc-onfig命令,对内核和系统环境进行配置。
在内核配置的设备驱动选项中,一定要选择与系统硬件配置一致的硬件设备驱动,否则内核编译时就会出错。针对本系统的硬件配置,主要配置以下几项驱动:
①[Block devices]块设备。选择Xilinx SystemACEsupport。
②[Misc device]混杂设备。选择FSL FIFO driver,然后进入FSL Channel Selection,选择FIFO on FSLO,并选择自添加设备驱动Pet-aLogix DDC101 Driver。
③[Network device support]网络设备。选择Ethernet(1000Mbit)子菜单中的Xilinx 10/100/1000 LLTEMAC support。
④[Character devices]字符设备。选择Serial drivers子菜单中的8250/16550 and compatible serial support和Console on 8250/16550 and compatible serial port。
文件系统选项中,默认选择了ext2、romfs和cramfs文件系统,其他文件系统可以根据需要自行选择。本系统需要挂载DOS文件系统的CF卡,因此进行以下配置:
①[DOS/FAT/NT Filesystems]。选择MSDOS fssupport。
②[Native Language Support]。选择Codepage 437(United States,Canada)。
内核配置中的其他配置可以根据目标系统的不同灵活配置,配置完成后保存退出,自动进入系统环境配置菜单。系统环境配置是对Peta-Linux的属性、命令进行配置,主要有以下几个选项:
①[System Settings]系统设置。配置系统的网络地址、默认用户名、默认登陆密码和所用根文件系统等内容。
②Core Applications]内核应用。主要配置内核的常用特性。
③[Network Applications]网络应用。配置网络应用时的相关命令。
④[Miscellaneous Applications]混杂应用。配置系统内核中的命令。
⑤[BusyBox]。配置系统内核中的命令。
PetaLinux已经设置好了编译规则,因此配置完成后,依次执行命令make dep、make clean、make all,建立文件依赖关系,清除旧的文件,编译内核,生成内核image。

3 PetaLinux启动方案
经过编译的PetaLinux内核image文件主要有image.bin、image.elf、image.ub。根据选择image文件的不同,PetaLinux有4种启动方案:XMD下载启动、TFTP网络下载启动、Flash启动和SysACE CF卡启动。其中,XMD和TFTP网络下载启动方案,在每次系统上电后都必须重新下载,适用于系统调试;Flash启动方案在系统上电后自动从Flash中读取配置文件,但Flash烧写速度较慢,更改系统配置较为不便。因此,本系统选用SysACECF卡启动方案。
使用SysACE CF卡启动PetaLinux,先将硬件比特流文件和image.elf制作成ACE文件,再复制到CF卡中,配置CF卡启动PetaLinux。制作ACE文件,可在EDKShell窗口运行命令:
xmd-tcl genace.tcl(命令工具)
-jprog-board m1402(所需的开发板)
-hw implementation/download.bit(生成的比特流文件)
-elf image.elf(编译Linux内核生成的可执行网表文件)
-ace system.ace(需生成的ACE文件)
成功后,适合于ML-402开发板的ACE文件就生成了。
Linux运行需要根文件系统的支持,启动时必须加载文件系统以支持系统的运行,而image.elf中不包含文件系统。因此,使用SysACE CF卡启动时必须手动加载文件系统。在编译PetaLinux内核时,已经生成了以romfs文件夹为名称的文件系统,所以只需将CF卡分区和格式化,然后挂载此文件系统。具体步骤如下:
①将CF卡挂载到Linux系统中,运行命令fdisk/dev/sda把CF卡分成3个区。第1分区存放system.ace文件,第2分区为Linux Swap交换分区,第3分区存放根文件系统。
②Linux下格式化第3分区为ext2文件系统,运行命令mke2fs/dev/sda3。在/ete/fstab下输入命令/dev/sda3/mnt/rootfs auto defaults,user,noauto 0 0。把设备sda3挂在/mnt/rootfs文件下,文件系统为默认的ext2,普通用户,能挂载,不转储,启动时不扫描文件系统。通过命令mount/mnt/rootfs挂载该目录,这样就可以把根文件系统rootfs拷贝到CF卡的该分区上。
③Windows下格式化第1分区为FAT32文件系统,把system.ace复制到这个分区。
④Linux下格式化第2分区为交换分区,运行命令mkswap/dev/sda2。
一切准备就绪后,插入CF卡,开启电源,就可以从CF卡启动PetaLinux。

结语
本文介绍了一种可用于的嵌入式Linux——PetaLinux,并详细讨论了其内核配置和启动方案。通过移植Peta-Linux,本文开发的SOPC可以直接用于实际工程。该嵌入式移植快速、简单,由于其基于Linux2.6内核,可以保证较高的稳定性。因此,在SOPC应用日益复杂的背景下具有较高的实用价值。
本文创新点:实现了PetaLinux在的移植,并成功实现PetaLinux中自定义硬件设备驱动的添加和SysACE CF卡的启动方案。

本文引用地址://m.amcfsurvey.com/article/191233.htm
linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭