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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

嵌入式应用开发实验指导书 1.docx

1、嵌入式应用开发实验指导书 1实验一 基本接口实验(一)实验设备1. JXARM9-2410教学实验箱2. ADT1000仿真器和ADT IDE集成开发环境 3. 串口、并口连接线实验目的1.掌握ARM的串行口工作原理,编程实现ARM的UART通讯;2.掌握嵌入式系统中断的处理流程和ARM中断编程;3.在ADT环境下如何建立工程,对工程进行正确的设置。添加相应文件(汇编、脚本、.c源文件等)实验内容一实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。 预备知识1. 了解ADT集成开发环境的基本功能 2. 学习串口通讯的基本知识3. 熟悉S3C2410串

2、口有关的寄存器基础知识串行通信接口电路组成1. 可编程的串行接口芯片2. 波特率发生器3. EIA与TTL电平转换器4. 地址译码电路通信协议:1. 异步协议2. 同步协议异步串行通讯异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确

3、定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。异步串行通信中的字符传送格式 开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经

4、过一段随机的时间后,下一个字符开始传送才又发出起始位。每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为110,150,300,600,1200,2400,4800,9600 等。DB-25 DB-9引脚定义DB-25 DB-9引脚说明RS-232C接口通信的两种基本连接方式 信号电平规定 1. EIA电平:双极性信号逻辑电平, 它是一套负逻辑定义2. -3V到-25V之间的电平表示逻辑“1”3. +3V到+25V之间的电平表示逻辑“0”4. TTL电平:计算机内部(S3C2410)使用TTL电平5. 电平转换电路:常用专门的RS-232接口芯片,如SP3232、SP3

5、220等,在TTL电平和EIA电平之间实现相互转换。S3C2410异步串行口控制器1. S3C2410自带三个异步串行口控制器2. 每个控制器有16字节的FIFO(先入先出寄存器)3. 最大波特率115.2K4. 每个UART有7种状态:溢出错误,校验错误,帧错误,暂停态,接收缓冲区准备好,发送缓冲区空,发送移位缓冲器空,这些状态可以由相应的UTRSTATn或UERSTATn寄存器表示,并且与发送接收缓冲区相对应的有错误缓冲区5. 波特率的大小可以通过设置波特率寄存器(UBRDIVn)控制,计算公式如下:使用PCLK时的计算公式如下:UBRDIVn = (int)PCLK/(波特率16)1使用

6、UCLK时的计算公式如下:UBRDIVn = (int)UCLK/(波特率16)1例如:使用PCLK,在40 MHz的情况下,当波特率取115 200 bps时,UBRDIVn = (int)/(16)1 = 20实验步骤1、建立一个串口UART工程。2、编写编写主函数,并保存为main.c文件,将该文件加入到工程中。主函数中包括以下功能:(1)串口初始化 /* 配置系统时钟 */ ChangeClockDivider(1,1); / 1:2:4 ChangeMPllValue(0xa1,0x3,0x1); / FCLK=202.8MHz /* 初始化端口 */ Port_Init(); /*

7、 初始化串口 */ Uart_Init(0,);Uart_Select(0);(2)发送数据unsigned char ch = a;ch = Uart_Getch();(3)接收数据 Uart_SendByte(ch)4、编译、下载运行程序查看程序是否正常。实现从键盘键入字符在屏幕显示功能。试验内容二编写中断处理程序,处理外部中断。基础知识CPU与外设之间传输数据的控制方式1、查询方式查询方式的优点是硬件开销小,使用起来比较简单,但在此方式下,CPU要不断地查询外设的状态,当外设未准备好时,CPU就只能循环等待,不能执行其它程序,这样就浪费了CPU的大量时间,降低了CPU的利用率。 2、中断

8、方式当CPU进行主程序操作时,外设的数据已存入输入端口的数据寄存器;或端口的数据输出寄存器已空,由外设通过接口电路向CPU发出中断请求信号,CPU在满足一定的条件下,暂停执行当前正在执行的主程序,转入执行相应能够进行输入/输出操作的子程序,待输入/输出操作执行完毕之后CPU再返回并继续执行原来被中断的主程序。这样CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率得以大大地提高3、DMA方式 当高速外设要与系统内存或者要在系统内存的不同区域之间,进行大量数据的快速传送时,查询方式和中断方式可能不能满足要求,直接存储器存取(DMA)就是为解决这个问题提出的采用DMA方式,在一定

