新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于MPC8245的嵌入式VPN的研究与开发

基于MPC8245的嵌入式VPN的研究与开发

作者:时间:2012-03-24来源:网络收藏

2.2 HHPPC8245-4ETH-R1嵌入式开发平台结构

HHPPC8245-4ETH-R1是华恒公司推出的一款嵌入式高性能网络开发平台,开发板硬件系统由核心板和底板两部分组成[1],功能模块图如图2所示。核心板采用musenki板,板上集成了处理器、NOR FLASH(4M)、SDRAM等设备,采用PCI 2.2总线,并引出多种功能接口;底板上配置4个Davicom10/100M自适应以太网口,一个串口,并将FLASH扩展到32M,便于将来的功能扩展。FLASH上的软件主要由引导装载程序PPCboot、Linux内核映象和RAMDISK文件系统三部分构成,其中RAMDISK中包含了 BusyBox Shell、IPsec-Tools、模块操作工具等上层应用程序。

图2 核心板(上)和底板(下)的硬件功能模块图

3 基于HHPPC8245平台的 网关设备的开发与设计

3.1 Linux交叉开发环境的分析与实现

HHPPC8245-4ETH-R1目标板与PC宿主机有不同的POWER结构,需要在PC宿主机上建立交叉开发工具链,包括binutils、 gcc和glibc库三大部件。本系统采用Linux-2.6.10内核,网上的二进制代码大多版本太低,仅能编译Linux-2.4系列内核,因此从源代码开始建立开发环境,本系统选择的源代码版本为binutils-2.13.90.0,10、gcc-3.3.1、glibc-2.3.2;由于 支持altivec,因此编译平台目标名为powerpc-linux-gnualtivec-。交叉开发环境建立后将包含有 powerpc-linux-gnualtivec-gcc等交叉开发工具的目录加入$PATH环境变量,并交叉编译、安装OpenSSL和Flex库,用于安装IPsec-Tools。

3.2 Linux 2.6.10内核移植的分析与实现

内核移植包括CPU Core移植、硬件平台移植和系统外围驱动程序开发[4]。Linux-2.6内核支持 处理器和开发板上大部分硬件,因此移植的主要任务是核心板硬件平台的移植。内核代码入口点为arch/ppc/kernel/head.S,在完成查找 processor和architecture类型,建立内核初始化堆栈、建立临时页表等工作后,调用platform_init函数,用于在 start_kernel函数中初始化中断、陷阱、控制台等各个模块时调用。平台相关的初始化函数在arch/ppc/platform/中实现。因此在该目录下创建musenki_setup.c,实现PCI总线、中断控制器、IO端口映射、CPU频率、复位函数、串口和早期打印函数支持等初始化工作。这部分修改、移植需要熟悉平台的各种配置参数,应参考相似平台及Internet上相关源代码。

平台的移植同时需要修改相关Kconfig和Makefile文件,在arch/ppc/Kconfig中加入musenki平台的支持,在arch/ppc/platforms/Makefile加入musenki_setup.c的编译。

FLASH中为内核映象留下的地址空间有限,为节省资源、加快启动速度,在选择内核编译选项时只需选择系统运行必须的模块,使内核尽量精简。本系统的内核应支持的文件系统为EXT2和JFFS2,网络协议需包括AH、ESP等IPsec协议,以及相关的加密、认证等算法。



关键词: MPC8245 嵌入式Linux VPN

评论


相关推荐

技术专区

关闭