ARM设计的uClinux及其应用

发布者:Yudie最新更新时间:2011-06-01 关键字:ARM  实时操作系统uClinux  S3C4510B  ARM7TDMI 手机看文章 扫描二维码
随时随地手机看文章

1 嵌入式操作系统uClinux及其应用开发

    嵌入式软件平台由以下部分组成:系统引导程序、嵌入式操作系统内核、文件系统。系统引导程序通常也称为BootLoad—er ,代码量虽少,但是作用非常大,相当于PC上的BOIS,负责将操作系统内核固化到Flash中和系统初始化工作.然后将系统控制权交给操作系统。文件系统是嵌入式软件平台占用存储量最大的一部分,也是与用户开发最相关的一部分,它存储了系统配置文件、系统程序、用户应用程序和必需的驱动程序。

1.1 BootLoader程序

    系统引导程序BootLoader是嵌入式系统加电后执行的第一个程序,一般应写入Flash存储器中并从起始物理地址0x0开始。在应用实际中BootLoader的功能主要有:① 将uCLinux内核和文件系统烧写到目标板中;②系统初始化;③系统的内存映射;④加载uClinux内核

1.2 嵌入式操作系统uCiinux

    uClinux就是Micro—Control—Linux,是针对控制领域的嵌入式linux操作系统,它是从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性,适合不具备内存管理单元(MMU)的微处理器/微控制器(例如ARM7TDMI),它也是一个完全符合GNU/GPL公约的操作系统,完全开放代码。和主流的Linux相比,uClinux有以下特点:① 简化了内核加载方式,uClinux的内核可以在Flash上直接运行;② 采用romfs文件系统作为root文件系统,相对于一般的ext2使用更少的存储空间;③ 使用了Flat可执行文件格式替代elf格式;④ 使用应用程序库uClibc替代libc。

1.3 uClinux的编译与移植

I-3.1 uClinux系统针对硬件的改动

    目前.uClinux已被成功移植到多款微处理器芯片上.但由于嵌入式操作系统的运行是与嵌入式系统的硬件密切相关的.而硬件的设计则会因为使用场合的不同而千差万别,因此,在uClinux内核源代码中和硬件紧密相关的部分就应该针对特定的硬件作出适当的修改。

    本文中所涉及的对uClinux操作系统源代码的裁剪修改主要有以下几个地方:

uClinux内核源代码中对S3C4510B片内特殊功能寄存器以及其他相关硬件信息的定义文件hardware.h首先要定义系统工作的主时钟频率,本系统的为50MHz。

/********************************/

define$3C4510b CPU master clock

/********************************/

#define MHz l0o0000

#define fMCLK_ MHz (50 MHz)

#define fMCLK (fMCLK_MHz/MHz)

#define MCLK2 (fMCLK_MHz/21

    此外对系统SYSCFG寄存器也进行了相关的设置。如Cache操作使能、写缓冲使能以及设置了特殊功能寄存器组的基指针等。最后即定义系统存储器控制寄存器。

1.3.2 编译uClinux内核

    在准备好uClinux的内核源代码后.利用交叉编译器就可以编译生成运行在硬件目标板上的uClinux内核。首先将U—Clinux内核源代~uClinux—Samsung一20031005.tar.gz保存到宿主机的用户目录,解压完毕后。就会在用户目录下生成uClinux—Samsung目录。

以下是编译uClinux的具体过程:

使用make menuconfig或者make xconfig命令进行内核配置:

输人命令:make dep[page]

输入命令:make clean:

输入命令:make lib_only:

输入命令:make romfs:

输入命令:make image:

输入命令:make。

    至此整个uClinux源码的编译工作就完成了.最后会在/u—Clinux—Samsung/image目录下生成两个内核文件:image.ram和image.rom。image.rom~-3"借助~JTAG仿真器直接将其烧写到目标板上的FLASH存储单元,I~image-ram则可通过以太网接口。将其下载至目标板上就可直接运行了。

1.4 嵌入式操作系统uCfinux的应用开发

     下面通过本系统的一个具体实例来描述如何将应用程序添加~UuClinux,主要的标准方法有如下几点:

(1)编写自己的源程序代码和相应Makefile文件。uClinux/Linux的应用程序通常放在OS—HOME/user目录下,我们在该目录下创建一个XDQ目录.且在该目录下创建源文件xdq.c及它相应的Makefile文件。

(2)修改uClinux—Samsung/config/config.ink件。在该文件合适的位置增加如下内容:

mainmenu_ option   next comment

comment ‘xdq’

