嵌入式linux软件设计实验报告

嵌入式linux软件设计实验报告

ID:25932928

大小:81.00 KB

页数:13页

时间:2018-11-23

嵌入式linux软件设计实验报告_第1页
嵌入式linux软件设计实验报告_第2页
嵌入式linux软件设计实验报告_第3页
嵌入式linux软件设计实验报告_第4页
嵌入式linux软件设计实验报告_第5页
资源描述:

《嵌入式linux软件设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式Linux软件设计实验报告——排序算法执行速度班级:XX姓名:XX学号:XX同组组员:XX指导老师:XX时间:XX摘要嵌入式操作系统EOS(EmbeddedOperatingSystem)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、调度工作,控制协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严

2、格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。Linux是一套免费使用和自由传播的类Unix操作系统。Linux的理念“自由、开源、团结互助”在该理念的指导下,经过二十多年的发展和完善,Linux的功能越来越完善。Linux的特点是开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构灵活,适用面广。可以适用于不同的CPU,支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等。提供完整的开发工具和SDK,同时提供PC

3、上的开发版本。Linux系统的优势也是显而易见的。层次结构清晰且内核完全开放,具有强大的网络支持功能。Linux具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系统开发中仿真工具的障碍,且Linux具有广泛的硬件支持特性。一、项目名称排序算法在ARMLinux上执行速度的比较二、需求分析实验要求:三种或三种以上排序算法在ARMLinux上执行速度的比较。例如可以随机产生1000个数,在排序过程开始前计下系统时间,结束后再计下系统时间,算出时间差即为算法执行时间。在本实验中,我们采用了四种排序算法,分别为直接插入排序、希尔排

4、序、快速排序、简单选择。三、项目分工小组成员:xxxx任务分工:在本次实验中,我主要负责利用所学的C语言和数据结构的知识,编写排序算法,和调试通过程序。经过两人的协作,在反复试验和纠错改错的努力下,顺利完成实验任务。四、概要设计在ARM机上执行排序算法,需要两个必要条件:硬件的和软件的。一在硬件上,保证虚拟机和超级终端ARM的通信;二是所编写的排序算法是可执行的,能够得出正确结果的。在Linux下编写主程序和函数库,然后编译连接成ARM可运行的二进制文件,最后把该二进制文件下载到超级终端上运行,查看运行结果是否正确。软硬件流程图如图所示:GUN交叉编译ARM

5、9超级终端Ubuntu虚拟机预处理汇编编译链接.C源程序运行预处理器编译器汇编器连接器可执行文件GUN交叉编译工具链:Arm-linux-gcc编译C程序(.c)或汇编程序(.s)使用交叉编译工具编译一个程序的arm可执行程序:#arm-linux-gcc-Wall-o(生成arm程序的名字)(源程序名).c-c:只编译不链接,-o:编译且链接,-Wall:显示出错信息读elf文件的文件头#arm-linux-readelf–h生成arm程序的名字可得Machine:ARM生成的文件为arm是超级终端上可执行的文件同样的若用gcc–wall–o(生成的程序名

6、)(源程序).c读elf文件的文件头,可得Machine:80X86生成的的文件为二进制文件,可以在PC机上执行。gcc的使用格式如下:$gcc[options][filenames]其中filenames为所要编译的程序源文件。当使用gcc时,gcc会完成预处理、编译、汇编和连接。前三步分别生成目标文件,连接时,把生成的目标文件链接成可执行文件。gcc可以针对支持不同的源程序文件进行不同处理,文件格式以文件的后缀来识别。五、详细设计排序算法:计算机程序设计的一种重要操作,作用是将一些数据元素或者记录,用不同的算法按照一定的顺利(升序或逆序)排列。在这次实验

7、中:在本实验中,我们采用了四种排序算法,分别为直接插入排序、希尔排序、快速排序、简单选择。下面先给出程序的设计思路和流程图,然后具体讲述每种算法的原理和实现的时间复杂度及具体的实现算法。5.1程序流程图Main函数输入随机数的个数随机数生成随机排序正序排序逆序排序直接插入希尔排序快速排序简单选择结果输出特别指出:这里的正序是指把随机排序已经排好的序列再次排序;逆序是指把生成的随机数逆向存储,再进行升序排序。5.2实现算法5.2.1随机数的生成思路:若直接用rand()来生成随机数,俺每次生成的随机数都一样,所以要用srand(time(0))来初始化。RAN

8、D_MAX是VC中stdlib.h中宏定义的一个字符

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

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

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