logo资料库

嵌入式开发实习报告.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
重 实 庆 交 通 大 习 报 学 告 班 级: 通信一班 实习名称: 基于 C 语言的嵌入式系统开发 实习地点: 信息学院机房 指导教师: 许登元 学 姓 号: 名: 08950113 刘瑞雪 实习时间: 2011 年 8 月 29 日 至 2011 年 9 月 12 日 1
目 录 一、实习概述……………………………………………3 二、实习项目…………………………………………..4 三、实习总结……………………………………………4 四、实习体会……………………………………………5 五、实习建议……………………………………………7
一实习概述 实习的第一天,与达内培训的老师和相关管理人员见面并且对达 内培训机构做了简单的了解。相关的管理人员接下来说明培训期间的 纪律,要求以及考勤情况。要求我们在培训期间要以一个工作人员的 标准来要求自己,在衣着上不能像以前一样太随便,学习态度上要严 肃认真。老师给我们说明培训期间学习的内容和实习所要完成的任务 是基于 C 语言的嵌入式系统开发。主要是在 linux 操作系统下,通过 在终端编写程序烧制在开发板来实现的 LED 灯的设计。 在以后的学习过程中,老师首先给我们介绍了嵌入式开发板以及 各部件的功能,作用。然后从最基本的 linux 操作系统的 C 语言命令 的使用和操作方法讲起。以前学习 C 语言这门课程是都是在 windows 操作系统下使用和练习。这一次却完全接触到了新的使用方法。还真 是受益匪浅。比如,“:”就代表键入字符的意思。还有其他命令的使 用也是以前从来没有接触到的。这些基本的内容学习了几天之后,就 开始讲解难度大一些的模块设计。比如,定时器的信号设计包括延时 定时器,间隔定时器;定时器的计时方法设计;怎样使用信号交换数 据,信号的发送,时传递数据;管道的设计,父子进程如何通信,如 何创建匿名管道,管道的读写数据等;linux 操作系统下怎样调用函 数。 到了最后的几天就进行整个系统的设计了。每一个模块做起来似 乎不难,但是要把这些模块综合到一起,完成对子进程的调用,以及 管道间数据的传输还真不是一件容易的事情。系统主要分为两个部分: 3
用户空间和内核空间。在用户空间中有三个主要模块,其中 LED 灯应 用程序模块,用于完成创建子程序,用户接口的功能;LED 应用程序 子进程模块,该模块用于完成接收数据,读取控制以实现定时器对 LED 的控制;DEV 设备文件用于对 LED 灯输入输出的控制。此外,LED 应用程序和 LED 应用程序子进程之间通过管道进行数据传输,完成数 据的接收和读取。在内核空间中,主要完成系统函数的调用以及在 Linux 系统中实现对 LED 灯的控制。 最后的一步就是把程序烧到板子上。烧程序的过程也是有讲究的。 要特别注意步骤的正确性,否则不但得不到正确的结果,甚至对开发 板也会造成损害。要注意插电源的顺序,观察指示灯是否指示正确, 在流水灯的程序设计方面存在哪些问题与不足。不过到最后还是达到 了设计的要求。 二实习项目 基于 C 语言的嵌入式系统开发 三实习总结 通过本次试验使我加深了对嵌入式开发的板的理解能力和实际动 手能力,在对 LED 灯代码进行编写的过程中,要有认证思考刻苦钻研 的精神。 总结如下: 1.了解嵌入式开发全过程。 2. 熟悉主流 ARM 体系结构及汇编编程。 3. 掌握嵌入式开发环境安装、编译、运行全过程。 4
4. 掌握嵌入式应用程序开发,熟悉多进程编程。 5. 掌握嵌入式驱动程序开发,熟悉中断驱动编程。 6.培养嵌入式软件系统独立开发能力及解决问题能力。 同时也遇到了很多问题: 1. 在用 C 语言编写的过程中,符号的使用有时一不小心就会出现 错误。 2. 在程序写好后,烧程序时,要注意步骤的正确性,才能得到理 想的结果。 3. C 语言编写的控制程序是在后台运行,所以调用是否正确就很 重要了。 4 按键点亮 lED 驱动开发中遇到了很多困难,其中比较重要的就 是主设备号是否一致。在此之前是先完成了按键的驱动,然后 完成了 LED 的驱动,这两个驱动是互相独立完成的,在这里合 成了一个驱动。 四实习体会 在这次实习过程中,我体会最深刻的是作为一名工作人员以后在 工作岗位不能再带有学生时期的不良习惯,要穿着整齐,态度端正, 与上级同事搞好关系。要以良好的精神状态面对每天的工作。 学习嵌入式系统的体会: 一要从基础开始。 二选择一个适合自己的 Linux 发行版本。 三一定要养成在命令行下工作的习惯。 5
四勤于实践: 要增加自己 Linux 的技能,只有通过实践来实现。 另外,我对于这次嵌入式系统设计的理解如下: 对于嵌入式系统的开发,没有足够的资源在本机(即开发板上系统) 运行开发工具和调试工具。通常的嵌入式系统的软件开发采用一种交 叉编译调试的方式。交叉编译调试环境建立在宿主机(即一台 PC 机) 上,对应的开发板叫做目标板。【目标板】运行 Linux 的 PC【宿主机】 开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进 制代码,(这种可执行代码并不能在宿主机上执行,而只能在目标板 上执行。)然后把可执行文件下载到目标机上运行。调试时的方法很 多,可以使用串口,以太网口等,具体使用哪种调试方法可以根据目 标机处理器所提供的支持作出选择。宿主机和目标板的处理器一般都 不相同,宿主机为 Intel 处理器,而目标板如 HHARM2410 为 SAMSUNG S3C2410,GNU 编译器提供这样的功能,在编译编译器时可以选择开 发所需的宿主机和目标机从而建立开发环境。所以在进行嵌入式开发 前第一步的工作就是要安装一台装有指定操作系统的 PC 机作宿主开 发机,对于嵌入式 Linux,宿主机上的操作系统一般要求为 Redhat Linux,在此,我们使用 Redhat 9.0 作为本套开发系统的宿主机 PC 操作系统。在宿主机上我们要建立交叉编译调试的开发环境。 EasyARM2103 开发板提供了 4 个绿色发光二极管用作显示,电路 原理图如图如下图所示。显示电路采用了灌电流的方式来驱动发光二 极管,由于微控制器 LPC2103 I/O 口提供的灌电流大于其拉电流,采 用此驱动方式可以保证二极管发光的亮度。 6
嵌入式系统应用开发不同于 PC 机,其开发过程同时涉及软硬件以 及上层应用开发综合考虑;而 PC 机应用开发是建立在已经定制好的 硬件和操作系统平台上,开发者只需调用系统提供的接口和服务完成 相应的功能。 五实习建议 由于嵌入式系统属于综合性很强的交叉学科,《嵌入式系统》课程 与一些专业基础课之间有很强的先后修关系。在开设这门课之前必须 具备的专业基础知识有:电路分析基础、模拟电子技术、数字电路与 逻辑设计、C 语言编程、数据结构与算法、微机原理与接口、单片机 原理、ARM、通信原理与计算机网络等。按照目前的教学安排,《嵌入 式系统》课程被排在三年级第一学期。由于学生对这方面的认识和目 前市场对嵌入式人才的需求不是很了解,因此学习《嵌入式系统》的 学生人数不多,学习积极性不够强,使教学效果大打折扣。建议学院 能适当调整教学安排,以收到更好的教学效果。 嵌入式系统知识的掌握必须有良好专业基础知识,建议学院对刚 进校的新生在进行专业指导教育时,能将嵌入式系统的发展情况及人 才需求情况进行介绍,激发学生对本专业的学习兴趣和热情。 有组织系统地指导学生参加学科竞赛,并以此带动广大学生形成 注重创新能力、协作精神和理论联系实际的学风。 此外,建议学院成立一个嵌入式系统研究室,将学院中从事嵌入 式系统研发教学的教师和学生组织起来,便于教师互相合作交流,并 可开展系列嵌入式系统的科研教学工作。 7
分享到:
收藏