9、时间段内,由DMA控制器取代CPU,获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送。中断处理示意图向CPU发出中断请求的设备或事件称为中断源,断点处产生中断请求,CPU执行中断流程,响应中断,并执行用户定义的中断服务子程序处理完毕,执行中断返回动作,主程序继续运行。中断响应中断源向CPU发出中断请求,若优先级别最高,CPU在满足一定的条件下,可以中断当前程序的运行,保护好被中断的主程序的断点及现场信息。然后,根据中断源提供的信息,找到中断服务子程序的入口地址,转去执行新的程序段,这就是中断响应。中断服务子程序S3C2410的中断控制器:1、中断源状态寄存器 该寄存器的

10、32位中每一位对应一个中断源。如果相应中断源产生中断请求则其对应位被置为1。该寄存器中的位将自动由中断请求置位,而不管INTMASK寄存器中的掩码位是否有效。另外,该寄存器不受中断控制器的优先级逻辑影响。 在中断服务程序中,该寄存器的相应位必须进行清零处理,清零的方法是将该位写入1。 2、寄存器中断模式3、中断屏蔽寄存器4、优先级寄存器5、中断状态寄存器 6、中断偏移寄存器 实验步骤1、建立一个中断工程。2、编写外部中断处理程序的中断服务函数,并保存为main.c文件,将该文件加入到工程中。3、在中断服务函数中添加代码实现如下功能:每触发一次中断,跑马灯闪烁一次。4、编译、下载运行程序查看程序

11、是否正常。实验报告要求1、实验报告包括实验目的、实验内容、实验步骤、实验结果和实验小结。2、写出在ADT环境下如何建立工程,对工程进行正确的设置步骤。3、写出串口工程主函数源码、中断工程主函数和中断处理函数源码。4、截图显示实验结果并说明。实验二 基本接口实验(二)试验设备1.JXARM9-2410教学实验箱2.ADT1000仿真器和ADT IDE集成开发环境 3.串口、并口连接线实验目的1.了解实时时钟在嵌入式系统中的作用,掌握实时时钟的使用;2.了解触摸屏基本概念与原理,编程实现并掌握对触摸屏的控制;掌握S3C2410寄存器配置方法。3.在ADT环境下如何建立工程,对工程进行正确的设置。添

12、加相应文件(汇编、脚本、.c源文件等)实验内容一编程实现实时时钟功能,每秒显示实时时钟、编程实现实时时钟告警功能。预备知识1、 了解ADT集成开发环境的基本功能2、 学习S3C2410的实时时钟模块的使用基础知识1、实时时钟在嵌入式系统中的作用在一个嵌入式系统中,实时时钟单元可以其提供可靠的时钟,包括时分秒和年月日;即使在系统处于关机状态下它也能够正常工作(通常采用后备电池供电),它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的晶振。S3C2410的实时时钟单元 时钟数据采用BCD编码 能够对闰年的年月日进行自动处理 具有告警功能,当系统处于关机状态时,能产生告警中断; 具有独立的

13、电源输入 提供毫秒级时钟中断,该中断可用于作为嵌入式操作系统的内核时钟2、S3C2410的实时时钟寄存器控制寄存器告警控制寄存器实时时钟计数器告警时间寄存器实时时钟寄存器实验步骤1、 建立RTC工程,添加相应文件并修改RTC的工程设置。2、 创建main.c编写程序,并将该文件加入到工程RTC中。3、 时钟功能测试。4、 时间告警功能测试。实验内容二1. 编程实现触摸屏坐标到LCD坐标的校准2. 编程实现触摸屏坐标采集以及LCD坐标的计算预备知识1. 了解ADT集成开发环境的基本功能2. 学习触摸屏的原理3. 了解触摸屏与显示屏的坐标转换基础知识触摸屏的基本原理触摸屏按其工作原理的不同分为:电

