当前位置:首页 » 专业资讯
开发技术指南» 文章正文
    引言: uClinux操作系统移植 ----------------
 

 

 ·linux内核编译详解    »显示摘要«
    摘要: linux内核编译详解 [本文最初由solaris发布]一、内核简介   内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。    linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也都是遵循gpl而设计 的,你都可以获取相应的源程序代码。全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此引......
    摘要:vi /home/vpopmail/domains/youdomains/user/.qmail #建立.qmail文件| /usr/local/bin/maildrop ./.mailfilter #使用maildorp程序规则为.mailfiltervi /home/vpopmail/domains/youdomains/user/.mailfilter #建立.mailfilter文件并添加规则 vi /home/vpopmail/domains/y......


uClinux操作系统移植,看看
uclinux操作系统移植

【相关文章:http://www.myfaq.com

【扩展阅读:直接从Grub进入单用户模式

【扩展信息:Linux常用硬件资源网址

--------------------------------------------------------------------------------

来源:biplip.com 作者:沈沙

(复旦大学电子工程系沈沙,欢迎转载,转载时请保留此行作者信息)

l uclinux简介

l 硬件体系结构简介

l 编译环境与编译工具。

l uclinux启动过程

l 系统源码的修改

1. uclinux简介

uclinux这个英文单词中u表示micro,小的意思,c表示control,控制的意思,所以uclinux就是micro-control-linux,字面上的理解就是"针对微控制领域而设计的linux系统"。

uclinux是一个源码开放的操作系统,面向没有mmu(memory management unit)的硬件平台。它是linux的一个变种,主要的区别在于两者的内存管理机制与进程调度管理机制,同时为了适应嵌入式应用的需求,它的采用了romfs文件系统,并对linux上的c语言库glibc做了简化。

2. 硬件体系结构简介

运行uclinux的硬件平台主要包括如下几个部分:cpu(armv4指令集兼容)、uart、memory controller、定时器、flash存储器,sdram存储器,中断控制器与dma。

3. 编译环境与编译工具

uclinux操作系统源码绝大部分是用c语言开发的,有一些与硬件直接相关的代码则用特定于某一cpu体系结构的汇编来实现。这些源码只能用gnu的gcc编译工具来进行编译、链接。

gnu gcc可以运行于linux/unix操作系统上。如果要在windows平台上运行gcc,则必须安装cygwin。cygwin可以在windows中安装一个linux的运行环境,这样就可以在windows下运行原本只能在linux下运行的程序。

为了在pc上编译得到运行于目标cpu上的操作系统内核,还必须安装一个合适的交叉编译器。gcc 提供了现成的针对mips、arm、m68k、sharc、powerpc的交叉编译器。如果没有现成的交叉编译器,则需要自行设计。gnu网站提供了一些如何开发新的交叉编译器的文章。开发一个新的编译器,一般需要如下几个步骤:

(1)、编写机器描述脚本。采用gcc的rtl(register tansfer language)语言描述针对某一cpu体系结构的机器指令与寻址方式、cpu浮点处理方式、endianess、c语言中各种数据类型的位宽、寄存器的个数与使用规则、堆栈与函数调用规则等体系结构的细节。

(2)、设计代码生成器。gcc在对c语言源文件进行了词法与语法分析后,将产生一种中间格式文件(intermediate representation)。为了把这种中间格式文件转化为针对具体cpu体系结构的机器码,需要自行设计一个代码生成器。

(3)、设计汇编器

(4)、设计链接器


...   下一页
 ·互斥型信号量和二进制信号量    »显示摘要«
    摘要: 互斥型信号量必须是同一个任务申请,同一个任务释放,其他任务释放无效。同一个任务可以递归申请。 二进制信号量,一个任务申请成功后,可以由另一个任务释放。二进制信号量实现任务互斥: 打印机资源只有一个,abc三个任务共享,当a取得使用权后,为了防止其他任务错误地释放了信号量(),必须将打印机房的门关起来(进入临界段),用完后,释放信号量,再把门打开(出临界段),其他任务再进去打印。(而互斥型信号量由于必须由取得信号量的那个任务释放,故不会出现其他任务错误地释......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE