当前位置:首页 > 单片机 > 单片机
[导读] 本文首先介绍了基于MPC8247的嵌入式电力交换系统的硬件平台,着重阐述了如何在MPC8247处理器上开发嵌入式电力交换系统,主要包括开发环境的搭建、系统引导模块U-Boot修改、内核的裁剪和移植,交换软件

本文首先介绍了基于MPC8247的嵌入式电力交换系统的硬件平台,着重阐述了如何在MPC8247处理器上开发嵌入式电力交换系统,主要包括开发环境的搭建、系统引导模块U-Boot修改、内核的裁剪和移植,交换软件SDK移植,应用软件ZebOS的编译等。通过电力交换设备(DPN8000)的现场应用,证实该系统具有体积小,功耗低,高带宽等优点,为电力通信网络和系统的开发做出了贡献。


随着电力通信的发展,电力业务量的增加,对嵌入式电力设备的I/O处理能力有了更高的要求,尤其需要能提供大容量、高速率和高带宽的语音、数据和视频业务支撑的嵌入式接入设备,因此,性能高,功耗低的大容量嵌入式电力设备倍受青睐。

Freescale公司生产的PowerPC处理器MPC8247具有集成度高,功耗低和能支持丰富的外围设备等优点,再搭配IP Infusion的ZebOS(R)软件,实现了快速通信与高吞吐率的数据处理,有效地提高了网络的性能、降低了网络基础设施的成本并增加了运营商和企业的收益,很好地解决了嵌入式电力通信设备遇到的问题。本文以开发大容量电力光交换设备OLT(DPN8000)为背景,介绍了电力交换系统的硬件设计和嵌入式交换系统系统开发的搭建,重点针对如何实现嵌入式电力交换系统给出解决办法。

1 硬件平台的概述

MPC8247板主要包括CPU子系统,其系统框图如图1所示。

MPC8247是Freescale公司MPC82XX系列微处理器的一种,主要由G2_LE内核(PowerPC 603e内核的一种),系统接口单元SIU以及通信处理模块CPM组成。支持60x总线,其数据线宽为64位,地址线为32位;支持PCI/LOCAL总线,其数据线宽为32位,地址线为32位。PowerPC8247内核工作时钟最高为400 MHz,CPM工作时钟最高为200 MHz。外设接口大致如下:

(1)SDRAM:64位256 MB容量,由4片64 MB的MT48LC32M16A2TG组成,使用Local Bus的D[0:63]和A[16:28]。

(2)FLASH:32 MB容量,由2片16 MB的S29GL128N组成,设计中该FLASH工作在WORD模式,使用Local Bus的D[0:31]和A[4:29]。

(3)PCI总线:引出一个32位66 MHz的PCI总线,经过PCI-PCIe桥片PI7C9X10转换成为PCIe总线,经XMC连接器连接到底板的交换芯片BCM56 338,作为FabrIC芯片的管理端口。

2 嵌入式系统开发环境的搭建

2.1 准备开发环境

通常嵌入Linux的开发分为主机系统和目标系统,他们之间通过网络接口和串口互连,网口一般用以下载程序和内核映像文件,串口一般作为console控制台来使用,在主机通过超级终端与目标系统进行命令交互,就像PC的键盘和显示器。

嵌入Linux系统模型如图2所示。

2.1.1 安装开发编译环境

通常主机与目标板的CPU都不相同,需要进行交叉编译。在本项目中使用了GNU GCC工具链。GNUGCC的PowerPC版本需要交叉编译,所有源代码可以从FSF的FTP站点。

整个建立过程为:下载源文件、补丁和建立编译的目录;建立内核头文件;建立二进制工具(binutils);建立初始编译器(bootstrap gcc);建立C库(glibc);建立全套编译器(full gcc)。

安装好之后可以用“which ppc_8xx.gcc”来查找一下产生的目标执行文件在哪里。

2.1.2 配置DHCP

主机系统需要设置DHCP服务器,用于目标系统在采用BOOTP启动时获取IP地址。设置之前首先要知道目标系统的MAC地址,同时要保证主机系统安装了DHCPD服务器。修改虚拟机中/etc/dhcpd.conf配置文件,然后用如下命令重新启动dhcpd服务:


#/etc/init.d/dhcpd restart

同时启动dhcpd服务,使主机每次启动时自动启动该服务。

2.1.3 配置TFTP服务器

TFTP(简单文件传输协议)服务器用于目标系统从主机系统上获取可执行的代码或内核映象文件。

以超级用户登录主机系统,编辑下面文件:

#vim/etc/xinetd.conf

去掉下面一行的注释:

#tftp dgram udp wait root/usr/sbin/tcdp in.tftpd

根目录下创建tftpboot目录:

#mkdir tftpboot

