浅谈如何在 Windows 上应用 uClinux

在嵌入式产品大行其道的今天,Linux经过裁剪和优化而成的uClinux在嵌入式领域众多的操作系统中占有一席之地。从uClinux字面上就可以看出它的含义,即“微控制器领域中的Linux系统”。

    uClinux从Linux 2.0/2.4内核派生而来,沿袭了Linux的绝大部分特性。它是专门针对没有MMU(内存管理单元)的CPU,并且为嵌入式系统做了许多小型化的工作。它通常用于具有很少内存或Flash的嵌入式操作系统。在GNU通用许可证的保证下,运行uClinux操作系统的用户可以使用几乎所有的Linux API函数。由于经过了裁剪和优化,它形成了一个高度优化,代码紧凑的嵌入式Linux。它具有体积小、稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持,以及丰富的API函数等优点。uClinux与Linux在兼容性方面表现出色,uClinux除了不能实现fork()外,其余uClinux的API函数与标准Linux完全相同。

    uClinux的基本架构

    Boot Loader:负责Linux内核的启动,用于初始化系统资源。这部分代码用于建立Linux内核运行环境和从Flash中装载初始化Ramdisk。 数据挖掘工具

    内核初始化:Linux内核的入口点是start kernel()函数。它初始化内核的其它部分,包括捕获、IRQ通道、调度、设备驱动、标定延迟循环,最重要的是能够fork“init”进程,以启动整个多任务环境。

    系统调用函数/捕获函数:在执行完“init”程序后,内核对程序流不再有直接地控制权。此后,它的作用仅仅是处理异步事件(例如硬件中断)和为系统调用提供进程。

    设备驱动:设备驱动占据了Linux内核很大部分。同其它操作系统一样,设备驱动为它们所控制的硬件设备和操作系统提供接口。

    文件系统:Linux最重要的特性之一就是对多种文件系统的支持。这种特性使得Linux很容易地同其它操作系统共存。文件系统的概念使得用户能够查看存储设备上的文件和路径而无须考虑实际物理设备的文件系统类型。

    交叉编译环境

    uClinux是一个出色的开发平台,但是在我们能在电脑上编写自己的嵌入式应用程序之前,还必须做的一件事,就是给uClinux建立完善的编译环境。关于交叉编译,简单地讲是指在一个平台(操作系统)上可以生成能在另一个平台上执行的代码。 数据挖掘工具

    但是对于有些不是很懂Linux环境的人来讲,用uClinux开发程序会感到诸多不便。这里提供了在装有Windows系统的宿主机(开发时所用的机器)上建立交叉编译环境的方法。

    为了在Windows下开发嵌入式操作系统应用程序,可以在Windows环境下装上Cygwin软件。Cygwin是一个在Windows平台上运行的Unix模拟环境,是Cygnus Solutions公司开发的自由软件。它对于学习掌握Unix/Linux操作环境,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。

    Cygnus首先把gcc、gdb等开发工具进行了改进,使它们能够生成并解释WIN32的目标文件。然后,把这些工具移植到Windows平台上去。一种方案是基于WIN32 APl对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,Cygnus采取了一种不同的方法——他们写了一个共享库(就是cygwinl.d11),把WIN32 API中没有的Unix风格的调用(如fork、spawn、signals、select、sockets等)封装在里面。也就是说,他们基于WIN32 APl写了一个Unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用Unix主机上的交叉编译器来生成可以在Windows平台上运行的工具集。以这些移植到Windows平台上的开发工具为基础,Cygnus又逐步把其它的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到Windows上来。这样,在Windows平台上运行bash和开发工具、用户工具,感觉好像在Unix上工作。 数据挖掘论坛

    生成交叉编译器

    Cygwin软件目前最新版本是Cygwin DLL 1.5.9-1。它的网址是http:// Cygwin.com,上面就有该程序的压缩包,下载后解压安装就ok了。

    在自己生成交叉编译器之前,首先对Cygwin进行一些设置。假设Cygwin安装在e目录下,在打开Cygwin窗口之前,进入到E:\Cygwin目录。在这个目录下,有一个文件名为Cygwin.bat的批处理文件,编辑该文件,在第一行后加入setCYGWIN--titlentea,这是因为Cygwin的启动批处理文件需要启动Unix文件系统模拟。修改完毕且保存后退出。双击桌面上的Cygwin图标,打开后默认用户为在Windows中登录的用户名(这里所使用的操作系统是Windows 2000 Professsional),在根目录(即E:\cygwin)下输入:

cd bin    

mV Sh.exe Sh—original.exe  

n —S bash.exe Sh.Exe

数据挖掘论坛



    做上述几步的原因是大多数Linux系统将sh符号链接到bash,而Cygwin上的sh.exe和bash.exe是不同的,因此必须用bash代替sh。

    从网站http://www.ucLinux.org/pub/uClinurd-elf-tools/上下载生成工具链的各种源码,根据脚本文件build-ucLinux-tools.sh建立可在Windows下编译用户应用程序的交叉编译器,生成的交叉编译器最终被打包为arm-elf-tools-cygwin-yyyymmdd.tar.gz的文件,其中YYYY为生成交叉编译器的年,mm为生成交叉编译器的月份,dd为日期。

    这里,需要注意的是在生成交叉编译器的过程中,可能会遇到多次错误,读者应该根据给出的出错信息,进行相应文件的修改。由于习惯上的原因,Linux下的压缩文件一般都是以.tar.gz或者.tgz结尾的。虽然用Windows下的解压软件,比如winzip或者winrar也可以解压这些文件,但是不推荐使用这类解压软件,因为可能会造成某些信息的丢失。

    有了交叉编译器后,熟悉Windows的用户就可以在Windows下编译在uClinux上运行的应用程序了。

数据挖掘交友

IPTV:关注IPTV;报道技术;应用;方案
[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:浅谈Linux系统中Logcheck的安装和配置
下一篇:巧用Linux2.6内核新功能配置文件ACL
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • 如何修改自己的qqip地址
  • 急!!“驱动器中没有软盘。请在驱动器 中
  • 万能 话筒驱动程序下载
  • 应用程序发生异常 未知的软件异常(0*c0000
  • 我的电脑里什么输入法也没有了,应该怎样安
  • Generic Host Process for Win32 Services
  • 不能复制光盘上的内容!提示ms-dos功能无效!
  • 访问违例(地址:004096DA)。写入(地址:
  • 烤DVD光盘时提示“无法复制:MS-DOS功能无效
  • 用组策略隐藏本地连接(不是禁用属性) 有会
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • 修改Win2k注册表抵抗拒绝服务
  • 在Win2000中预防Ping攻击
  • Windows 2000 微软最成功的失败
  • Windows 2000中隐患重重的十大“服务”
  • NTFS格式大硬盘数据恢复特殊案例
  • 电脑高手常用技巧应用全接解
  • Win2000系统二十条超级应用技巧
  • 有效防范自己的IP泄漏的办法
  • 在SCSI硬盘上装Windows 2000
  • 优化Windows 2000的NTFS系统
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静