14、阻技术触摸屏电阻触摸屏是与显示器表面非常配合的电阻薄膜屏, 这是一种多层复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(ITO氧化铟,透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层 、内表面也涂有一层ITO涂层 、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘 。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,控制器侦测到这一接触并计算出(X,Y )的位置,再根据模拟鼠标的方式运作。主要特点:1. 高解析度,高速传输反应2. 表面硬度处理,减少擦伤、刮伤及防化学处理3. 具有光面及雾面处理4. 一次校正,稳定性高

15、,永不漂移表面声波技术触摸屏表面声波技术是利用声波在物体的表面进行传输,当有物体触摸到表面时,阻碍声波的传输,换能器侦测到这个变化,反映给计算机,进而进行鼠标的模拟。主要特点:1. 清晰度较高,透光率好2. 高度耐久,抗刮伤性良好3. 一次校正不漂移4. 反应灵敏缺点:易污损,需要经常维护电容技术触摸屏利用人体的电流感应进行工作 。用户触摸屏幕时 ,由于人体电场,用户和触摸屏表面形成以一个耦合电容, 对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流。这个电流分从触摸屏的四角上的电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比, 控制器通过对这四个电流比例的精确计

16、算,得出触摸点的位置。主要特点:1. 对大多数的环境污染物有抗力2. 人体成为线路的一部分,因而漂移现象比较严重3. 带手套不起作用4. 需经常校准5. 不适用于金属机柜6. 当外界有电感和磁感的时候,会使触摸屏失灵JXARM9-2410的触摸屏控制电路触摸屏处理流程1. 触摸屏控制初始化,选择Separate X/Y位置转换模式或者Auto X/Y位置转换模式;2. 设置触摸屏接口到等待中断模式;3. 如果中断产生,相应的转换(Separate X/Y位置转换模式或者Auto X/Y位置转换模式)被激活;4. 在获取X/Y坐标值后,返回到等待中断模式。实验步骤 1. 建立一个touch工程。

17、2. 创建一个touch.c并加入到工程touch中。3. 编写程序分别校正LCD左上角和右下角坐标4. 编写程序采集触摸屏坐标屏将其转换到LCD坐标并通过串口打印出来。5. 编译程序、下载运行并观察输出结果。实验报告要求1、实验报告包括实验目的、实验内容、实验步骤、实验结果和实验小结。2、写出在ADT环境下如何建立工程,对工程进行正确的设置步骤。3、写出RTC工程主函数源码、触摸屏工程主函数函数源码。(以上两个工程会给出完整源码,要求同学们进行修改)RTC工程修改1、告警方式;2、更新间隔时间。 触摸屏工程给出的源码有问题,请同学们修改正确。4、截图显示实验结果并说明。注意触摸屏工程至少截取

18、两个结果图:分别是程序成功运行获取定位点坐标(左上角和右下角)和程序运行中,获得任意点坐标。实验三 BootLoader及Linux内核加载实验实验目的1、 了解BootLoader在嵌入式系统中的作用,熟悉BootLoader基本命令的用法;2、 掌握交叉编译的方法、熟悉交叉编译环境的建立和使用;3、 掌握目标机Linux操作系统的加载与启动;4、 了解Linux的启动过程,掌握目标机和开发机的挂载。实验内容一 学习u-boot的基础知识和常用命令,并按照实验步骤实际操作。预备知识掌握嵌入式系统软件开发基础知识。试验设备1、 硬件:JXARM9-2410嵌入式试验箱,PC机Pentium50

19、0以上,硬盘10G以上。2、 软件:PC机操作系统Redhat Linux9.0,Linux开发环境。基础知识 1、 BootLoader基本概念2、 u-boot基本程序结构3、 Linux文件系统实验步骤 1、 启动uboot将串口线连接到计算机的串口和实验箱的UART0;在计算机中打开dnw串口超级终端工具,如下图所示:然后点击“Serial Port”的“Connect”菜单项,在标题栏将提示如下图所示:将实验箱上电,在dnw中将可以看到如下图所示界面,此界面即为uboot命令行操作界面。后续各个步骤的操作系统引导都需要在uboot界面下进行。5.1Uboot基本命令实验1)分别在u-

20、boot中输入如下命令,并观察实验结果JX2410 # helpJX2410 # flinfoJX2410 # help flinfoJX2410 # bdinfo2)uboot内存操作实验在uboot中输入如下命令,以实现将0x开始的0x100字节数据复制到0x处。JX2410 # md 100JX2410 # md 100JX2410 # cmp.b 100JX2410 #cp.b 100JX2410 # cmp.b 100观察在输入cp.b命令前后的cmp.b命令执行结果。在uboot中输入如下命令,以实现内存修改JX2410 # md.b 10JX2410 # mm JX2410 #

21、mw.b ff 10JX2410 # md.b 10观察每次md.b命令的结果。在uboot中输入如下命令,以实现对0x起始地址1M内存区域的自动测试JX2410 # mtest 3)tftp程序下载和引导操作实验在uboot中输入如下命令,实现如下功能:将主机上的diag.bin程序通过tftp下载到0x地址,并从该地址处运行diag.bin程序。JX2410 # tftp diag.binJX2410 # go 4)uboot环境变量操作实验在uboot中输入如下命令,创建一个环境变量,并运行该环境变量。JX2410 # printenvJX2410 # setenv tent echo

22、this is testJX2410 # printenvJX2410 # saveenvJX2410 # run test在u-boot中输入如下命令,创建一个环境变量,实验C的tftp下载功能。JX2410 # printenvJX2410 # setenv text tftp diag.bin; go ;JX2410 # printenvJX2410 # saveenvJX2410 # run test在uboot中输入如下命令,实现自主引导,uboot启动后自动执行上一步中创建的test环境变量。JX2410 # setenv bootcmd run testJX2410 # save

