微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PowerPC和Linux的VPN网关设计

基于PowerPC和Linux的VPN网关设计

时间:01-14 来源:电子发烧友 点击:

中一款性价比较高的控制器MPC855T。在硬件平台的设计中,本着满足性能要求,保证高可靠性和高性价比的原则,采用有多种硬件选项的设计,来满足设计要求。嵌入式L inux操作系统的构建

  通常的嵌入式系统开发大致可以分为硬件设计、装载或引导嵌入式系统、在嵌入式系统上建立开发平台以及开发应用等四个步骤。

  利用ppcboot引导

  ppcboot是德国Denk软件工程中心开发的引导程序,我们在研究开发中使用了其中的ppcboot-1. 1. 5作为开发蓝本,对其代码进行了修改,以满足硬件设计的要求。

  ppcboot源码树的目录结构

  CHANGELOG / /记录历次版本升级时的修改内容

  COPYING

  CRED ITS

  MAKEALL

  Makefile / /制作文件

  README / /必读的文件

  System. map / /当编译连接完成后,所生成的ppcboot二进

  / /制中所有函数、数据的地址信息

  board / /各种与板子硬件关联的. c模块

  common / /一些通用ppcboot命令集的. c模块

  config. mk

  cpu / /与MPC8xx硬件关联的系统初始化. c代码

  disk / /磁盘分区支持

  doc / /技术文档目录

  examp les / /一些简单的、无需操作系统的应用程序

  fs / /ppcboot中对文件系统的支持

  include / /头文件

  net / /网络协议支持

  ppc PowerPC / /处理器运行时环境支持

  ppcboot / / elf32格式的ppcboot二进制执行文件

  ppcboot. bin / / raw二进制格式的ppcboot执行文件

  ppcboot. map / / s2record格式的ppcboot执行文件

  rtc / /实时时钟支持

  tools / /与ppcboot相关的一些工具软件ppcboot的特点

  经修改后, ppcboot-1. 1. 5 具有如下特性: ( 1 ) 支持bootm,直接从flash引导L inux,并提供软件工具集,可构建出最终烧结用的影像; (2) 支持从doc或flash memory引导L inux,并提供工具集,可构建出最终烧结用的影像; (3) 板上flash /doc读、写、擦除功能; (4) 支持串行口kermit协议下载代码或数据; (5) 支持scc1以太网口启动tftp下传数据:如内核、ramdisk、autoscrip t等影像; ( 6) 支持串行口srecord下载代码或数据; (7) 支持autoscrip t; (8) 提供板上内存读写,格式化显示,可进行简单测试。

  当完成ppcboot-1. 1. 5的改写后,对其进行编译,得到二进制的ppcboot. bin代码,然后将其烧录在板上的BOOTEPROM中,这样就可以在上电后完成对系统的引导。

  建立Linux开发平台

  修改和编译嵌入式Linux内核

  Linux内核有自己的结构体系,进程管理、内存管理和文件系统是其最基本的三个子系统。图2 为Linux 内核的结构。图中虚线框中部分可以看成是Linux内核的单内核结构,因此修改内核必须注意各子系统间的协调。

Linux开发平台使用内核版本为2. 4. 4的PowerPC嵌入式L inux操作系统作为VPN 网关的基本软件平台。为了支持硬件平台,需要对内核进行修改,并增加相应设备的驱动程序。

  (1) 驱动程序列表。

  DOC 驱动程序源码: /home / sjw01 / linux/drivers/mtd /devices/ doc2000. c;

  以太网驱动程序源码: / home / sjw01 / linux/ arch /ppc /8xx _ io / enet_scc1. c fec. c;

  RTC 驱动程序源码: /home / sjw01 / linux/drivers/unis _ rtc / rtc8xx. h rtc8xx. c setrtc8xx. cMkaefile setrtc8xx;

  串口驱动程序源码: /home / sjw01 / linux/ arch /ppc /8xx_ io / uart. c;

  flash memory 驱动程序源码: /home / sjw01 / linux/drivers/mtd / map s/unis. c。

  (2) 交叉编译环境。

  使用hardhat CDK2. 0作为开发工具,需将下面的路径加入用户环境变量$PATH 中: /op t/hardhat/devkit/ppc /8xx/bin; #export PATH = $PATH: /op t/hardhat/devkit/ppc /8xx/bin或编辑". bash_p rofile"文件的PATH行。对于应用软件,一般情况下只要替换编译器cc为ppc_8xx-gcc,重新编译一下源代码即可。构建目标文件系统

  配置DOC或FlashMemory中的文件系统是件很讲究的事情,主要是因为DOC /Flash容量有限,在保证正常功能的前提下,要尽可能地少占用资源。

  总体上,文件分成如下几类: (1)共享库类:这类文件必不可少。(2) L inux/GNU系统实用工具:尽量用busybox、tinylogin代替,能减则减。(3)配置文件:多出现在/ etc下,不太占地方,但要注意协调关系。(4)用户应用程序:编译时尽量使用动态连接,编译后strip一下,放到固定位置。

  目标文件系统列表如表1所示。

所有配置文件、可执行文件、库文件的位置均符合L inux操作系统的惯例。

  IPSec实现中的硬件加密算法

  在VPN安全网关中,加密算法的安全、高效,是VPN网关安全性和有效性的重要保证。为此,在设计中采用了一种硬件加密模块的方式,使得我们的VPN网关可以在硬件上使用不同的加密算法。在我们的默认配置中,使用国密办批准的分组加密算法芯片SSF10。

为了使用硬件加密模块,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top