当前位置:文档之家› 嵌入式实验报告

嵌入式实验报告

嵌入式实验报告
嵌入式实验报告

《嵌入式系统》实验报告

姓名:

学号:

班级:

指导老师:

专业:

实验一熟悉实验开发环境

一、实验目的

熟悉ADS1.2 开发环境,学会ARM 仿真器的使用。使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。

二、实验内容

本次实验使用ADS 集成开发环境。新建一个简单的工程文件,并编译这个工程文件。学习ARM 仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。

三、预备知识

C 语言的基础知识、程序调试的基础知识和方法。

四、实验设备及工具(包括软件调试工具)

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以

上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发

环境、仿真器驱动程序、超级终端通讯程序。

五、实验步骤

1)建立工程

(1)运行ADS1.2 集成开发环境(CodeWarrior for ARM Developer Suite)。选择File|New…菜单,在对话框中选择Project,如图1B-1 所示,新建一个工程文件。图中示例的工程名为Exp6.mcp。点set…按钮可为该工程选择路径如图1B-2 所示,选中CreatFolder 选项后将以图1B-1 中的ProjectName 或图1B-2 中的文件名为名创建目录,这样可以将所有与该工程相关的文件放到该工程目录下,便于管理工程。

设置完成后,可以将该新建的空工程文件作为模板保存以便以后使用。将工程文件名改为44B0 ARM Executable.mcp。然后在ADS1.2 软件安装目录下的Stationery 目录下新建名为44B0 ARM Executable Image 的模板目录,再将刚设置完的44B0 ARM Executable.mcp工程模板文件存放到该目录下即可。这样以后新建工程的时候就能看到以44B0 ARM Executable Image 为名字的模板了。新建工程后,可以执行菜单Project | Add Files 把和工程相关的所有文件包括init 和startup 子目录加入到工程中。ADS1.2 不能自动按文件类别对这些文件进行分类,需要的话用户可以执行菜单Project | Create Group 创建文件组,然后分别将不同类的文件加入到不同的组,以方便管理。如图1B-12 所示。更

为简单的办法是,在新建工程时ADS 创建了和工程同名的目录,在该目录下按类别创建子目录并存放工程文件。

选中所有目录拖动到任务栏上的ADS 任务条上,不要松开鼠标当ADS 窗口恢复后再拖动到工程文件窗口,松开鼠标。这样ADS 将以子目录名建立同名文件组并以此对文件分类。

双击Main.c 打开该文件,可以看到Main()函数的内容,可以发现ADS 的文本编辑器

已经有了很大的改善,文本按语法分颜色显示,读者可以根据喜好在Edit 菜单下的Preferences窗口中进行设置。并可以很好的支持中文注释。

2)进行程序的在线仿真、调试

(1)回到工程窗口选中Debug 版本,执行菜单Project | Make 对工程进行编译连接。在出现的错误/警告窗口中选择某错误/警告信息,ADS 会自动打开相应源文件并用箭头指向出错的文本行。如果某个源文件被修改,重新编译时ADS 会自动同步各文件

的日期信息。

(2)在ADS 中执行菜单Project | Debug 启动ADS1.2 的调试工具AXD。

(5)等待程序装载完毕以后,通过Execute | Go 菜单以及Execute | Stop(或者工具栏中的相应按钮)运行或暂停程序。程序暂停后在窗口中将显示出程序暂停的位置。

(6)通过Execute | Step 菜单(或者工具栏中的相应按钮)可以单步运行程序。也可以使用Step In、Step Out 菜单命令进入或者跳出函数的调用。Run To Cursor 命令运行到光标位置。

(7)程序停止后可以通过Processor Views | Sources 菜单查看源文件,并可在适当位置

按F9 设置端点。

(8)使用在Processor View 菜单下的Registers、Variables 和Memory 命令可以查看工作寄存器或者内存变量。读者可以逐一地尝试,为以后调试程序打下基础。

实验一C:超级终端设置及BIOS 功能使用

1、运行Windows 系统下的超级终端(HyperTerminal)应用程序,新建一个通信终端。如果要求输入区号、电话号码等信息请随意输入,出现如图1C-1 所示对话框时,为所建超级终端取名为arm,可以为其选一个图标。单击“确定”按钮。

3、完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置

保存为一个特定超级终端到桌面上,以备后用。用串口线将PC 机串口和平台UART0 正确连接后,就可以在超级终端上看到程序输出的信息了,比如本实验的“Hello world!”。

4、启动开发板,按住开发板上键盘的任意按键,使开发板进入BIOS 设置状态。

5、该画面上提示了该BIOS 的版本等信息。Shell Menu 是平台的检测菜单,每个条目的最左边字母是该功能的快捷键,按PC 机键盘相应键将执行对应功能。注意操作时保持超级终端处于激活状态,并且PC 机键盘必须为小写。

7、按PC 键盘的u 键(要使超级终端处于活动状态),这时超级终端上会显示所示的信息

8、这时,在“我的电脑”中可以发现多了一个“可移动磁盘”,这就是开发板的海量存储器16M 非线性Flash。开发板就像一个U 盘,可以通过“我的电脑”进行操作。把上两节内容中生成的system.bin 文件通过USB 下载到嵌入式开发板中,复位系统,运行并检查输出结果。

实验二 ARM串口实验

一、实验目的

1.掌握ARM 的串行口工作原理。

2.学习编程实现ARM 的UART 通讯。

3.掌握CPU 利用串口通讯的方法。

二、实验内容

学习串行通讯原理,了解串行通讯控制器,阅读ARM 芯片文档,掌握ARM 的UART相关寄存器的功能,熟悉ARM 系统硬件的UART 相关接口。编程实现ARM 和计算机实现串行通讯:ARM 监视串行口,将接收到的字符再发送给串口(计算机与开发板是通过超级终端通讯的),即按PC 键盘通过超级终端发送数据,开发板将接收到的数据再返送给PC,在超级终端上显示。

三、预备知识

1、用ARM SDT 2.5 或ADS1.2 集成开发环境,编写和调试程序的基本过程。

2、ARM 应用程序的框架结构。

3、了解串行总线

四、实验设备及工具

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。

五、实验原理及说明

1.异步串行I/O

异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。