23、envJX2410 # reset实验内容二1、 了解Linux基础知识以及Linux的开发环境。2、 根据教学实验系统的硬件资源,配置并编译Linux内核。3、 下载并运行Linux内核,检查运行结果。预备知识1、 了解Linux的一些基本操作命令以及Linux系统下用户环境的设置。2、 掌握Linux下的程序编译与交叉编译过程。试验设备1. 硬件:JXARM9-2410嵌入式试验箱,PC机Pentium500以上,硬盘10G以上。2. 软件:PC机操作系统Redhat Linux9.0,Linux开发环境。实验步骤 1、编译Linux配置内核: 启动菜单配置工具后,选择“Load Alte

24、rnate Configuration File”选项,然后确认。该选项载入jx2410的标准配置文件config-jx2410,该文件保存在/home/cvtech/jx2410/linux目录下,请不要修改这个文件。在提示框中键入config-jx2410配置文件名,然后选择“OK”确认,将退回到主菜单。然后按“Esc”键退出,并将提示是否保存,请选择“Yes”保存。建立依赖关系:编译:2、在目标机上启动Linux内核(1)配置主机ip为192.168.1.180。在主机上把zImage和ramdisk.gz复制到/tftpboot目录下。(2)运行环境变量loadlinux。启动目标机的

25、Linux系统。 3、挂接主机和目标机挂载主机/tftpboot/挂接目录 到目标机(JXARM9-2410试验箱)/mnt/nfs目录下,输入如下命令:# mount 192.168.1.180: /tftpboot/挂接目录 /mnt/nfs实验报告要求1、实验报告包括实验目的、实验内容、实验步骤、实验结果和实验小结。2、写出实验内容使用的命令和结果(截图表示)。实验四: 串口应用程序编写实验实验目的1. 了解Linux下串行端口程序设计的基本原理。2. 掌握终端的主要属性及设置方法,熟悉终端I/O函数的使用。3. 掌握JXARM9-2410下的串口应用程序的编程方法。实验内容一1、 编写

26、serial应用程序。2、 编写Makefile文件。3、 下载并调试serial应用程序。预备知识1. C语言的基础知识。2. 程序调试的基础知识和方法。3. Linux的基本操作。4. 掌握Linux下的程序编译与交叉编译过程。 基础知识 Linux操作系统从一开始就对串行口提供了很好的支持,为进行串行通信提供了大量的函数,本试验主要是为掌握在Linux中进行串行通信编程的基本方法。1、 串口编程相关头文件#include /*标准输入输出定义*/#include / *便准函数库定义*/#include /*Linux标准函数定义*/#include #include #include

27、/*文件控制定义*/#include /*PPSIX终端控制定义*/#include /*错误号定义*/#include /*线程库定义*/2、 打开串口在Linux下,串口文件位于/dev下,串口1为/dev/ttyS0,串口2为/dev/ttyS1,打开串口是通过使用标准的文件打开函数操作:Intfd;/*以读/写方式打开串口*/fd=open(”/dev/ttyS0”, 0_RDWR);if(-1=fd) perror(“error“);3、 设置串口最基本的设置串口包括波特率设置,效验位和停止位设置。串口的设置struct termios结构体的成员值。struct termiouns

28、igned short c_iflag; /*输入模式标志*/unsigned short c_oflag; /*输出模式标志/unsigned short c_cflag; /*控制模式标志*/unsigned short c_lflag; /*local mode flags*/unsigned char c_line; /*line discipline*/unsigned char c_ccNCC; /*control characters*/;(1)波特率设置下面是修改波特率的代码:struct termios Opt;tcgetattr(fd,&Opt);cfsetispeed(&

29、Opt,B19200); /*设置为192 000 bps*/cfsetospeed(&Opt,B19200); tcsetattr(fd,TCANOW,&Opt); (2)校验位的设置无效验8位:Option.c_cflag &=PARENB;Option.c_cflag &=CSTOPBOption.c_cflag &=CSIZE;Option.c_cflag |=CS8;奇效验(Odd)7位:Option.c_cflag |=PARENB;Option.c_cflag &=PARODD;Option.c_cflag &=CSTOPBOption.c_cflag &=CSIZE;Option.c_cflag |=CS7;偶效验(Even)7位:Option.c_cflag &=PARENB;Option.c_cflag |=PARODD;Option.c_cflag &=CSTOPBOption.c_cflag &=CSIZE;Option.c_cflag |=CS7;Space效验7位:Option.c_cflag &=PARENB;Option.c_cflag &=CSTOPBOption.c_cflag &=&CSIZE;Option.c_cflag |=CS8;(3)设置停止位1位:Options.

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

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