设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> 嵌入应用 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
基于Linux操作系统实现的…
基于Linux的移动电话开发…
基于嵌入式Linux的智能手…
μClinux下SDRAM数据交换…
支持基于Linux的USB设备…
基于COM接口的Shell扩展…
基于Linux的视频点播系统…
一个基于浏览器的Linux系…
Linux系统笔记本基于“敲…
使用TC实现基于Linux系统…
  基于μClinux的SoPC应用系统设计详解         
基于μClinux的SoPC应用系统设计详解
 

嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序四部分组成,其发展主要体现在芯片技术的进步上,以及在芯片技术限制下的算法与软件的进步上。随着芯片制造技术的发展,嵌入式系统的结构也随之发生了重大变革,从基于微处理器的嵌入式系统到基于微控制器的嵌入式系统,继而将可编程逻辑PLD(Programmable Logic Device)技术引入到嵌入式系统设计中,进而又发展到SoC(System on Chip),最终将PLD与嵌入式处理器结合而成为SoPC(System on

Programmable Chip),使得SoPC成为嵌入式系统设计的一个发展趋势。

本文采用SoPC内嵌32位的软核处理器Nios,实现了一个UART串行口和以太网接口的转换器(以下简称转换器),并基于Microtronix公司针对Nios处理器移植的μClinux开发了应用程序.其系统结构如图l所示。

1 基于SoPC的嵌入式硬件平台构建

不同于基于处理器或控制器及SoC的嵌入式系统,基于SoPC的嵌入式系统具有可配置的特点,不会包括任何专用外设,而是可根据需要灵活地在一片FPGA中构造外设接口。

基于SoPC的嵌入式系统主要由1片核心芯片SoPC和片外器件,以及一些相关的接口设备组成。本文所要实现的转换器采用Altera公司的Cyclone芯片及外围电路组成,其中外围电路包括2片512 KB的SRAM、l片8MB的Flash、UART电子转换器和1片以太网控制器LAN91C111。系统电路框图如图2所示。

SoPC芯片内嵌软核处理器Nios。在SoPC芯片中,除了CPU外,可配片上ROM、内部定时器、UART串行口、SRAM、Flash接口等系统部件。这些部件均以可编程逻辑部件的形式实现,芯片内部部件结构图如图3所示。CPU和所有部件通过Avalon总线连接在一起。

SoPC芯片内系统模块和Avalon总线模块均由SoPCBuilder工具自动生成,利用Qualtus II集成开发环境可实现芯片内的逻辑设计及其引脚定义。经编译生成后缀为.sof的硬件映像文件,通过ByteBlasterII线缆下载到目标板的Cyclone芯片中,或将.sof文件转换成.flash文件,下载到目标板的Flash中。这样就完成了转换器的硬件设计。

2 基于μClinux的SoPC应用程序开发

应用程序的开发可在硬件平台上直接进行,但需了解所有硬件部件的细节,并编写相应的驱动子程序,其软件设计难度及工作量大,且可移植性差。基于嵌入式操作系统的应用程序,其所有的硬件细节均对用户屏蔽。对硬件进行直接控制的底层驱动程序均封装在操作系统内,通过设备驱动程序接口来完成,用户只需在高层通过操作系统所提供的系统调用进行编程。μClinux是针对控制领域的嵌入式Linux操作系统,适合如Nios处理器等不具备内存管理单元(MMU)的微处理器/微控制器。基于操作系统进行开发,需将操作系统加载到硬件平台中,μClinux可以以部件的形式集成到SoPC系统中。

2.1 加载μClinux系统的步骤

将μClinux加载到SoPC目标板上时需提供一个交叉编译环境,硬件要求具有一个串口的PC工作站、基于Nios处理器的SoPC目标板和ByteBlasterMV线缆等。软件需求WindowsNTv4.0、Windows2000或WindowsXP、Altera Nios开发包NDK 3.0中所提供的Nios GNUPro工具、Ahera Nios开发包所提供的cygwin安装,以及Quartus II可编程逻辑开发工具V2.2等。

2.1.1 创建和装载内核映像

创建和装载μClinux映像文件在Linux DeveloperBash环境下进行,首先需按下列步骤配置和构建内核。

  [Linux Developer]…μClinux/:cd linux

  [Linux Developer]…linux/:make xconfig

  [Linux Developer]…linux/:make clean

  [Linux Developer]…1inux/:make dep

  [Linux Developer]…linux/:make

  [Linux Developer]…μClinux/:make linux.flash

生成的linux.flash文件即为μClinux内核映像。当SoPC目标板加电,片内ROM中的GERMS监控程序运行后,在[Linux Developer]…μClinux/:下键入nios-runlinux.flash,即下载linux.flash文件到目标板上,完成内核映像的加载。

2.1.2创建和装载根文件系统

除了装载内核外,还需装载根文件系统。μClinux采用romfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少空间。

在主机上Linux的target目录表示在μClinux下的根(root)目录。当前的脚本和工具可将target目录转换成映像文件(romdisk.flash),按如下步骤创建:

  [Linux Developer]…μClinux/:make clean_target

  [Linux Developer]…μClinux/:make romfs
 

然后键入以下命令:

  [Linux Developer]…μClinux/:nios-run romdisk.flash
  

即将romdisk.flash文件下载到目标板上,完成μClinux的根文件系统的加载。

Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-2-4 20:31:49
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持