将每次编译好的目标代码拷贝到该目录下,在系统服务中启动TFTPD服务(运行#setup,在“System servICes”中选择。)然后执行:#service xinetd restart即可。

2.1.4 配置NFS

NFS主要是给目标系统提供一个根文件系统(Root Filesystem)。

首先,编辑配置文件/etc/exporlts:

#vi exports

如果原来不存在,添加一行:

/home/com_target_master*(rw,no_root_squash)

“/home/com_target_master”是根文件系统所在的目录,“*”允许主机所在网段所有机器访问。和配置TFTP一样,在系统服务中启动NFS服务,重新启动系统或运行:

#service nfs restart

2.2 目标板FLASH资源分配

对于系统平台来说,建立良好的FLASH分区是系统成功运行的基本保证。具体FLASH资源分配如表1所示。

3 嵌入式系统开发的实现过程

本文的软件平台是基于电力交换设备,DPN8000的开发环境为模型。搭建软件层次模型如下:

3.1 Linux系统引导模块uboot

U-Boot是德国DENX软件中心依照GPL(General Public License)发布的系统引导模块,支持多种处理器,如ARM系列、PowerPC系列、MIP S系列、X86系列等。根据自己的目标系统修改编辑U-Boot包下的源文件,进行移植,最后编译U-Boot后生成二进制文件,用于引导系统。

在U-Boot代码中,主要有关的代码设置在MYM(uboot)\cpu\mpc8260.c的代码中实现,但是该地址的定义在其平台说明头文件中。故增加一个mpc8247平台——mpc8260ads,在$(u-boot)\include\config目录下增加一个相应平台配置头文件说明-mpc8260ads.h,将与硬件有关的配置放在此文件中。对应SDRAM,FLASH等定义如下:

(1)SDRAM的地址设定

#define CFG_OR1 0xF0002900

#define CFG_PSDMR 0xc4322423

以上定义的为SDRAM的地址设定,由MPC8247片选CS1相关的寄存器设定。

(2)FLASH的地址设定

#define CFG_FLASH_BASE 0xfe000000

#define CFG_BR0_PRELIM

CFG_FLASH_BASE | 0x00001801

#define CFG_OR0_PRELIM

CFG_FLASH_BASE | 0x000008C2

以上定义的为FLASH的地址设定,由MPC8247片选CS0相关的寄存器设定。

(3)FPGA地址设定

#define CFG_FPGA_BASE 0xF4500000

#define CFG_BR3_PRELIM CFG_FPGA_BASE| 0x00001801

#define CFG_OR3_PRELIM 0xFFFF8010

以上定义的为FPGA的地址设定,由MPC8247片选CS0相关的寄存器设定。

修改完成后,通过make得到u-boot.bin文件。

3.2 Linux内核的移植

由于嵌入式系统存储资源有限,精简内核就显得尤为重要。建立系统的新内核,最主要的工作就是配置内核参数配置内核文件,进入内核释放的目录下执行命令:#make menuconfig会生成新的.config文件。然后执行#make uImage,生成新的uImage,将生成的内核拷贝到tf tp目录下即可。

使用tftp将内核镜像文件下载到目标板上,重新引导后,目标板即可成功启动。

3.3 文件系统的制作

将得到Busybox版本进行解压,配置和编译就可以得到想要的文件系统。具体命令如下:

下载一个busybox-1.1.3.tar.gz

#tar xvzf busybox-1.1.3.tar.gz

#cd busybox-1.1.3

#make defeonfig

#make menuconfig

Busybox编译出一个单个的独立执行程序,就称为Busybox,它集成了非常多的命令工具,如果要使用某一命令,需要做一个软链接就可以了。在这个项目中,采用busybox来配置所需各类文件,具体方法参见busybox的手册。

3.4 SDK的移植过程

将拿到的sdk-xgs-robo-5.6.2.tar.gz的源码文件解压到/home/corn_work/目录下:

#ed/home/com_work

#tar-zxvf sdk-xgs-robo-5.6.2.tar.gz

3.4.1 设置环境变量

设置环境变量如下:

#export SDK=/home/com_work/sdk-xgs-robo-5.6.2

这样SDK的环境路径已经设好,进入make目录下,修改对应的Makefile.linux-bmw和Make.LOCal文件,使这2个文件对应的内核,编译器路径和交换芯片类型是所需要的类型。

3.4.2 编译SDK

如果想重编译SDK,只需进入:/home/eom_work/sdk-xgs-robo-5.6.2/systEMS/linux/kernel/bmw目录下,执行#make clea n;make将生成的模块拷贝到对应文件系统的对应的目录下即可。

生成的模块如表2所示。

然后将用到的模块加载。执行过程如下:

#insmod linux-kernel-bde.o-f

#insmod linux-uk-proxy.o-f

#insmod linux-bcm-diag-full.o-f

#./bcm.user.proxy

3.5 ZebOS的移植过程

将拿到的ZebOS771.tar. gz的源码文件解压到/home/corn_work/目录下:

#cd/home/com

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