ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:23.95KB ,
资源ID:3467824      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3467824.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式暑期实习报告刷卡.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式暑期实习报告刷卡.docx

1、嵌入式暑期实习报告刷卡嵌入式暑期实习报告刷卡 篇一:嵌入式实习报告 嵌入式系统实习报告 学 院: 专 业: 班 级: 学 号: 姓 名: 指导老师: 计算机与信息学院电子信息工程 20091111 2009111123 王金民 严朝军 彭文标 嵌入式系统开发与应用概述 在今日,嵌入式ARM 技术已经成为了一门比较热门的学科,无论是在电子类的什么领域,你都可以看到嵌入式ARM 的影子。如果你还停留在单片机级别的学习,那么实际上你已经落下时代脚步了,ARM 嵌入式技术正以几何的倍数高速发展,它几乎渗透到了几乎你所想到的领域。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业具体应用等突

2、出特征, 目前已经广泛地应用于军事国防、消费电子、信息家电、网络通信、工业控制等各个领域。嵌入式的广泛应用可以说是无所不在。 linux系统 linux系统主要是由用户空间和内核空间再加上外部的硬件平台构成,用户空间就是用户应用程序的运行空间,主要包括两方面的内容:用户应用程序和GNU C Library。而内核空间有三方面的内容,一是系统调用接口,它作为用户空间和内核空间相互转移的一种方式,二是内核空间,三是体系相关内核代码,在linux内核代码中,可以看到arch目录下有许多子目录,其中每一个子目录代表一种硬件平台。 而为什么要把linux系统划分为用户空间和内核空间呢?主要是一旦用户空间

3、和内核空间没有分开,那用户将拥有很大的权限去操控内核或用户应用程序的崩溃将会造成系统的崩溃,而linux系统是利用cpu的模式分级来分别运行用户空间和内核空间,这样就可以使操作系统得到充分的保护。而现代的cpu通常实现了不同的工作模式,以ARM处理器为例实现了7种运行模式,分别为: 1)用户模式:ARM微处理器正常程序执行模式 2)系统模式:运行具有特权的操作系统任务 3)中断模式:用于通用的中断处理 4)外部中断模式:用于高速数据传输或通道处理 5)数据访问终止模式:当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护 6)管理模式:操作系统使用的保护模式 7)未定义指令中止模式:当未

4、定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真 ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变,除用户模式外,其他模式都是非用户模式或特权模式,除用户模式和系统模式外,其他模式都是异常模式,常用于处理异常或中断,以及需要访问受保护的系统资源等情况。 同时用户空间和内核空间是程序执行的两种不同状态,通过系统调用和硬件中断去实现用户空间到内核空间的转移,系统调用是主动的,硬件中断是被动的,比如键盘按下或者串口中断。 接下来说说linux的内核架构,它主要是包含7大组成部分 1.内存管理 内存管理的主要作用是使多个进程能安全高效的共享内存区域,通常使用以下两

5、个手段: 内存映射:将物理内存映射到虚拟内存中,变有限为无限 有效管理:使用各种内存管理算法(如伙伴算法),减少内存浪费 2.虚拟文件系统 vfs隐藏了各种文件系统的具体细节,为文件操作提供统一的接口3.网络协议栈 它为linux提供了完善丰富的网络协议实现 4.进程管理 进程管理的重点是创建进程、停止进程,并控制它们之间的通信。进程管理还包括控制活动进程如何共享cpu,即进程调度。 5.设备驱动 设备驱动也是内核的一部分,它不同于内核的其他部件,并且独立于内核的其他部件,同时它是与设备交互的唯一模块,通常由第三方厂商开发,一个驱动程序不与其他驱动程序交互;内核与驱动程序之间也仅通过一个严格定

6、义的接口交互。 6.系统调用接口 SCI层为用户空间提供了一套标准的系统调用函数来访问Linux内核,搭起了用户空间到内核空间的桥梁。 7.体系相关部分 Linux内核源代码采用树形结构进行组织,非常合理地把功能相关的文件都放在同一个子目录下,使得程序更具可读性。 下面介绍下这些目录的组成 arch目录 arch是architecture的缩写。内核所支持的每种CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,内存管理,系统调用等。其下子目录有 | -x86 /*英特尔cpu及与之相兼容体系结构的子目录*/ |

