第9章基于linux操作系统的arm编程

第9章基于linux操作系统的arm编程

ID:15189103

大小:522.00 KB

页数:47页

时间:2018-08-01

第9章基于linux操作系统的arm编程_第1页
第9章基于linux操作系统的arm编程_第2页
第9章基于linux操作系统的arm编程_第3页
第9章基于linux操作系统的arm编程_第4页
第9章基于linux操作系统的arm编程_第5页
资源描述:

《第9章基于linux操作系统的arm编程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于ARM9和Linux嵌入式系统设计329第9章基于ARM9和Linux嵌入式系统设计本章将学习如何进行嵌入式Linux系统的开发。读完本章,读者将了解以下内容:●嵌入式Linux的开发环境。●Linux开发工具GNUgcc的使用。●GNUmake命令和makefile文件。●GDB调试器。●嵌入式Linux下C语言编程。●嵌入式Linux引导程序。●嵌入式Linux下程序调试应用举例。9.1嵌入式Linux的开发环境嵌入式系统是以应用为中心,以计算机技术为基础、软硬件均可裁剪、适应应用系统对功能、可靠性、成本、体

2、积、功耗严格要求的专用计算机系统。其发展已有二十多年的历史,国际上也出现了一些著名的嵌入式操作系统,如VxWorks,PalmOS,WindowsCE等,但这些操作系统均属于商品化产品,价格昂贵且由于源代码不公开导致了诸如对设备的支持,应用软件的移植等一系列的问题。而Linux作为一种优秀的免费操作系统,近几年在嵌入式领域异军突起,成为了最有潜力的嵌入式操作系统。9.1.1嵌入式Linux开发环境建立进行项目开发前,首先要做的是搭建一套基于Linux操作系统的应用开发环境,一般由目标板和宿主机所构成。目标板用于运行操

3、作系统和系统应用软件,目标板所用到的操作系统的内核编译、应用程序的开发和调试规则需要通过宿主机来完成。开发环境对硬件没有特殊的要求,但是为了双方之间建立连接关系,关键的接口(包括串口、以太网口和USB口等)是必不可少的。嵌入式Linux开发环境有几个方案:(1)在WINDOWS下安装Linux虚拟机后,目前大多情况下使用VWare软件;(2)直接安装Linux操作系统。若使用纯LINUX操作系统开发环境。多数使用的开发环境为RedHat9,RedHat9支持中文,并且包含了绝大部分的开发工具,不用担心装了Linux就

4、不能使用WinDows的问题。一般的情况都是用户已经有了WINDOWS操作系统,再安装Linux,Linux会自动安装一个叫作GRUB的启动引导软件,可以选择引导多个操作系统。可现在的微型计算机的CPU速度快,内存容量大,因此,相当多的ARM嵌入式系统的开发人员使用在WINDOWS下安装Linux虚拟机,这样,开发人员就可在WINDOWS和Linux两种操作系统下任意切换使用。给开发人员带来许多方便。基于ARM9和Linux嵌入式系统设计3299.1.2嵌入式Linux开发的一般过程嵌入式Linux融合了嵌入式和Li

5、nux的特点,其开发与一般的应用程序开发相比有着自己的特点,下面简要的介绍一下嵌入式Linux开发的一般过程。了解硬件是首要的一步,这是嵌入式开发的特点决定的。了解硬件指的是了解整个硬件,判断硬件对于当前的应用来说是否合适。嵌入式系统中需要使用到CPU和各种外围设备,由此需要收集相关硬件的资料,包括CPU,芯片手册和各种外围设备的手册以及相关的各种电路图等,并对整体系统有较深入的了解。了解硬件后,下一步就该准备需要使用的Linux工具以及其他工具,这些工具包括针对所用CPU的编译器/汇编器/连接器、相应的库工具、目标

6、文件分析/管理工具、符号查看器等。由于Linux的开放性,针对不同目标平台的Linux工具都可在网上免费得到,这些工具的绝大部分都由GNU提供。所需要的其他工具还包括硬件厂商提供给公司的工具,如编程器、下载工具和查错器等。所有这些工具对以后的开发、调试等都可说是必不可少的。做好以上的准备工作后,就要进入实质性的工作阶段了。首先需要安排内存地址,如SDRAM的内存地址,Flash的内存地址等,这需要与实际应用和硬件状况相结合来考虑,要根据硬件的限制以及实际应用的需要对内存地址进行合理的安排,同时要注意内存地址应具有一定

7、的伸缩性,以便于将来需要改动时所做的变动达到最小。一般来说,嵌入式Linux的内存地址安排体现在连接脚本当中。接着就该进入编写启动代码和机器相关代码阶段了。各种不同目标系统,甚至相同目标系统的启动代码和机器相关代码也是不相同的。启动代码一般需要完成硬件初始化、装载内核、安装根文件系统以及开始内核执行的工作,不同目标平台的启动代码一般可通过参考Linux下已有的启动代码和相关CPU的手册进行编写。启动代码和机器相关代码编程完成,并可以启动系统后,下一步就可以开始驱动程序的编写了。嵌入式Linux系统驱动程序开发与普通L

8、inux开发并没有太大的区别,都需要对相关的硬件作出了解,同时需要遵循Linux编写驱动程序的一些规则,编写完一个驱动程序后,一般还要写一个相应的测试程序以便随时进行测试。Linux下各种不同类型的设备都有相当多的驱动程序源码可以参考,因此实际编写时更多的时间是花在对特定硬件特性的熟悉上。除了以上提到的这些步骤外,进行实际开发时,很多时候还要进

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

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

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