bool  ‘xdq’  CONFIG_ USER_ XDQ_XDQ

endmenu

目的是在Make menuconfig时,uCLinux就会提示你是否需要编译这个新的应用程序。

(3)修改uClinux—Samsung/user/Makefile 件。在该文件合适的位置增加下面一句:

dir-$(CONFIG_USER—XDQ—XDQ)+=xdq

加上这句后,如果你在Make menuconfig时选择了这个新应用程序。则编译时就会编译这个新的应用程序。

把修改工作完成后要进行内核的编译工作,按照以前编译uClinux内核的步骤进行就可以了。

值得注意的一点是在第一步make menuconfig进行内核配置的时候.在Target Platform Selection,要选中Customize Vendor/User Settings fNEW),选中了该选项后,与最初我们配置内核过程不同的是.它还会在make menuconfig的最后出现一个对话框,在此进行用户应用程序的配置,在对话框里出现的文字是在config.in文件中添加的文字,选中要编译的应用程序所在路径,就会出现另一个对话框,选中要编译的文件名,保存好内核配置后退出。用这种方法生成的可执行文件在romfs/bin目录下。

    选择完要编译的源文件后.接下来就进行make dep,makeclean等内核编译的后几步。以上介绍的是一种基本的添加用户应用程序的方法,在将用户应用程序添加uClinux内核运行时,都需要对内核进行部分或全部的编译,每次对内核编译完成后,都要先将FLASH存储器中的内容擦除,然后重新烧写新编译好的内核到FLASH存储器中去。

2 结束语

    ARM内核处理器具有体积小、高性能、低功耗、低成本等一系列优点,是嵌入式电子产品设备由8位机升级到32位机的理想选择。uClinux因具有稳定良好的移植性、优秀的网络功能、完备的对各种文件系统的支持以及标准丰富的API等优点,被广泛应用于嵌入式领域应用前景广阔。

 

关键字:ARM  实时操作系统uClinux  S3C4510B  ARM7TDMI 引用地址:ARM设计的uClinux及其应用

上一篇:ARM设计的高速数据采集远程监控系统技术
下一篇:ARM和DSP设计的地震加速度信号处理系统

推荐阅读最新更新时间:2024-03-16 12:36

ARM9学习4-S3C2410的启动代码分析-For ADSv1.2
通常,启动代码是指CPU复位后到进入C语言的main函数之前需要执行的那段汇编代码.这是由于C语言程序的运行需要具备一定的条件,比如:分配好外部数据空闿堆栈空间和中断入口等筿另外汇编代码可以更直接的对硬件进行操使效率更高. 通常启动代码是放在2410init.s汇编文件;特殊功能寄存器定义在2410addr.s;Memory Bank 配置在mencfg.s;还有系统的选项等在option.s文件;2410init.s不仅包括复位后执行的代码,还包括CPU进入掉电模式,产生中断等和处理器直接相关的,用汇编实现的代码. ;========================================= ; NAME: 2410IN
[单片机]
LPC2000系列32位ARM微控制器内嵌的CAN总线验收滤波器应用
CAN(Controller Area NetWork)总线,即控制器局域网总线,是由德国Bosch公司于1982年开发和推出的最早用于汽车内部测量与执行部件之间的数据通信协议。在20多年的历史中,CAN总线在许多领域得到了应用,是到目前为止唯一有国际标准的现场总线。 CAN现场总线按照国际标准化组织ISO提出的"开放系统互联(OSI)"参考模式,实现其中的物理层、数据链路层和应用层。CAN控制器用来实现CAN总线协议。CAN控制器芯片分为两类:一类是独立的控制器芯片,如SJA1000;另一类是和微控制器做在一起,如Philips公司的LPC2000系列32位ARM微控制器。两类控制器都提供了报文标识过滤的验收滤波器。但独立CA
[单片机]
LPC2000系列32位<font color='red'>ARM</font>微控制器内嵌的CAN总线验收滤波器应用
基于ARM和CDMA的远程视频监控系统
0 引言 CDMA(码分多址)网络具有覆盖面广,高效、低成本的特点,CDMA网络的数据传输速率可达200kb/s,这里开发的嵌入式远程视频系统就是充分利用CDMA网络技术和嵌入式系统的特点而搭建的数据传输系统,特别适合边远偏僻或不具备常规网络传输条件的地方使用,例如车载视频系统、交通路口(车牌实时监视)及城市路灯的等。 1 嵌入式Linux系统 嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统,目前嵌入式系统已经无处不在,从汽车、家用微波炉、PDA(个人数字助理)、电视机、到工控生产现场、通信、仪器、仪表、汽车、船舶、航空、航天、军事装
[单片机]
IAR for ARM系列教程(三)_菜单(Ⅰ)
Ⅰ、写在前面 IAR软件有多个系列版本,比如MSP430、STM8等,但为了使软件在使用上“兼容”,IAR推出的多个系列软件在使用在很多地方都有相似之处,包括IAR菜单的内容。因此,本文内容也适用于IAR其他系列软件。 由于菜单内容较多,我将其分为“菜单(Ⅰ)”和“菜单(Ⅱ)”两篇文章。为了使文章内容精简,过于简单和不常用且过于复杂的只简述。 本文内容已经整理成PDF文件,提供给大家下载: http://pan.baidu.com/s/1eSeDSu2 Ⅱ、主菜单内容 主菜单在不同状态下会有一些差异,比如在编辑模式和调试模式下存在差异,不同仿真调试器也存在差异。 1.编辑/调试模式差异 在编辑模式下有8个主菜单
[单片机]
IAR for <font color='red'>ARM</font>系列教程(三)_菜单(Ⅰ)
台积电与ARM签署新的合作协议,瞄向20纳米
  晶圆代工厂商台积电与ARM Holdings plc日前签署了一项协议,在台积电制程平台上扩展ARM系列处理器及物理IP开发,并规划扩展到20纳米制程。   两家公司的关系早就非常密切,尽管英国ARM最近几年也在向美国GlobalFoundries Inc.示好。ARM表示,最新协议将在广泛的制程节点上进行物理与处理器IP开发,一直扩展到20纳米制程。   该协议授权台积电在台积电的制程工艺上优化ARM处理器,包括ARM Cortex处理器系列和CoreLink AMBA互连架构。台积电还与ARM建立了长期关系,以开发物理IP,包括针对28和20纳米制程的内存产品和标准元件库。   ARM表示,ARM与台积电在处理器方面