7、 |-boot /*引导程序*/ | | |-compressed /*内核解压缩*/ | |-tools /*生成压缩内核映像的程序*/ | |-kernel /*相关内核特性实现方式,如信号处理、时钟处理*/ | |-lib /*硬件相关工具函数*/ block目录 部分块设备驱动程序 crypto目录 加密、压缩、CRC校验算法 documentation 内核的文档 drivers目录(重点) 设备驱动程序 fs目录 存放各种文件系统的实现代码。每个子目录对应一种文件系统的实现,公 用的源程序用于实现虚拟文件系统vfs。 | |-devpts /* /dev/pts虚拟文件系统*/ |

8、 |-ext2 /*第二扩展文件系统*/ | |-fat /*MS的fat32文件系统*/ | |-isofs /*ISO9660光盘cd-rom上的文件系统*/ include目录 内核所需要的头文件。与平台无关的头文件在include/linux子目录下,与平台相关的头文件则放在相应的子目录中。 init目录 内核初始化代码 ipc目录进程间通信的实现代码 kernel目录 Linux大多数关键的核心功能都是在这个目录实现。(调度程序,进程控 制,模块化) lib目录 库文件代码 mm目录 mm目录中的文件用于实现内存管理中与体系结构无关的部分(与体系结 构相关的部分在哪里实现?arch)

9、 net目录 网络协议的实现代码 | |-802 /*802无线通讯协议核心支持代码*/ | |-appletalk /*与苹果系统连网的协议*/ | |-ax25 /*AX25无线INTERNET协议*/ | |-bridge /*桥接设备*/ | |-ipv4 /*IP协议族V4版32位寻址模式*/ | |-ipv6 /*IP协议族V6版*/ samples 一些内核编程的范例 scripts 配置内核的脚security SElinux的模块 sound 音频设备的驱动程序 usr cpio命令实现 virt 内核虚拟机 Linux内核的配置与编译 Linux内核具有可定制的优点,配置内

10、核的目的是裁剪掉不必要的文件和目录,获得一个最简单的又能满足用户开发的操作系统,以解除嵌入式开发过程中所遇到的存储空间有限的困扰。内核配置与编译的具体步骤如下: 1.清除临时文件、中间文件和配置文件 1)make clean Remove most generated files but keep the config即清除大部分生成的文件但保留配置文件 2)make mrproper Remove all generated files + config files即清除所有生成的文件还有配置文件 3)make distclean Mrproper + remove editor backu

11、p and patch files即实现 make mrproper命令的同时删除编辑器备份文件和补丁文件2.确定目标系统的软硬件配置情况,比如cpu类型,网卡型号,所需支持的网络协议等。 3.使用如下命令之一配置内核: 1) make config:基于文本模式的交互式配置 2)make menuconfig:基于文本模式的菜单型配置 3)make oldconfig:使用已有的配置文件(.config),但是会询问新增的配置选项 4)make xconfig:图形化的配置(需安装图形化系统) Make menuconfig是最为常用的内核配置方式 如果一个.config文件已经存在,它将使

12、用该文件设置那些默认的值 4.编译内核 编译内核通常也需要几个步骤,一是清除以前编译通过的残留文件;二是编译内核image文件和可加载模块;三是安装模块。 下面是编译内核的具体步骤。 make dep 命令用在内核或之前,用于建立源文件之间的依赖关系,在执行内核配置命令之后使用,不过在内核中已经取消该命令,该功能由内核配置命令实现。 make clean 命令用于删除前面留下来的中间文件,该命令不会删除.config等配置文件。这个步骤是可选的,它的目的是清除原先编译过而残留的.com和.o(obj文件)。如果是刚下载的源代码,那么这一步就可以省略了,但是如果已经编译多次内核,这一步是必要的,

13、不然后面可能会出现很多莫名其妙的小问题。 make zImage命令用于编译生成压缩形式的内核镜像,当编译成功后,就会在archarmboot目录下生成zImage文件,大小一般为几百KB。对于嵌入式Linux内核而言,直接将生成的zImage下载到嵌入式目标板的flash中即可。对于较大的内核,如果用make zImage编译,系统会提示使用make bzImage命令来编译,bzImage是big zImage的缩写,可用于生成较大的压缩内核,比如桌面Linux系统内核。 在配置菜单的过程中,有些选项被选择为模块的,即选项前为M,并且在回答Enable loadable module su

14、pport时选了Yes的,则接下来就还要用命令make modules 来编译这些可加载模块,并用 make modules_install将make modules生成的模块文件复制到相应目录,桌面Linux内核一般是在/lib/modules目录下。 制作init ramdisk mkinitrd initrd-$version $version 例: mkinitrd $version 可以通过查询/lib/modules下的目录得到 Ramdisk是将一部分固定大小的内存当做分区来使用。它并非一个实际的文件系统,二是一种将实际的文件系统装入内存的机制,并且可以作为根文件系统。将一些经常

