网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Linux > 嵌入式系统 > 文章  
基于μClinux的SoPC应用系统设计
文章来源: E代电子 文章作者: 殷伟凤 胡锡伟 发布时间: 2006-07-04   字体: [ ]  
 

 

2 基于μClinuxSoPC应用程序开发

 

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

 

2.1 加载μClinux系统的步骤

 

μClinux加载到SoPC目标板上时需提供一个交叉编译环境,硬件要求具有一个串口的PC工作站、基于Nios处理器的SoPC目标板和ByteBlasterMV线缆等。软件需求WindowsNTv4.0Windows2000WindowsXPAltera 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文件系统要求更少空间。

 

在主机上Linuxtarget目录表示在μ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的根文件系统的加载。

 

2.1.3 加载应用程序

 

用户应用程序可通过target目录加载到根文件系统中,可根据需要重建romdisk映像。应用程序在userland目录下,编译生成运行文件后拷贝到target目录树中,并根据target目录的内容创建romdisk.flash文件。新建一个应用程序,首先打开一个LinuxDeveloperBash窗,在userland目录中创建一个目录app,应用程序源文件存放在此目录中,然后在userlandapp/中建立一个makefile文件。

 

Makefile内容如下所示,其中appfile为应用程序名。

STACKSlZE=8192

include....Rules.mak

allappfile.relocbflt

SOURCES=appfile.c

install

$(ROMFSINST)appfile.reloebfh

$(ROMFSDIR)binappfile$(EXECSUFFIX)

clean

rm-f *.[iods]core appfile appfile.*elf appfile.*bflt

 

运行make对应用程序进行编译并修改userland/.eonfig和/userlandMakefile文件。在userland/.config文件中,增加一行CONFIG_MY_APP=y,在userlandMakefile文件中,增加dir_$(CONFIG_MY_APP)+=app,进入userland子目录,运行make,即可将应用程序安装到userlandbin中,并根据userland/.config文件中相应变量的指示将应用程序二进制拷贝到target目录中。

 

最后,键入以下命令重新构建romdisk映像文件(romdisk.flash),并下载到目标板上。

 

[Linux Developer]uClinux/:make clean_target

[Linux Developer]uClinux/:make romfs

[Linux Developer]uClinux/:nios-run romdisk.flash

 

2.1.4 运行μClinux

 

完成μClinux内核及文件系统的装载后,即可运行μClinux。键入g800000(800000为启动代码地址,在SoPC Builder中设置)μClinux自动完成初始化过程,用户输入登录用户名nios,密码μClinux,出现μClinux的提示符#,表示已进入μClinux运行环境。

 

 
推荐文章
·嵌入式Linux平台的多协议路由器
·恰当选择嵌入式Linux环境下的GUI
·嵌入式Linux系统的MiniGUI研究和
·基于Linux的移动电话开发技术及
·嵌入式uClinux的内核结构和开发
·基于 GTK+ 和 X-window 的 GUI
·基于Qt/Embedded和Qtopia的GUI设
·恰当选择嵌入式Linux环境下的GUI
·ARM的嵌入式Linux移植体验之操作
·ARM的嵌入式Linux移植体验之基本
·ARM的嵌入式Linux移植体验之应用
·ARM的嵌入式Linux移植体验之设备
·ARM的嵌入式Linux移植体验之Boot
·嵌入式Linux系统中的GUI系统的研
 

 
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·ARM的嵌入式Linux移植体
·U-Boot简介
·基于Qt/Embedded的GUI移
·基于Qt/Embedded和Qtopi
·U-BOOT的启动流程及移植
·ARM的嵌入式Linux移植体
·几种Linux嵌入式开发环
·ARM的嵌入式Linux移植体
相关文章
·ARM入门
·ARM7系统中实现CF卡存储
·YAFFS文件系统在嵌入式L
·Linux 2.6 内核的嵌入式
·双内核嵌入式处理器及其
·嵌入式系统的人机界面原
·嵌入式数据库
·开源嵌入式数据库Berkel
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统