[半导体设计/制造]
ARM:64位架构市场来临 LTE手机更便宜
在2013年分别由苹果在iPhne 5s首度搭载64位元架构设计的A7处理器,同时Qualcomm也在同年宣布推出旗下首款64位元架构设计处理器Snapdragon 410之后,目前已经有越来越多款中阶价位手机已经导入64位元架构,而以处理器架构设计授权为主的ARM,稍早也预测2015年将有过半智慧型手机都将采用64位元架构设计,同时额外支援LTE通讯机能的机种售价也将低于70美元。 在先前访谈中,ARM方面便认为基于更多记忆体定址能力、更高处理效率与效能表现等因素,处理器架构往64位元等高位元架构设计发展将是必然趋势。而在稍早透露消息里,ARM也预告2015年将有过半智慧型手机都将采用64位元架构设计,同时额外支援LTE
[手机便携]
浅谈ARM智能工业嵌入式微处理器
    在科技飞速发展的今天,我们周围一切都发生着翻天覆地的变化,而传统工业也正经历着一场有着“第三次工业革命”之称的深刻变革。这场变革正发生在我们的身边,其核心是“制造业数字化”,即为“智能工业”.   “智能工业”是将具有环境感知能力的各类终端、基于泛在技术的计算模式、移动通信等不断融入到工业生产的各个环节,大幅提高制造效率,改善产品质量,降低产品成本和资源消耗,将传统工业提升到智能化的新阶段。智能工业的实现是基于物联网技术的渗透和应用,并与未来先进制造技术相结合,形成新的智能化的制造体系。所以,智能工业的关键技术在于物联网技术,而物联网技术的基础在于智能嵌入式系统应用。嵌入式微处理器具有性能强大、体积小、重量轻、成本低、
[单片机]
ARM嵌入式汽车节能控制系统
  ARM嵌入式汽车节能控制系统   引言   由于各种原因,公交车总是不断重复加速—减速或停车—再加速的过程。通过加装本节能装置,当汽车需要制动时,在主控单元的控制下,可将汽车行驶时具有的巨大动能通过空气压缩机转化成高压气体的势能并储存起来,从而实现汽车减速或停车。当汽车需要启动或加速时,用储存起来的高压气体势能代替燃油来驱动汽车,从而实现汽车能量的回收再利用,达到节能的效果。同时由于汽车在起动或加速时能耗最大,如果汽车是用燃油驱动,则此时油料燃烧不充分,燃烧效果最差,而且产生的噪音最大。   系统工作原理   本系统主要由三部分组成,即检测部分,控制部分和执行机构。检测部分包括踏板位置传感器、曲轴位置传感器、压缩机活塞
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved