基于ARM和linux的开发

基于ARM和linux的开发

ID:44396892

大小:2.70 MB

页数:97页

时间:2019-10-21

基于ARM和linux的开发_第1页
基于ARM和linux的开发_第2页
基于ARM和linux的开发_第3页
基于ARM和linux的开发_第4页
基于ARM和linux的开发_第5页
资源描述:

《基于ARM和linux的开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于ARM和linux的开发7/14/2021华中科技大学武汉创维特提纲13245Linux简介Linux驱动程序设计Linux内核移植Linux开发过程67第八章基于ARM和Linux的开发Linux上的图形系统Linux开发环境建立Linux应用程序设计2LinuxLinux简介Linux与UNIX系统兼容,开放源代码。Linux原本被设计为桌面系统,现在广泛应用于服务器领域。而更大的影响在于它正逐渐应用于嵌入式设备。Linux可以说是最早的嵌入式Linux发行版本。它是为没有MMU的处理器而设计的,进而

2、发展了一个完整的开发平台,包括编译、调试等工具。3LinuxLinux简介Linux具有如下特性:开源免费高度可裁剪:通常内核小于512KBytes,文件系统可从几十KBytes到几Mbytes不等,视应用程序大小而定。具有大量的开源的linux应用程序和驱动程序,并可以方便地移植到各种平台,包括ARM平台4Linux与uC/OS-II的区别-功能性Linux简介Linux包含一整套的编译、调试等开发工具、内核源代码、各种文件系统、图形接口、各种协议、驱动程序以及丰富的应用程序。而uC/OS-II确切的来说只

3、是一个微内核,仅仅包含多任务调度、简单内存管理等基本的多任务操作系统元素,且多任务调度算法和内存管理等都比较简单。对于想实现GUI、FS、协议等都必须另外购买或者移植,对于设备驱动程序没有提供专门统一的接口。5Linux与uC/OS-II的区别-开发工具Linux简介Linux发布中包含了编译器和调试器等工具,它们都采用GCC编译器,汇编语法一致。uC/OS-II没有指定编译器,在不同的平台下使用该平台下的编译器,而各个编译器,其汇编语法不同,因此,在不同类型平台下,汇编程序不一致。6Linux与uC/OS-

4、II的区别-开发资源Linux简介在开发上,Linux采用统一的API调用,接口文档齐全,书籍、网上资源也比较多。uC/OS-II虽没有标准的API接口,但是其内核非常简单、简洁,且书籍、网上资源也非常丰富。7Linux与uC/OS-II的区别-移植性Linux简介Linux发布中包含了多种平台下的移植,可以通过配置内核选择体系结构和裁剪内核。uC/OS-II的不同平台下的移植通过不同的移植代码独立发布,没有一个统一的界面,通过宏定义进行内核裁剪。8Linux与uC/OS-II的区别-实时性Linux简介Li

5、nux内核不关心实时性问题,可以通过和RTLinux配合来实现实时。RTLinux处理实时任务,非实时任务由linux完成RTLinux是为linux提供实时性的方法,同样也适用于Linux。通过RTLinux的patch,可以满足Linux对实时性的需求uC/OS-II采用占先式内核,实时性好9Linux映像(image)文件结构Linux开发过程Linux映像由内核(kernel)和文件系统(fs)组成。可以将kernel和fs统一编译到一个映像(image)文件中,也可以将kernel和fs独立地放置于

6、不同的映像文件中(烧写到FLASH的不同区域),这需要通过修改Makefile文件和内核中的文件系统加载代码实现。本系统中kernel和fs分别位于不同的映像文件中。分别为(ramdisk.gz和zImage)Linux支持压缩核心(zImage),它是对原核心映像文件(linux.bin)进行压缩,并在压缩后的文件头部添加一段解压缩代码。在该程序运行时,先运行这段解压缩代码将程序解压缩到Linux核心运行地址,完成后,跳转到核心运行。10Linux内核组成Linux开发过程初始化程序段(init段)约32K

7、Bytes。数据段(data)50~100KBytes左右。代码段(text)300KBytes左右如果kernel和fs编译在一起,内核映像还包含文件系统(romfs)>80KBytes未初始化数据段(bss)100~150KBytes左右。11Linux开发步骤Linux开发过程BOOTLOADER开发Linux开发环境建立Linux内核移植应用程序开发12支持Linux开发的BOOTLOADERLinux开发过程引导Linux烧写Linux内核映像和文件系统初始化硬件13GNU交叉编译Linux开发环境

8、建立Linux采用GNU交叉编译器GNU的交叉编译器,包括以下组件:1.Gcc交叉编译器,即在宿主机上开发编译目标上可运行的二进制文件;2.Binutils辅助工具,包括objdump、objcopy等;3.Gdb调试器。对于ARM可以采用如下两个版本的编译器:arm-elf-arm-linux-14arm-elf-交叉编译器Linux开发环境建立arm-elf-gccarm-elf-ldarm-e

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

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

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