给出异步串行通信中一个字符的传送格式。开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5 位、6 位、7 位或8 位,一般采用ASCII 编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为50,95,110,150,300,600,1200,2400,4800,9600 等。

接收方按约定的格式接收数据,并进行检查,可以查出以下三种错误:

1)奇偶错:在约定奇偶检查的情况下,接收到的字符奇偶状态和约定不符。

2)帧格式错:一个字符从起始位到停止位的总位数不对。

3)溢出错:若先接收的字符尚未被微机读取,后面的字符又传送过来,则产生溢出错。

每一种错误都会给出相应的出错信息,提示用户处理。

2.串行接口的物理层标准

六、实验步骤

1.新建工程,将“Exp2 ARM 串口实验”中的文件添加到工程中,这些是启动时所需要的文件。

2.定义与UART 有关的各个寄存器地址和一些特殊的位命令。

3.编写串口驱动函数(MyUart.c)

4.在主函数中实现将从串口0 接收到的数据发送到串口0(Main.c):

实验三 ARM的A/D转换实验

一、实验目的

1.熟悉ARM 本身自带的八路十位A/D 控制器及相应寄存器。

2.编程实现ARM 系统的A/D 功能。

3.掌握带有A/D 的CPU 编程实现A/D 功能的主要方法。

二、实验内容

学习A/D 接口原理,了解实现A/D 系统对于系统的软件和硬件要求。阅读ARM 芯片文档,掌握ARM 的A/D 相关寄存器的功能,熟悉ARM 系统硬件的A/D 相关接口。利用外部模拟信号编程实现ARM 循环采集全部前4 路通道,并且在超级终端上显示。

三、预备知识

1、用ARM SDT 2.5 或ADS1.2 集成开发环境,编写和调试程序的基本过程。

2、ARM 应用程序的框架结构。

3、能够自己完成在LCD 上显示指定参量。

四、实验设备及工具

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上、模拟电压信号源。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序

1.A/D 转换器

A/D 转换器是模拟信号源和CPU 之间联系的接口,它的任务是将连续变化的模拟信号

转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。在工业控制和数据

采集及许多其他领域中,A/D 转换是不可缺少的。

A/D 转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压-频率型,

主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来

决定选择何种类型。

3.ARM 自带的十位A/D 转换器

ARM S3C440BX 芯片自带一个8路10 位A/D 转换器,该转换器可以通过软件设置为Sleep 摸式,可以节电减少功率损失,最大转换率为500K,非线性度为正负1位,其转换时间可以通过下式计算:如果系统时钟为66MHz,比例值为9,则为66MHz/2 (9+1)/16 (完成转换至少需要16 个时钟周期)=205.25KHz(相当于4.85us)ARM 芯片与A/D 功

能有关的引脚为以下几个,其中AIN[7:0]为8 路模拟采集通道,AREFT 为参考正电压,AREFB 为参考负电压,AVCOM 为模拟共电压。

4.AD 转换器在开发平台的接法如下:

即前四路通过分压电位器接到2.5v 电源上。

六、实验步骤

1.新建工程,将“Exp5 ARM A/D 接口实验”种的文件添加到工程。

2.编写获取转换结果函数(main.c)3.主函数(main.c)

实验四 GUI绘图实验

一、实验目的

学习使用嵌入式系统绘图的API 函数。理解绘图设备上下文(DC)在多任务操作系统中的作用。会使用绘图设备上下文(DC)在屏幕上绘制一个圆角矩形和一个圆。了解绘制动画防止闪烁的基本原理,可以实现无闪烁的动画。

二、实验内容

本次实验通过使用嵌入式系统的绘图API 函数,首先,在屏幕上绘制一个圆角矩形和一个整圆。然后,再在屏幕上无闪烁的绘制一个移动的正弦波。

三、预备知识

1、用ARM SDT 2.5 或ADS1.2 集成开发环境,编写和调试程序的基本过程。

2、基于uCOS-II 操作系统的应用程序的框架结构。

四、实验设备及工具(包括软件调试工具)

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序

五、实验原理

请查阅附录API 函数,在Display.h 中定义了和绘图显示有关的数据类型和函数原型。在uCOS-II 系统环境下,绘图必须通过使用绘图设备上下文(DC)来实现。绘图设备上下文(DC)中包括了与绘图相关的信息,比如:画笔的宽度、绘图的原点等等。这样,在多任务系统中,不同的任务通过不同的绘图设备上下文(DC)绘图才不会互相影响。

与绘图设备上下文(DC)有关的函数有:initOSDC()用来初始化系统的DC,为DC 动态内存开辟空间;CreateDC()和DestoryDC(PDC pdc)分别用来创建和删除DC,前者返回所创建的DC 指针,后者则释放DC 的内存空间。

和绘图有关的函数有TextOut(),LineTo(),FillRect(),Circle(),ShowBmp()等常见的图形函数,用户可以查看附录API 函数显示部分,尝试使用这些函数。

在uCOS-II 操作系统中,液晶显示屏的刷新是通过Lcd_Fresh_Task 任务完成的,该任务是在系统附加任务初始化函数OSAddTask_Init()中定义的,该函数开辟了LCD 刷新任务,触摸屏任务,键盘任务等。绘图首先是在绘图缓冲区中完成的,然后系统自动(也可以通过设置绘图设备上下文参数,不让系统自动刷新)向Lcd_Fresh_Task 发送更新消息。其流程图如图所示:

六、实验步骤

1、新建工程,将“Exp14 绘图的API 函数”中的文件加入工程。

2、编辑Main.c 文件,在Main_Task 任务中加入代码。使用操作系统的绘图API 函数,

绘制出如图所示的图形。

3、用ARM SDT 2.5 或ADS1.2 编译、下载并调试上述程序,检查运行结果。

4、在屏幕上无闪烁的绘制一个移动的正弦波。

5、用ARM SDT 2.5 或ADS1.2 编译、下载并调试上述程序,检查运行结果。

6、生成发行版本的.bin 文件,通过USB 下载到嵌入式开发板中,运行并检查输出结果。

实验六文件操作

一、实验目的

学习使用文件相关的API 函数,了解在uCOS-II 操作系统上扩展文件系统的情况。

二、实验内容

通过使用开发平台提供的API 函数,打开一个保存在FLASH 海量存储器中的英文文本文件,将其文件内容输出显示在液晶屏上。

三、预备知识

1、用ARM SDT 2.5 或ADS1.2 集成开发环境,编写和调试程序的基本过程。

2、基于uCOS-II 操作系统的应用程序的框架结构。

3、操作系统原理中有关文件系统的知识,了解文本文件以及字符串的处理方法。

4、使用LCD_printf 向液晶屏输出字符。

四、实验设备及工具(包括软件调试工具)

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序

五、实验原理

uCOS-II 操作系统本身并没有文件系统,不支持文件相关的管理功能。在将uCOS-II 操作系统移植到ARM 嵌入式开发平台时参考FAT16 为该系统扩展了一个简单的文件系统,从而使该操作系统功能更强大,也符合实际嵌入式产品开发的需要。开发平台的硬件中有一片容量至少16M 的NAND FLASH 存储芯片作为嵌入式设备的固态数据存储器,或称为电子硬盘。该存储器由文件系统管理,在文件系统的功能函数与FLASH 芯片之间有相关驱动程序实现高层系统功能和底层具体硬件的数据交换。

嵌入式系统经常使用的存储介质FLASH 芯片具有和磁盘完全不同的结构特点,开发平台上的K9F2808U0A 芯片具有1024 个Block,每个Block 有32 个Page,每个Page 有512+16=528 个Byte。这种芯片的读写操作具有以下特点:1)必须以Page 为单位进行读写;

2)写之前必须先擦除原有内容;

3)擦除操作必须对Block 进行,即一次至少擦除一个Block 的内容。

另外可以用OpenOSFile()函数以指定模式打开文件;用ReadOSFile()函数读取已打开文件数据到指定缓冲区;用WriteOSFile() 函数将指定缓冲区的数据写入到文件;用LineReadOSFile()函数读取文本文件的一行字符;用CloseOSFile()函数关闭文件,释放文件缓冲区;用SeekOSFile()函数定位文件指针;用DeleteOSFile()函数删除指定文件。

六、实验步骤

1、进入嵌入式开发平台的BIOS,连接USB 电缆并激活U 盘,在PC 机上向开发平台

的FLASH 存储器复制一个小体积文本文件。

2、新建工程,将“Exp16 文件的使用”中的文件加入工程。

3、打开Main.c 文件,编辑Main_Task 任务中的代码,打开上述的文本文件,逐行读取文件,并显示在液晶屏上。具体的流程如图所示:

4、用ARM SDT 2.5 或ADS1.2 编译、下载并调试上述程序,检查运行结果。

5、生成发行版本的.bin 文件,通过USB 下载到嵌入式开发板中,运行并检查输出结果。

实验八 UDP通讯实验

一、实验目的

1.学习UDP 通讯原理。

2.掌握Socket 编程方法。

二、实验内容

编程实现嵌入式开发平台和计算机之间的UDP 通讯。通过触摸屏进行画图,使其在液晶屏上显示,同时通过网络

传输数据,使其在计算机屏幕上显示;由计算机控制清除液晶屏上的图形。

三、预备知识

1.用ARM SDT 2.5 或ADS1.2 集成开发环境,编写和调试程序的基本过程。

2.基于uCOS-II 操作系统的应用程序的框架结构。

3.系统消息循环和触摸屏消息的处理。

4.绘图API 函数的使用

4.UDP 通信原理和网络相关知识。

四、实验设备及工具

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上、交叉序网线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。

五、实验原理及说明

1.UDP 协议简介

1)UDP 协议简介

UDP 协议是英文User Datagram Protocol 的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多客户/ 服务器模式的网络应用都需要使用UDP 协议。UDP 协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但即使是在今天,UDP 仍然不

失为一项非常实用和可行的网络传输层协议。

2)UDP 和TCP 协议的主要区别

UDP 和TCP 协议的主要区别是两者在如何实现信息的可靠传递方面不同。TCP 协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。

3)UDP 协议的应用

也许有的读者会问,既然UDP 是一种不可靠的网络协议,那么还有什么使用价值或必要呢?其实不然,在有些情

况下UDP 协议可能会变得非常有用。因为UDP 具有TCP 望尘莫及的速度优势。虽然TCP 协议中植入了各种安全

保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP 由于排除了

信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大得降低了执行时间,使速度得到了保证。2.SOCKET 简介

1)什么是Socket

Socket 接口是TCP/IP 网络的API,Socket 接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP 网络上的应用程序。要学Internet 上的TCP/IP 网络编程,必须理解Socket接口。

2)Socket 建立

为了建立Socket,程序可以调用Socket 函数,该函数返回一个类似于文件描述符的句柄。socket 函数原型为:int socket(int domain, int type, int protocol);

3)Socket 配置

通过socket 调用返回一个socket 描述符后,在使用socket 进行网络传输以前,必须配置该socket。面向连接的socket 客户端通过调用Connect 函数在socket 数据结构中保存本地和远端信息。无连接socket 的客户端和服务端以及面向连接socket 的服务端通过调用bind 函数来配置本地信息。

4)连接建立

面向连接的客户程序使用Connect 函数来配置socket 并与远端服务器建立一个TCP 连接,其函数原型为:int connect(int sockfd, struct sockaddr *serv_addr,int addrlen);

5)数据传输

Send()和recv()这两个函数用于面向连接的socket 上进行数据传输。Send()函数原型为:

int send(int sockfd, const void *msg, int len, int flags);

6)结束传输

当所有的数据操作结束以后,你可以调用close()函数来释放该socket,从而停止在该socket 上的任何数据操作:close(sockfd);

六、实验步骤

1.新建工程,将“Exp20UDP 通讯实验”中的文件加入工程。

2.在main.c 文件中编辑初始化网络函数。

3.定义计算机端套接字,全局变量。struct sockaddr_in servaddr;

4.编写Main_Task 任务及消息循环主要负责响应触摸屏消息,在屏幕上画图,然后将数据传输到计算机上。5.编写Receive_Task 任务主要负责接收计算机发出的清屏控制命令,来执行清屏操作。同时在计算机端设置开发平台IP 时负责接收数据包来获得计算机端IP。

6.用ARM SDT 2.5 或ADS1.2 编译、下载并调试上述程序,检查运行结果。

7.打开VC 目录下的上位机控制程序,点菜单“控制->设置IP”并在对话框中输入开发平台的IP(确定后控制程序只是向开发平台发送一个数据,使其获得计算机的IP 及端口)。

8.用手指在触摸屏上轻轻的画图,在计算机控制软件的窗口中显示相应的图形。

9.通过菜单“控制->清屏”命令可以清除计算机和触摸屏上的图形,重新绘图。

实验十 综合设计实验

一、实验目的

1.进一步了解触摸屏的工作原理。

2.学习在uCOS-II 操作系统下对触摸屏的编程。

3.进一步熟悉绘图API ,图形控件,消息循环等内容。

二、实验内容

在液晶屏上设置四个按钮控件,表示四种画板功能:画直线、画圆、画任意折线以及清除图形。在触摸屏上单击一个按钮后,即可以开始在触摸屏上画图或清除原来的图形。

三、预备知识

1、用ARM SDT 2.5 或ADS1.2 集成开发环境,编写和调试程序的基本过程。

2、基于uCOS-II 操作系统的应用程序的框架结构。

3、触摸屏的驱动程序原理。

4、系统消息循环、图形API 函数以及控件的使用。

四、实验设备及工具(包括软件调试工具)

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序

五、实验步骤

1、新建工程,将“Exp22 模拟电子画板”中的文件加入工程。

2、打开main.c 文件,编辑Main_Task 任务中的代码。定义控件及绘图的矩形区域,创建按钮控件并显示每个按钮代表的功能。启动消息循环,响应触摸屏消息。

3、用ARM SDT 2.5 或ADS1.2 编译、下载并调试上述程序,检查运行结果。

4、生成发行版本的.bin 文件,通过USB 下载到嵌入式开发平台中,运行并检查输出结

果。

提示:

1)用CreateButton()函数创建按钮控件,其参数Caption 即要在该按钮上显示的文字。这里同样需要事先指定每个控件的ID,为每个控件的矩形结构赋值,并将ASCII字符串转为Unicode 字符串。

2 )触摸屏消息的类型pMsg->Message 为OSM_TOUCH_SCREEN ,参数pMsg->WParam 中包含坐标信息,用下面的语句获得(x,y)坐标值:Touch_Position.x=pMsg->WParam&0xffff;Touch_Position.y=pMsg->WParam>>16;

3)用IsInRect()函数判断某个触摸点坐标是否在一个矩形区域内,例如:IsInRect2(pLine_Button_RECT,

pTouch_Position);判断pTouch_Position 坐标值是否在画线按钮pLine_Button_RECT 的矩形区域内。

4)触摸屏消息参数pMsg->LParam 为触摸屏动作,定义如下:

#define TCHSCR_ACTION_CLICK 1 //触摸屏单击

#define TCHSCR_ACTION_DBCLICK 2 //触摸屏双击

#define TCHSCR_ACTION_DOWN 3 //触摸屏按下

#define TCHSCR_ACTION_UP 4 //触摸屏抬起

#define TCHSCR_ACTION_MOVE 5 //触摸屏移动

在画直线功能中,第1 次单击绘图区域时,触摸屏动作为TCHSCR_ACTION_CLICK,用MoveTo()函数设定直线起点;第2 次单击时用LineTo()函数绘制直线。程序中用Line_State 作为直线起点和终点的状态标志。在画圆功能中,第一次单击绘图区域时,触摸屏动作为TCHSCR_ACTION_CLICK,记录该触摸点坐标为圆心坐标;第2 次单击时

用Circle()函数画圆。程序中用Circle_State作为圆心和圆周的状态标志。用下面的语句求得圆的半径:

r=sqrt((x0-Touch_Position.x)*(x0-Touch_Position.x)+(y0-Touch_Position.y)*(y0-

Touch_Position.y));

5)在画折线功能中,触摸屏动作为TCHSCR_ACTION_DOWN 时用MoveTo()函数设置线段起始点;动作为TCHSCR_ACTION_MOVE 时用LineTo()函数绘制线段。LineTo()函数执行完毕后绘图当前点自动转移到线段的终点。

6 )系统的按钮控件本身也能对按钮上的触摸屏消息作出处理,会随着TCHSCR_ACTION_UP 或

TCHSCR_ACTION_DOWN 动作绘制动态的按钮图形。并会在TCHSCR_ACTION_UP 之后发出如下消息:

pMsg=OSCreateMessage((POS_Ctrl)pButtonCtrl->parentWnd,

OSM_BUTTON_CLICK, pButtonCtrl->CtrlID, NULL);

SendMessage(pMsg);

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

嵌入式实验报告

课题:按键控制流水灯 专业:物联网工程 班级:01 学号:14154951 姓名:李政 指导教师:何建军 设计日期:2016.12.21—2016.12.30 成绩: 重庆大学城市科技学院电气学院

嵌入式设计报告 一、设计目的作用 通过编程实现对LED灯项目的改变,加深对stm32芯片的理解,对keil软件的熟悉掌握,工程的搭建以及头文件的使用。掌握外部设备的接入以及外部中断的实现。 二、设计要求 用四个按键控制8个流水灯的流水显示 (1).按键A按下时候流水灯按从左往右的流水显示。 (2).按键B按下时候流水灯按从右往左的流水显示。 (3).按键C按下时候流水灯按中心开花的方式流水显示:从中间向两边流水显示 (4).按键D按下时候流水灯按从两边到中心移动的方式流水显示。(5).(选做)引入时针中断: 默认的流水方式: (1)对时钟中断的次数进行计数 (2)当时钟中断的次数除以4的余数为0时:按从左到右的顺序流水显示(3)当时钟中断的次数除以4的余数为1时:按从右到左的顺序流水显示(4)当时钟中断的次数除以4的余数为2时:按中心开花的方式流水显示(5)当时钟中断的次数除以4的余数为3时:从两边到中心移动的方式流水显示。 系统启动时按默认的流水方式显示,当按下A、B、C、D四个按键时,按指定的方式流水显示,当按下按键E时恢复按默认的流水方式。 三、设计的具体实现 1、设计原理 这次使用的是stm32f103系列芯片,芯片引脚如下图

Stm32内部资源

GPIO原理及应用: 有7个16位并行I/O口:PA、PB、PC、PD、 PE、PF、PG 都是复用的,最少有2种 功能,最多有6种功能

嵌入式实验报告

嵌入式技术 实验报告 系别:计算机与科学技术系 班级:计12-1班 姓名:刘杰 学号:12101020128 总成绩: 评语: 日期:

2.在弹出的对话框中依次选择“cedevice emulator emulator kdstub”。 3.选择“Build OS”菜单的“sysgen”开始构建平台。 1.1.4连接,下载和运行平台 1.选择“Target”菜单下的“Connection option”菜单项。 2.在新的对话框中,配置连接关系 3.选择“Target”菜单下的“attach”菜单项,开始下载。 ?实验结果 操作系统定制成功,能正常运行。 ?结果截图 ?问题总结 由于对实验平台了解不够,致使操作过程中添加和删除组件时不知道该如何下手,影响整个实验进度。 实验1.2: 1.打开Platform Builder,并且打开实验1的工程,在实验1的工程基础上做本实验。

进程显示 IE信息查看

报文监测 实验1.3使用Platform Builder开发应用程序 简单实验步骤 1.打开Platform Builder。 2.选择“File”菜单下的“Open Workspace…”,然后打开实验1中创建的平台,本实验要基于 上面的实验的基础上做。 3.选择“File”菜单下的“New Project or File…”,打开“New Project or File”对话框。 4.在“Projects”选项页中选择“WCE Application”;在“Project Name”中输入项目的名字,例 如“MyApp”。 5.在“New Project Wizard – step 1 of 1”中选择“A typical Hello World Application”,点击“Finish” 按钮。 6.选择“Build”菜单中的“Build MyApp.exe”来编译应用程序。

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 :安磊 班级:计科0901 学号: 0909090310 指导老师:宋虹

目录 课程设计容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------ 6 文件系统的层次结构和功能模块 --------------------- 6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录 -------------------------------------------------- 12

课程设计容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统核,它仅仅包含了任务调度,任务管理,时间管理,存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时核,并在这个核之上提供最基本的系统服务,如信号量,,消息队列,存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

嵌入式实验报告心得

嵌入式实验报告心得 篇一:嵌入式系统原理实验总结报告 嵌入式系统原理实验总结报告 车辆座椅控制系统实验 XX/5/23 嵌入式系统原理实验总结报告 一、技术性总结报告 (一)题目:车辆座椅控制系统实验(二)项目概述: 1.为了实现车辆座椅控制的自动化与智能化。 2.方便用户通过智能手机与车载传感器之间的联动。 3.使车辆作为当今物联网中重要的一个节点发挥作用。 4.通过车辆座椅控制系统实验实现对嵌入式系统原理课程的熟练掌握与对嵌入式系统原理知识的深化记忆。 5. 加强本组学生对嵌入式系统原理的更深层次的理解与运用。 (三)技术方案及原理 本次试验分为软件、硬件两个部分。 1.软件部分。 A.智能手机部分,包括通过智能手机对座椅的控制部分、手机所携带的身份信息部分。 本部分软件使用Java编写,其程序部分为:主程序:package ;