15、被访问而又不会更改的文件(如只读的根文件系统)通过ramdisk放在内存中,可以明显的提高系统的性能。在linux的启动阶段,initrd提供了一套机制,可以将内核映像和根文件系统一起载入内存。 cp arch/x86/boot/bzImage /boot/vmlinuz-$version篇二:嵌入式实习报告 一、嵌入式系统开发与应用概述 在今日,嵌入式ARM 技术已经成为了一门比较热门的学科,无论是在电子类的什么领域,你都可以看到嵌入式ARM 的影子。如果你还停留在单片机级别的学习,那么实际上你已经落下时代脚步了,ARM 嵌入式技术正以几何的倍数高速发展,它几乎渗透到了几乎你所想到的领域。本

16、章节就是将你领入ARM 的学习大门,开始嵌入式开发之旅。以嵌入式计算机为技术核心的嵌入式系统是继网络技术之后,又一个IT领域新的技术发展方向。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业具体应用等突出特征, 目前已经广泛地应用于军事国防、消费电子、信息家电、网络通信、工业控制等各个领域。嵌入式的广泛应用可以说是无所不在。 嵌入式微处理器技术的基础是通用计算机技术。现在许多嵌入式处理器也是从早期的PC 机的应用发展演化过来的,如早期PC 诸如TRS-80、AppleII 和所用的Z80 和6502 处理器,至今仍为低 端的嵌入式应用。在应用中,嵌入式微处理器具有体积小、重量轻、

17、成本低、可靠性高的优点。嵌入式处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。在早期实际的嵌入式应用中,芯片选择时往往以某一种微处理器内核为核心,在芯片内部集成必要的 ROM/EPROM/Flash/EEPROM、SRAM、接口总线及总线控制逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A 等各种必要的功能和外设。二、实习设备 硬件:Embest EduKit-IV实验平台、ULINK2仿真器套件、PC机 软件:Vision IDE for ARM集成开发环境、Windows 98/2000/

18、NT/XP 三、实习目的 1.初步掌握液晶屏的使用及其电路设计方法;掌握S3C2410X处理器的LCD控制器的使用;掌握通过任务调用的方法把液晶显示函数添加到uC/OS-II中;通过实验掌握液晶显示文本及图形的方法与程序设计。 2.了解S3C2410X处理器UART相关控制寄存器的使用; 熟悉ARM处理器系统硬件电路中UART接口的设计方法:掌握ARM处理器串行通信的软件编程方法。 3.掌握有关音频处理的基础知识;通过实验了解IIS音频接口的工作原理;通过实验掌握对处理器S3C2410X中IIS模块电路的控制方法;通过实验掌握对常用IIS接口音频芯片的控制方法。 4.了解C/OS-II移植条件

19、和内核基本结构;掌握将C/OS-II内核移植到ARM9处理器上的方法和步骤。 四、实习要求 通过对C/OS-II移植实验、C/OS-II LCD显示实验、串口通信实验、IIS音频实验、液晶显示实验的学习,并将各部分内容合并,最终得出实习结果,实习要求在键盘上输入学号,在液晶显示屏上显示相应的学生信息。学生信息包括显示每个人的照片和姓名系别等,并用键控设置学生输出的顺序,输入学号就显示那个学生的信息,然后过一段时间就顺序循环播放。 移植C/OS-II内核到ARM处理器S3C2410,在IDE中观察其运行状况编写S3C2410X处理器的串口通信程序;监视串行口UART1动作;将从UART1接收到的

20、字符串回送显示。将从UART1接收到的字符串回送显示。 通过使用Embest EduKit-IV实验板的彩色液晶屏(800*480)进行电路设计,掌握液晶屏作为人机接口界面的设计方法,并编写任务函数在uC/OS-II系统中实现位图显示。在uC/OS-II中建立五个任务Tast1和Tast2,其中Tast1顺序熄灭四个LED,延迟一会在顺序点亮四个LED。Tast2在LCD屏幕上循环显示三幅图片,并打印一些文字信息和背景音乐。过使用Embest EduKit-III实验板的256 色彩色液晶屏(320x240)进行电路设计,掌握液晶屏作为人机接口界面的设计方法,并编写程序实现:画出多个矩形框;显

21、示ASCII字符;显示汉字字符;显示彩色位图。 五、实习步骤 1. 准备实验环境 使用ULINK2仿真器连接Embest EduKit-IV实验平台的主板JTAG接口;使用Embest EduKit-IV实验平台附带的交叉串口线,连接实验平台主板上的COM2和PC机的串口(一般PC只有一个串口,如果有多个请自行选择,笔记本没有串口设备的可购买USB转串口适配器扩充);使用Embest EduKit-IV实验平台附带的电源适配器,连接实验平台主板上的电源接口。 2. 串口接收设置 在PC机上运行windows自带的超级终端串口通信程序,或者使用实验平台附带光盘内设置好了的超级终端,设置超级终端:

