8 Linux操作系统37285

8 Linux操作系统37285

ID:38506845

大小:1.91 MB

页数:96页

时间:2019-06-13

8 Linux操作系统37285_第1页
8 Linux操作系统37285_第2页
8 Linux操作系统37285_第3页
8 Linux操作系统37285_第4页
8 Linux操作系统37285_第5页
资源描述:

《8 Linux操作系统37285》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章Linux操作系统内容8.1Linux简介8.2Linux开发过程8.3Linux开发环境建立8.4Linux内核移植8.5Linux应用程序设计8.6Linux驱动程序设计8.7Linux上的图形系统8.1Linux简介Linux与UNIX系统兼容,开放源代码。Linux原本被设计为桌面系统,现在广泛应用于服务器领域。而更大的影响在于它正逐渐应用于嵌入式设备。Linux可以说是最早的嵌入式Linux发行版本。它是为没有MMU的处理器而设计的,进而发展了一个完整的开发平台,包括编译、调试等工具。LinuxLinux具有如下特性:开源免费高度可裁剪:通常

2、内核小于512KBytes,文件系统可从几十KBytes到几Mbytes不等,视应用程序大小而定。具有大量的开源的linux应用程序和驱动程序,并可以方便地移植到各种平台,包括ARM平台Linux与uC/OS-II的区别-功能性Linux包含一整套的编译、调试等开发工具、内核源代码、各种文件系统、图形接口、各种协议、驱动程序以及丰富的应用程序。而uC/OS-II确切的来说只是一个微内核,仅仅包含多任务调度、简单内存管理等基本的多任务操作系统元素,且多任务调度算法和内存管理等都比较简单。对于想实现GUI、FS、协议等都必须另外购买或者移植,对于设备驱动程序没有

3、提供专门统一的接口。Linux与uC/OS-II的区别-开发工具Linux发布中包含了编译器和调试器等工具,它们都采用GCC编译器,汇编语法一致。uC/OS-II没有指定编译器,在不同的平台下使用该平台下的编译器,而各个编译器,其汇编语法不同,因此,在不同类型平台下,汇编程序不一致。Linux与uC/OS-II的区别-开发资源在开发上,Linux采用统一的API调用,接口文档齐全,书籍、网上资源也比较多。uC/OS-II虽没有标准的API接口,但是其内核非常简单、简洁,且书籍、网上资源也非常丰富。Linux与uC/OS-II的区别-移植性Linux发布中包含

4、了多种平台下的移植,可以通过配置内核选择体系结构和裁剪内核。uC/OS-II的不同平台下的移植通过不同的移植代码独立发布,没有一个统一的界面,通过宏定义进行内核裁剪。Linux与uC/OS-II的区别-实时性Linux内核不关心实时性问题,可以通过和RTLinux配合来实现实时。RTLinux处理实时任务,非实时任务由linux完成RTLinux是为linux提供实时性的方法,同样也适用于Linux。通过RTLinux的patch,可以满足Linux对实时性的需求uC/OS-II采用占先式内核,实时性好Linux映像(image)文件结构Linux映像由内核

5、(kernel)和文件系统(fs)组成。可将kernel和fs统一编译到一个映像(image)文件中,也可以将kernel和fs独立地放置于不同的映像文件中(烧写到FLASH的不同区域),这需要通过修改Makefile文件和内核中的文件系统加载代码实现。本系统中kernel和fs分别位于不同的映像文件中。分别为(ramdisk.gz和zImage)Linux支持压缩核心(zImage),它是对原核心映像文件(linux.bin)进行压缩,并在压缩后的文件头部添加一段解压缩代码。在zImage运行时,先运行这段解压缩代码将程序解压缩到Linux核心运行地址,完

6、成后,跳转到核心运行。Linux内核组成初始化程序段(init段)约32KBytes。数据段(data)50~100KBytes左右。代码段(text)300KBytes左右如果kernel和fs编译在一起,内核映像还包含文件系统(romfs)>80KBytes未初始化数据段(bss)100~150KBytes左右。8.2Linux开发过程BOOTLOADER开发Linux开发环境建立Linux内核移植应用程序开发支持Linux开发的BOOTLOADER引导Linux烧写Linux内核映像和文件系统初始化硬件GNU交叉编译Linux采用GNU交叉编译器GNU

7、的交叉编译器,包括以下组件:1.Gcc交叉编译器,即在宿主机上开发编译目标上可运行的二进制文件;2.Binutils辅助工具,包括objdump、objcopy等;3.Gdb调试器。对于ARM可以采用如下两个版本的编译器:arm-elf-arm-linux-arm-elf-交叉编译器arm-elf-gccarm-elf-ldarm-elf-asarm-elf-objdumparm-elf-objcopyarm-elf-gdbarm-linux-交叉编译器(推荐使用)arm-linux-gccarm-linux-ldarm-linux-asarm-linux-

8、objdumparm-linux-objcopyar

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。