import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ; import ; import ; public class MainActivity extends ActionBarActivity { private Button Up = null; private Button Left = null; private Button Dowm = null; private Button Right = null; private Socket socket = null; private static final String HOST = "";private static final int PORT = 10007; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(; initControl();} private void initControl() {

南邮嵌入式系统B实验报告2016年度-2017年度-2

_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期

实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop // B stop // END } return gcdnum; } int main() { int a; a = find_gcd(18,9);

printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include int find_maxnum(int a,int b,int c)

嵌入式实验报告

目录 实验一跑马灯实验 (1) 实验二按键输入实验 (3) 实验三串口实验 (5) 实验四外部中断实验 (8) 实验五独立看门狗实验 (11) 实验七定时器中断实验 (13) 实验十三ADC实验 (15) 实验十五DMA实验 (17) 实验十六I2C实验 (21) 实验十七SPI实验 (24) 实验二十一红外遥控实验 (27) 实验二十二DS18B20实验 (30)

实验一跑马灯实验 一.实验简介 我的第一个实验,跑马灯实验。 二.实验目的 掌握STM32开发环境,掌握从无到有的构建工程。 三.实验内容 熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。通过ISP 下载代码到实验板,查看运行结果。使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。 四.实验设备 硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。 软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。 五.实验步骤 1.熟悉MDK KEIL开发环境 2.熟悉串口编程软件ISP 3.查看固件库结构和文件 4.建立工程目录,复制库文件 5.建立和配置工程

6.编写代码 7.编译代码 8.使用ISP下载到实验板 9.测试运行结果 10.使用JLINK下载到实验板 11.单步调试 12.记录实验过程,撰写实验报告 六.实验结果及测试 源代码: 两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。七.实验总结 通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。作为STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。

嵌入式系统看门狗实验报告

竭诚为您提供优质文档/双击可除嵌入式系统看门狗实验报告 篇一:《嵌入式系统原理与应用》实验报告04-看门狗实验 《嵌入式系统原理与接口技术》实验报告 实验序号:4实验项目名称:看门狗实验 1 2 3 4 篇二:嵌入式实验报告 目录 实验一跑马灯实验................................................. (1) 实验二按键输入实验................................................. .. (3)

实验三串口实验................................................. . (5) 实验四外部中断实验................................................. .. (8) 实验五独立看门狗实验................................................. (11) 实验七定时器中断实验................................................. (13) 实验十三ADc实验................................................. .. (15) 实验十五DmA实验................................................. .. (17) 实验十六I2c实验................................................. .. (21) 实验十七spI实

嵌入式系统实验实验报告

嵌入式系统实验实验报告 一、实验目的 1.基本实验

. Word 资料搭建PXA270嵌入式LINUX开发软硬件环境;安装LINUX操 作系统;安装与配置建立宿主机端交叉编译调试开发环境;配置宿主机 PC 机端的minicom(或超级终端)、TFTP服务、NFS服务,使宿主PC机与PXA270开发板可以通过串口通讯,并开通TFTP 和NFS服务。 2.人机接口 键盘驱动;LCD控制;触摸屏数据采集与控制实验; 3.应用实验 完成VGA显示;Web服务器实验;网络文件传输实验;多线程应用实验。 4.扩展应用实验 完成USB摄像头驱动与视频采集;GPS实验;GSM/GPRS通讯;视频播放移植;USB蓝牙设备无线通讯;NFS文件服务器;蓝牙视频文件服务器。 5.QT实验 完成基本嵌入式图形开发环境搭建;“Hello world!”QT初探;创建一个窗口并添加按钮;对象通信:Signal和Slot;菜单和快捷键;工具条和状态栏;鼠标和键盘事件;对话框;QT的绘图;俄罗斯方块;基于QT的GSM手机在嵌入式LINUX下的设计与实现。 二、实验内容 1.人机接口实验 实验十九键盘驱动实验 ?实验目的:矩阵键盘驱动的编写

?实验内容:矩阵键盘驱动的编写 ?作业要求:完成键盘加减乘除运算 ?实验作业源码及注释: #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #DEFINE DEVICE_NAME “/DEV/KEYBOARD” INT MAIN(VOID){ INT FD; INT RET; UNSIGNED CHAR BUF[1]; INT I,F,J; DOUBLE X; INT A[2]={0}; CHAR PRE_SCANCODE=0XFF; FD=OPEN(DEVICE_NAME,O_RDWR); IF(FD==-1)PRINTF(“OPEN DEVICE %S ERROR\N”,DEVICE_NAME); ELSE{ BUF[0]=0XFF; I=0;F=0; WHILE(1){ READ(FD,BUF,1);

嵌入式综合实验报告

《嵌入式系统综合实验》报告 学号: 姓名: Shanghai University of Engineering Science School of Electronic and Electrical Engineering

基于STM32的GPS信息显示系统 ——嵌入式系统综合实验报告 班级:0211112 姓名:褚建勤学号:021111228 班级:0211112 姓名:于心忆学号:021111216 班级:0211112 姓名:乐浩奎学号:021111232 一、产品设计要求(产品规格描述) 1 、嵌入式产品名称 GPS信息显示系统 2 、嵌入式产品目的 在学校的生活中,你经常可能需要联系不是同一间宿舍的同学,但是你不能确定他现在在什么地方,这时候全球定位系统(GPS)就可以发挥作用了,但是传统的GPS系统只能提供经纬度信息,不能直观的显示你想要找到人在何处,我们的系统就在传统的GPS的基础上添加了对应位置显示的功能,方便你更方便更快捷的找到你想找的同学 3 、嵌入式产品功能 使用GPS输入用户位置信息 GPS将相关经纬度信息反馈给主处理器 主处理器处理相关位置信息并将信息转换为对应位置在LCD上显示出来 在LCD上输出用户状态信息 4 、嵌入式产品的输入和输出 输入设备:GPS系统 输出设备:LCD 二、产品方案设计(产品设计方案) 1 2 1 )处理器选择 本系统选用基于ARMCortex-M3内核的STM32F103RB嵌入式微控制器作为处理器。 ①选用原因 A 技术因素 工作频率: 最高72MHz。 内部和外部存储器: 128K字节的闪存程序存储器,用于存放程序及数据;多达20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。

西安邮电大学嵌入式实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:嵌入式系统原理与应用 专业名称:软件工程 班级:1101班 学生姓名: 学号(8位): 指导教师:李宥谋 实验日期:2013年12月25日

实验一流水灯实验 一.实验目的及实验环境 1.实验目的 ●熟悉LPC2000系列ARM7微控制器的GPIO输出控制。 2.实验环境 ●硬件:PC机一台 LPC2131教学实验开发平台一套 ●软件:Windows 98/XP/2000系统,ADS1.2集成开发环境。 二.实验内容 使用GPIO口控制8个LED流水灯显示。 三.方案设计 ①启动ADS1.2IDE集成开发环境,选择ARM Executable Image for lpc2131 工程模板建立一个工程LedDisp_C。 ②在user组里编写主程序代码main.c。 ③选用DebugInRam生成目标,然后编译链接工程。 ④将EasyARM教学实验开发平台上的P1.[18:25]管脚对应与LED[1:8]跳线 短接。 ⑤选择Project->Debug,启动AXD进行JTAG仿真调试。 ⑥全速运行程序,程序将会在main.c的主函数中停止。

⑦单击Context Variable图标按钮(或者选择Processor Views->Variables)打开变量观察窗口,通过此窗口可以观察局部变量 和全局变量。选择System Views->Debugger Internals 即可打开 LPC2000系列ARM7微控制器的片内外寄存器窗口。 ⑧可以单步运行程序,可以设置/取消断点;或者全速运行程序,停止程 序运行,观察变量的值,判断LED1~LED8控制是否正确。 四.测试数据及运行结果

嵌入式系统实验报告

郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 20 – 20第学期 赵成,张克新 院系: 姓名: 专业: 学号: 电子通信工程系 2014年3月制

实验一ARM体系结构与编程方法 一、实验目的 了解ARM9 S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2 IDE中进行ARM汇编语言程序设计。 二、实验内容 1.ADS1.2 IDE的安装、环境配置及工程项目的建立; 2.ARM汇编语言程序设计(参考附录A): (1)两个寄存器值相加; (2)LDR、STR指令操作; (3)使用多寄存器传送指令进行数据复制; (4)使用查表法实现程序跳转; (5)使用BX指令切换处理器状态; (6)微处理器工作模式切换; 三、预备知识 了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。 四、实验设备 1. 硬件环境配置 计算机:Intel(R) Pentium(R) 及以上; 内存:1GB及以上; 实验设备:UP-NETARM2410-S嵌入式开发平台,J-Link V8仿真器; 2. 软件环境配置 操作系统:Microsoft Windows XP Professional Service Pack 2; 集成开发环境:ARM Developer Suite (ADS) 1.2。 五、实验分析 1.安装的ADS1.2 IDE中包括和两个软件组件。在ADS1.2中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。 2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。 ; 文件名:

嵌入式系统实验报告

嵌入式系统实验报告文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

大连理工大学 本科实验报告 课程名称:嵌入式系统实验 学院(系):电子信息与电气工程学部 专业:自动化 班级: 0804 学号: 学生姓名:何韬 2011年 11月 18日 大连理工大学实验报告 学院(系):电信专业:自动化班级: 0804 姓名:何韬学号:组: ___ 实验时间: 2011-11-12 实验室: d108 实验台: 指导教师签字:成绩: 实验二ARM的串行口实验 一、实验目的和要求 见预习报告 二、实验原理和内容 见预习报告 三、主要仪器设备

硬件:ARM嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC机Pentium100 以上、串口线。 软件:PC 机操作系统win98、Win2000 或WinXP 、ARM SDT 或集成开发环境、仿真器驱动程序、超级终端通讯程序。 四、实验步骤 见预习报告 五、核心代码 在主函数中实现将从串口0接收到的数据发送到串口0() int main(void) { char c1[1]; char err; ARMTargetInit(); 通过调用OSTaskCreate()或OSTaskCreateExt()创建至少一个任务; . OSStart(); /ucos-ii/" /* uC/OS interface */ #include "../ucos-ii/add/" #include "../inc/" #include "../inc/sys/" #include "../src/gui/" #include <> #include <>

嵌入式基础实验报告

嵌入式基础实验报告 ——Linux下编译环境的设置 姓名:张耀丹 学号:131012692 班级:13级网络工程二班

一、实验目的 1、熟悉嵌入式Linux 开发环境,学会基于UP-CUP IOT-4412-II 型网关部分平台的Linux 开 发环境的配置和使用 2、利用arm-none-linux-gnueabi-gcc 交叉编译器编译程序,使用基于NFS 的挂载方式进行 实验,了解嵌入式开发的基本过程 二、实验环境 1、硬件:UP-CUP IOT-4412-II 型网关部分嵌入式实验平台,PC 机Pentium 500 以上, 硬盘 40G 以上,内存大于256M 2、软件:Vmware Workstation + Fedora Core 14 + 超级终端/Xshell + ARM-LINUX 交叉编译开 发环境 三、实验内容 1、本次实验使用Fedora14 操作系统环境,安装ARM-Linux 的开发库及编译器。创建一个新 目录,并在其中编写hello.c 和Makefile 文件。 2、学习在Linux 下的编程和编译过程,以及ARM 开发板的使用和开发环境的设置。将已 经编译好的文件通过NFS 方式挂载到目标开发板上运行 四、实验步骤 实验目录:/UP-CUP4412/SRC/exp/basic/Cortex/ 1、编译源程序 (1)在宿主机端任意目录下建立工作目录CortexA9,实际光盘目录中已经给出本次实验所需全面文件及代码,存放在Cortex目录下。 [root@localhost ~]# mkdir CortexA9 [root@localhost ~]# cd CortexA9 (2)编写程序源代码 在Linux 下的文本编辑器有许多,常用的是vim 和Xwindow 界面下的gedit 等,我们在开发过程中推荐使用vim,用户需要学习vim 的操作方法,请参考相关书籍中的关于vim 的操作指南。Kdevelope、anjuta 软件的界面与vc6.0 类似,使用它们对于熟悉windows 环境下开发的用户更容易上手。 实际的CortexA9.c 源代码较简单,如下: #include main() { printf(“**********\n” ); printf(“CortexA9 \n”); printf(“**********\n” ); return 0; }

嵌入式实验报告心得

竭诚为您提供优质文档/双击可除 嵌入式实验报告心得 篇一:嵌入式系统各实验实验报告 嵌入式系统设计实验报告 班级:学号:姓名:成绩:指导教师: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 1.实验一 1.1实验名称 博创up-net3000实验台基本结构及使用方法 1.2实验目的 熟悉up-net3000实验平台的核心硬件电路和外设 通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态 1.3实验环境 硬件:ARm嵌入式开发平台、用于ARm7TDmI的JTAg仿真器、pc机 pentium100以上。 软件:pc机操作系统windows、ADs1.2集成开发环境、

仿真器驱动程序、 超级终端通讯程序。 1.4实验内容及要求 一、内容 ①嵌入式系统开发流程概述 ②熟悉up-net3000实验平台的核心硬件电路和外设 ③ARmJTAg的安装与使用 ④通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态 二、要求 通过本次课程对各个外设的了解,为今后各个接口实验打下基础。 1.5实验设计与实验步骤 一、JTAg的驱动程序的安装: 执行armJtag目录下armJtagsetup.exe程序,选择安装目录,安装JTAg软件。 二、通过通讯软件超级终端来检验外设的工作状态: ①运行windows系统下的超级终端(hyperTerminal)应用程序,新建一个通信终端。为所建超级终端取名为arm,可以为其选择第一个图标。单击“确定”按钮。 ②在接下来的对话框中选择ARm开发平台实际连接的pc 机串口(如com1),按确定按钮后出现属性对话框,设置通

嵌入式实验报告

《嵌入式系统导论》实验报告学院: 学号: 姓名: 上海工程技术大学 电子电气工程学院

实验一 GPIO(按键和LED)实验 一、实验要求 1 、掌握基于STM32F103微控制器的嵌入式系统、仿真器和开发用PC机之间的连接方法,能够搭建基于STM32F103微控制器的嵌入式系统交叉开发环境。 2 、熟悉常用的嵌入式开发工具KEIL MDK或IAR EWARM的操作环境和基本功能(包括编辑、编译、链接、调试和下载等),学会创建、配置和管理STM32工程,掌握嵌入式程序的基本调试方法,学会使用逻辑分析仪窗口和外设窗口等信息窗口调试嵌入式程序。 3 、理解LED和按键的构件原理,学会设计它们与微控制器间的接口电路 4 、掌握STM32F103微控制器GPIO的工作原理,熟悉STM32的GPIO库函数 5 、学会使用STM32的GPIO库函数在KEIL MDK或IAR EWARM下开发基于LED和按键的简单嵌入式应用程序 二、实验环境 1 、硬件: ALIENTEK STM32F103嵌入式开发板 2 、软件: KEIL MDK或IAR EWARM 三、实验内容 1 、流水灯实验一: 在KEIL MDK或IAR EWARM 中建立STM32工程,并使用GPIO库函数和延时循环设计基于无限循环架构的嵌入式应用程序,使开发板上的红色LED以一定周期闪烁。 采用软件仿真的方式调试程序,通过“Logic Analyzer”,观察程序模拟运行时连接红色LED的引脚PA8上的输出波形。 采用硬件下载的方式调试程序,观察程序下载硬件运行时红色LED的闪烁情况。 2 、按键控制LED实验:

嵌入式系统实验报告

实验一系统认识实验 一、实验目的 学习Dais软件的操作,熟悉程序编写的操作步骤及调试方法。 二、实验设备 PC计算机一台,Dais-52PRO+或Dais-PRO163C实验系统一套。 三、实验内容 编写程序,将80h~8Fh共16 个数写入单片机内部RAM 的30h~3Fh空间。 四、实验步骤 1.运行Dais软件,进入集成开发环境,软件弹出设置通信端口对话框(如图2-1-1), 请确保实验装置与PC正确连接,并已打开实验装置电源,使其进入在待命状态。 这里选择与实验装置实际相连的通信端口,并单击“确定”。如通信正确则进入Dais 软件主界面,否则弹出“通信出错”的信息框(如图2-1-2),请检查后重试。 图2-1-1设置通信端口对话框图2-1-2通信错误信息框 2.通信成功后,单击菜单栏“设置”→“仿真模式”项打开对话框,选择需要设置型 号、程序/数据空间。这里我们将型号设置为“MCS-51实验系统”,外部数据区 设置为“系统RAM”,用户程序区设置为“片外(EA=0)”,如图2-1-3所示,最 后单击“确定”按钮保存设置。

图2-1-3设置工作方式对话框 3.工作方式设置完毕后,单击菜单栏“文件”→“新建”项或按Ctrl+N组合键(建 议单击工具栏“”按钮)来新建一个文件,软件会出现一个空白的文件编辑窗口。 4.在新窗口中输入程序代码(A51\2_1.ASM): ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R1,#30H ;片内RAM首地址 MOV A,#80H ;写入数据初值 MOV R7,#16 ;循环变量 LOOP1: MOV @R1,A ;写数据到片内RAM INC R1 ;地址增量 INC A ;数据+1 DJNZ R7,LOOP1 ;循环变量-1,不为0继续 SJMP $ ;结束 END 5.单击菜单栏“文件”→“保存”项(建议单击工具栏“”按钮)保存文件。若 是新建的文件尚未命名,系统会弹出文件保存对话框(如图2-1-4),提示用户选择文件保存的路径和文件名,再单击“保存”按钮。

嵌入式综合实验报告

基于OV511芯片的摄像头图像采集显示系统 【实验目的】 1、掌握OV511摄像头和V4L视频驱动的配置方法。 2、掌握JPEG的交叉编译与移植的过程。 3、掌握帧缓冲编程原理以及利用帧缓冲显示图像的编程方法。 【实验原理】 USB摄像头以其良好的性能和低廉的价格得到广泛应用。同时因其灵活、方便的特性,易于集成到嵌入式系统中,现有的符合Video for Linux标准的驱动程序配合通用应用程序,可以实现USB摄像头视频数据的采集及应用开发。 摄像头属于视频类设备。在目前的Linux核心中,视频部分的标准是Video for Linux(简称V4L)。这个标准其实定义了一套接口,内核、驱动、应用程序以这个接口为标准进行交流。目前的V4L涵盖了视、音频流捕捉及处理等内容,USB摄像头也属于它支持的范畴。 1、Video4Linux和USB摄像头驱动配置 如果需要在Linux操作系统中使用USB摄像头进行视频数据采集,则必须在进行内核配置时,应检查Linux 内核中是否已经添加了对Video4Linux驱动和对USB摄像头驱动模块的支持。 本实验采用静态加载驱动。 首先切换linux源代码所在的目录,并终端输入make menuconfig,系统弹出基于Ncurses 内核配置图形界面(如图1所示),便可进行内核选项的配置。 图1内核配置主界面 1.1、配置界面的使用方法 (1)、在菜单方式的配置界面上可用上下方向键来在各菜单之间移动; (2)、在标有"---->" 标志的地方按回车键进入下级菜单; (3)、按两次或选择则返回到上级菜单; (4)、按“h” 键或选择下面的则可看到配置帮助信息;

江苏科技大学嵌入式实验报告

实验一熟悉嵌入式系统开发环境 一、实验目的: 1.熟悉嵌入式系统硬件实验平台 2.掌握超级终端配置方法。 3. 掌握嵌入式系统开发环境配置,ARM-Linux下NFS服务器的配置方法 4. 掌握常用的 Linux下shell命令 二、实验设备及工具: 硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。 软件:PC机操作系统REDHAT LINUX 9.0 、MINICOM 、AMRLINUX开发环境 三、实验内容 : (1)掌握嵌入式系统实验平台上的各类借接口的位置; (2)配置windows的超级终端,熟悉vivi的命令行,bootload、kernel、root 和用户程序的介绍; (3)配置linux的终端,配置网络服、Ip地址,开发目录共享,挂载等。 四、实验步骤: 1.掌握嵌入式系统实验平台上的各类接口的位置 UP-TECH S2410/P270 DVP 的硬件配置如表 1.2.1 所示 实物如图 1.2.1 所示:

2.配置windows的超级终端,熟悉vivi的命令行,bootload、kernel、root 和用户程序的介绍; 1)配置windows的超级终端: a)用串口线将 PC 机与 ARM 开发板连接好后,将 UP-TECH S2410、P270 DVP 开发板 开机,然后点击 PC 机上的开始“菜单”然后找到“附件”中“通讯”选项中的“超级终端”, b)然后在超级终端里进行配置,在“名称”中输入要建立的超级终端的名字。 c)在“连接时使用”一栏选择可用的串口号,(这里根据自己的实际情况进行选择)。 d)在“每秒位数”中选择“115200”,“数据流控制”选择“无”,然后点击“确定”按 钮,设置完毕。 2)学习并掌握如下命令: ls,cd ,pwd,cat,more,less,mkdir,rmdir ,rm,mv,cp,tar,ifconfig 3. Linux下minicom的使用与程序挂载 a)打开虚拟机,启动linux; b)新建终端,输入minicom来启动实验箱;

相关主题
文本预览
相关文档 最新文档