22、波特率115200、1位停止位、无校验位、无硬件流控制,或者使用其它串口通信程序。(注:超级终端串口的选择根据用户的PC串口硬件不同,请自行选择,如果PC机只有一个串口,一般是COM1) 3. 打开实验例程 1)打开实验程序 2)运行Vision IDE for ARM软件 3)默认打开的工程在源码编辑窗口会显示实验例程的说明文件,详细阅读并理解实验内容。 4)工程提供了两种运行方式:一是下载到SDRAM中调试运行,二是固化到Nor Flash中运行。用户可以在工具栏Select Target下拉框中选择在RAM中调试运行还是固化Flash中运行。下面实验将介绍下载到SDRAM中调试运行,所以

23、我们在Select Target下拉框中选择UART_Test IN RAM。 5)接下来开始编译链接工程,在菜单栏“Projiet”选择“Build target”或者“Rebuild all target files”编译整个工程。6编译完成后,在输出窗口可以看到编译提示信息,比如 “.SDRAMUART_” - 0 Error, 1 Warning.”,如果显示“0 Error”即表示编译成功。 7)拨动实验平台电源开关,给实验平台上电,单击菜单栏 Debug-Start/Stop Debug Session项将编译出来的映像文件下载到SDRAM中,或者单击工具栏“”按钮来下载。 8)下

24、载完成后,单击菜单栏Debug-Run项运行程序,或者单击工具栏“”按钮来全速运行程序。用户也可以使用进行单步调试程序。 9)全速运行后,用户可以在超级终端看到程序运行的信息。 10)用户可以Stop程序运行,使用Vision IDE for ARM的一些调试窗口跟踪查看程序运行的信息。 注:如果在第4)步用户选择在Flash中运行,则编译链接成功后,单击菜单栏 Flash-Download项将程序固化到NorFlash中,从实验平台的主板拔出JTAG线,给实验平台重新上电,程序将自动运行。部分程序图: 串口通信实验: IIS音频实验: 六、实习体会 在嵌入式系统中,除了课本上的基础知识外,还

25、学会了软件编程的基本思路,掌握了液晶屏的使用及其电路设计方法;掌握有关音频处理的基础知识;掌握液晶显示文本及图形的方法与程序设计。篇三:嵌入式实习 报告 嵌 入 式 实 指导老师:刘庆华 组长:组员:* * 时间: 习 报 告一、实习目的 为了提升物联网专业同学的嵌入式水平以及针对KL25的入门认识。 二、实习基础 软件 本次实习软件方面是基于C语言并在飞思卡尔专用编辑器Code Warrior的环境下烧写程序的。 连接方法是USBDM模式 使用KL25Z128M4型的芯片 Build后将生成的elf文件烧写入KL25中 这里是具体对烧写模式的具体编辑方法,我们使用的是P&E的模式惊醒烧写,通

26、过KL25Z的OPENSDA端口烧入 对于软件方面,同学们需要一定的C语言基础,单片机控制基础,还需要提前预习一些嵌入式的知识。 硬件 本次实习硬件我们不采用纯杜邦线连接的方法进行主板与各模块的链接,因为嵌入式都是要拿出成型的小板子的,而且杜邦线连接不论是制作的人还是后来使用的人看起来非常的乱,而且每次用都要重新接线。而使用焊锡走线的方法,将各个排针与槽口连接起来,并且将复杂的走线交给制作的人,而使用者只需在正面进行简单的插拔,便可以轻松使用该设计作品。 除主板以外,硬件方面我们使用了洞洞板,焊锡,飞线,电位器,按键模块,LCD1602模块 最终焊接成果如下图 飞线略短,所以好多端口都是用多条线焊起来接的,因此看起来复杂了点 三、实习内容 实验一、LED三色灯的显示 实验二、LCD显示 实验三、按键中断显示 实验四、MMA8451重力加速度传感器实验 四、整体架构 我们把前三个实验整合到了一个代码里面去,即通过按键中断来实现LED闪烁、LCD显示、以及常规按键中断相应。 而最后一个实验单独拿出来将感应到的数据通过LCD显示出来。 五、组员分工 六、实现原理 按键中断通过扫描函数 配实现。 获取按键中断后,进行switch case来匹 而我们将LED和LCD功能写在了某一个case中

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1