搜档网
当前位置:搜档网 › 嵌入式系统实验指导书

嵌入式系统实验指导书

嵌入式系统实验指导书
嵌入式系统实验指导书

嵌入式系统实验指导书 计算机科学与通信工程学院实验中心

目录

实验1 Embest IDE 入门实验 (1)

实验2 IDE 下的汇编和C 程序设计 (18)

实验3 IDE 下的中断实验 (31)

实验4 IDE下的数码管显示实验 (36)

实验5 实验环境的建立与Cygwin 的使用 (39)

实验6 vivi、Linux 内核、cramfs 文件系统的编译 (41)

实验7 vivi、Linux 内核、cramfs 文件系统的烧写 (46)

实验8 键盘和LED 控制实验 (50)

实验9 Linux 中FTP 与NFS 方式调试程序 (53)

附录A 实验问题解决方案 (60)

实验1 Embest IDE 入门实验

1.1 实验目的

熟悉Embest IDE 的使用,工程的创建、编译、下载及调试程序的方法。1.2 教学系统介绍

Embest ARM 教学系统包括Embest IDE 集成开发环境,Embest JTAG 仿真器,Flash编程器,Embest EduKit-III 开发板、各种连接线、电源适配器以及实验指导书等。基本实验模型示意图所示:

图1.1实验模型示意图

注意:仿真器侧面的 Jtag 跳线拨到20 位置

1.3 教学系统的硬件电路

Embest EduKit-III 教学实验平台是一款功能强大的32位的嵌入式开发板,里面采用了SAMSUNG公司的以ARM7TDMI-S 为内核的处理器S3C44B0X,同时可以兼容S3C2410,具有JTAG 调试等功能。板上提供了一些键盘、LED 和串口等一些常用的功能模块,并且具有IDE 硬件接口,CF 存储卡接口、以太网接口和SD 卡接口等等,对用户在32 位ARM 嵌入式领域进行开发实验非常方便。

功能特点:

使用 CPU 扩展接口,可以使用SAMSUNG 公司的S3C44B0 和S3C2410;

系统核心板包括 SDRAM、CPU、核心电压模块、实时时钟、系统跳线、系统时钟、

核心板接口等;

SDRAM 用量与CPU 有关,2410 采用64M,44B0 采用8/16M 兼容芯片为

HY57V561620 或HY57V641620;

完全自主设计的软硬件系统,可以支持 JTAG 仿真技术,支持ADS、STD

和IDE等集成环境开发;

具有 2/4M 兼容的 Nor Flash 和8/16/32/64/128M 兼容的Nand Flash;

提供 10M 以太网接口,用到的芯片是CS8900A;

具有 USB 接口电路(1 个DEVICE、2 个HOST);

具有 2 个RS232 串行口,可以跟上位机进行通讯;

提供 1 个RS422 接口、1 个RS485 接口;

提供 IIS 音频信号接口,可接双声道SPEAKER;

8Kbit IIC BUS 的串行EEPROM;

STN/TFT 兼容接口的彩色LCD(标配320*240 CSTN 5.7 英寸LCD);

多个 LED 指示灯;

8 个8 段数码管;

8 路10BIT 的ADC, ANIN2 和ANIN4 可以模拟;

提供实时时钟控制试验(RTC);

提供触摸屏接口电路(标配4 线5.7 英寸触摸屏);

5×4 键盘,可以扩展至64 键,使用芯片ZLG7290;

用 PWM 控制的蜂鸣器电路,可以发出不同频率的声音;

提供用 I/O 控制的跑马灯试验;

提供 2 个CAN 接口(1 个是预留给带CAN 控制器的CPU 使用的),方便组装现场总线;

具有 1 个IDE 硬盘接口、1 个PCI 扩展插槽和1 个PS2 接口;

提供 CF 存储卡接口、SD 卡接口;

包含红外线接口模块;

包含直流电机、步进电机模块;

具有采用扩展子板形式的 GPRS 模块电路和GPS 模块电路。

Embest EduKit-III 教学实验平台主要功能模块如下:

图1.2 ARM 开发板功能模块

1.4 集成开发环境使用

在Windows 98/NT/2000/XP 环境中运行Embest IDE for ARM(主应用程序为EmbestIDE.exe)后,即进入Embest IDE 集成开发环境。Embest IDE集成开发环

境主界面见下:

图1.3 Embest IDE 主界面图

Embest IDE 集成开发环境的主框架窗口由标题栏、菜单条、工具条、工程管理窗口、源文件窗口、输出窗口和状态条等组成。标题栏显示当前打开的文件名。工程管理窗口用于显示当前打开工程的有关信息,包括工程的文件组成等内容。源文件窗口用于文本编辑器进行C、汇编等源文件的编辑以及调试时的源代码执行跟踪。输出窗口输出编译信息、调试信息、命令行输入输出和输出一些查询结果信息等。主框架窗口的最底端为状态栏,用于显示关于菜单条、工具条等的简单说明信息以及文本编辑器中当前光标所在的行列号等。用户可以通过鼠标拖动,将菜单条、工具条、工程管理窗口、源文件窗口和输出窗口等随意更换顺序和位置,也可以隐藏其中的某些窗口。在调试过程中,可以根据需要打开和关闭寄存器窗口、函数栈窗口、变量窗口、存储器窗口、数据观察窗口以及反汇编窗。

1.4.1 工程的创建

1.4.1.1 创建工程

工程是置于工作区之中进行管理的,因此在创建一个工程的同时,会创建一个工作区。操作过程:

1) 点击菜单项File > New Workspace,系统弹出一个对话框,如下图所示。

图1.4 创建一个新工程

2) 在Project name框中输入新建工程名,Location框中输入该工程要保存的目录路径,或点击选择要保存的目录路径。

3) 点击OK按钮,将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程。也可在一个打开的工作区窗口中,利用右键菜单中的“Add New Project to Workspace…”来创建一个新工程,其操作同以上操作相同,只是创建的工程也将加入当前工作区。

1.4.1.2 建立一个新的源文件

点击菜单项File > New,系统弹出一个新的、没有标题的文本编辑窗,输入光标位于窗口中第一行,用户即可编辑输入源文件代码。默认情况下,在用户编辑输入时,按C语法来进行颜色加亮显示。编辑完后,保存该文件。

1.4.1.3 工程中文件的加入

选择Project菜单中Add To Project>Files 命令,或单击工程管理窗口中的相应右键菜单命令,弹出文件选择对话框,在工程目录下使用CTRL键同时选择要加入的源文件:

图1.5 加入源文件到工程中

1.4.1.4 设置活动工程

在一个工作区中可以存在几个同时打开的工程,但只有一个工程处于活动状态,处于活动状态的工程才可以作为调试工程。在工作区窗口中,处于活动状态的工程,其工程图标将显示为加亮彩色。如图所示。

图1.6 彩色图标及右键菜单设置活动工程

在工作区窗口中,选中要设置为活动状态的工程,点击鼠标右键,弹出右键菜单,选择Save as Active Project 项,可将该工程设置为活动状态,如图1.6所示;或选中要设置为活动状态的工程,点击菜单项Project > Set Active Project,选择工程名即可将相应工程设置为活动状态。

1.4.2 工程基本配置

1.4.

2.1 处理器配置

选择菜单项Project >Settings…或快捷键Alt +F7,弹出工程设置对话框。在工程设置对话框中,选择Processor 设置对话框,如下图,可进行目标板所用处理器的配置。

图1.7 处理器配置对话框

用户选择对应的工程文件名进行相应的配置。图中各项设置定义如下:

处理器模块(CPU Module)选择当前所使用的处理器模块。设置为ARM9。

处理器系列(CPU Family)选择用户使用的处理器所属处理器系列。设置为ARM9。

处理器成员(CPU Member)设置处理器系列中具体的处理器成员。设置为ARM9。

字节排列方式(Endian)设置该处理器当前所支持的存储区字节排列方式是大字节结尾(Big Endian)还是小字节结尾方式(Little Endian)。

处理器制造商(Peripheral Maker)选择处理器生产厂家,设置为samsung。

处理器型号(Peripheral Chip)选择相应的处理器型号,设置为2410x

编译工具(Build Tools)设置该处理器对应的编译链接器,目前Embest IDE 支持GNU 编译链接工具,同时也兼容ARM SDT 2.51编译链接工具。

1.4.

2.2 仿真器配置

选择菜单项Project > Settings…,弹出工程设置对话框。在工程设置对话框中,选择Remote设置对话框,如下图,可进行仿真器的连接配置。

图1.8 仿真器的连接配置

在该对话框中,有两项设置:

远程连接设备(Remote device)设置连接的调试设备,该处设置成“PowerICEARM9”仿真器。调试下载速度(Speed)设置仿真器的下载调试速度。该设置为全速(Full Speed)选项通讯类型(Communication type)设置该仿真器与主机使用的连接方式和连接到的主机通讯口,

例如Embest Emulator for ARM使用并口连接,所以此处设置为“PARALLEL”。

通讯口(Parallel Port)按实际连接到主机通讯方式进行设置。

1.4.

2.3 调试设置

图 1.9 下载信息属性配置页

下载文件栏(Download file)用于输入下载到目标系统上的可执行文件及其目录,此文件为在目标系统上执行的文件,文件格式可以是ELF 格式或者是Binary 格式,系统会自动将ELF 格式文件转换为Binary 格式后下载。

下载校验可选项(Download verify)用于设置下载文件下载时候是否自动校验下载是否正确,当设置选取时,将自动比较下载后的内存文件是否和原文件一致。

下载文件地址栏(Download address)用于输入下载文件在目标系统上的起始存储地址,下载的文件将从该地址开始顺序存储。这里设置为0x30000000。

程序执行起始点(Execute program from)有三种方式可以选择,这里设置为Download address。

1.4.

2.4 编译配置

在RAM 中调试程序的必须设置过程将在实验二中给出详细设置步骤。

1.4.

2.5 工程的编译链接

完成工程的设置后,就可以对工程进行编译链接了。用户可以通过选择主窗口Build菜单项或Build工具条按钮,编译相应的文件或工程,同时将在输出窗的Build子窗口中输出有关信息。如果在编译链接过程中,出现任何错误,包括源文件语法错误和其它错误时,编译链接操作立刻终止,并在输出窗的Build子窗口中提示错误,如果是语法错误,用户可以通过鼠标左键双击错误提示行,来定位引

起错误的源文件行。

图1.10 工程 build 菜单和工具条

编译并修改程序,直到没有任何错误信息。

1.4.

2.6 加载调试

Embest IDE for ARM包含ARM模拟器,支持脱离目标板的ARM应用模拟调试,是开发人员进行在线调试前的开发辅助工具。

在线调试时,首先将集成环境与JTAG仿真器连接,点击Debug > Remote Connect菜单项可激活连接,然后点击Download菜单将目标文件下载到目标系统的指定存储区中。如果在工程设置对话框调试选项中设置了自动下载选项,Embest IDE中的调试器会在与仿真器连接后自动进行下载,文件下载后即可进行在线仿真调试。

A. 断点和单步

调试器可以控制目标程序的运行和停止,并反汇编正在调试的二进制代码,同时可通过设置断点来控制程序的运行,辅助用户更快的调试目标程序。Embest IDE 的调试器可以在源程序、反汇编程序、以及源程序汇编程序混合模式窗口中设置和删除断点。

设置断点的有以下几种方法:

1. 将鼠标指向源程序行左边需设定断点处,鼠标形状会变成手形指针,然后单击鼠标左键,这时,程序行左边会出现红色圆形含黄色条的断点标志。

2. 将光标设置在需要设置断点的代码行处,按F9快捷键。

3. 将光标设置在需要设置断点的代码行处,点击Debug菜单,选取Toggle

Breakpoint 菜单项。

第一次设置的断点均为有效断点,设置了有效断点的源程序界面如所示,青色圈处为有效断点标志:

图1.11 有效断点标志

在源程序窗,若在一条非执行语句设断点,Embest IDE不会做出任何响应。

断点状态分为有效和无效状态,程序不会在无效状态的断点停止。无效断点的源程序界面如图所示,青色圈处为无效断点标志:

图1.12 无效断点标志

当程序运行到有效断点处时,会停止在有效断点处,其界面如图所示:

图1.13 停止在断点处的程序界面

用户可使用断点列表来查询所有断点信息和状态。点击 Debug菜单,选取“Breakpoint…”菜单项,即可弹出断点列表对话框,断点列表对话框如图所示:

图1.14 断点列表对话框界面

在断点列表对话框点击Delete按钮将会删除当前选择的断点,点击Delete ALL 按钮将删除当前列表中所有断点,点击View Code按钮将显示当前所选择断点对应的源文件,如果是汇编断点并且不对应任何源文件,点击View Code按钮将没有任何反应,双击某一断点行或者点击Modify按钮,将可修改断点信息,修改界面如图所示:

图1.15 断点信息修改界面

若要设置断点条件属性,点击断点信息修改窗口的Advanced按钮,将下拉出另一附加窗口,界面如图所示,“When”输入栏用于输入断点条件表达式,“Command”输入栏用于输入程序到达断点时候系统自动执行的命令。

图1.16 条件断点信息修改界面

B. 反汇编窗

反汇编窗用于显示反汇编二进制代码后得到的汇编级代码,可以混合源代码显示,也可以混合二进制代码显示。反汇编窗可以设置和清除汇编级别断点,并可按照ARM或THUMB格式的反汇编二进制代码。

图1.17 源文件与反汇编指令交叉显示窗口界面

C. 寄存器窗

点击菜单项 View>debug windows>Variables可以打开和关闭寄存器窗口。寄存器窗用于显示和修改目标系统中处理器内核寄存器及其外围接口寄存器值。寄存器名称和数目依赖于目标系统处理器类型,当调试不同目标系统的时候,显示的内容会不一样。寄存器值可以按照十进制、十六进制或者二进制格式显示,并

可自动刷新或者根据需要由用户手动刷新显示。寄存器显示按照寄存器组方式,每组寄存器都可以分别设置不同的显示格式。

注:如果在工程配置的Processor设置对话框没有选择相应的处理器厂家及芯片型号,Peripheral窗口将显示空白寄存器窗的界面如图所示:

图1.18 寄存器窗界面

点击某一个寄存器,该寄存器的名字和值会显示在寄存器窗上部的输入栏中,在输入栏可以改变该寄存器的值,输入栏如图所示:

图1.19 寄存器值修改输入栏

当寄存器的值被修改后会以红色显示该值,如图所示:

图1.20 寄存器值被修改的寄存器窗界面

D.存储区窗

存储区窗用于显示和修改目标系统中存储区的内容。存储区窗显示从输入的起始地址开始存储的存储区内容,显示长度根据存储区窗大小而自动匹配。存储区内容可以按照字节、半字或字长度显示,并同时以十六进制数和对应的ASCII

字符显示存储区内容。当存储区窗显示范围内的存储区数据有变化的时候,会以红色显示这些数据。IDE同时提供了两个内存显示窗口Memory1窗和Memory2窗(功能同Memory1窗)。按照字节长度显示的存储区窗的界面如图所示:

图1.21 存储区窗界面

用户可以在窗口上部的存储区起始地址栏修改显示起始地址,修改后存储区窗会自动从新的地址开始显示存储区内容;地址输入栏可以记录用户最近查看的10个起始地址值,用户可从下拉菜单中选择想查看的起始地址。存储区起始地址栏如图所示:

图1.22 存储区起始地址输入栏

若要修改存储区内容,可在十六进制数据栏或者 ASCII 字符数据栏直接修改,修改的数据会立刻写到对应的存储区中,并以红色显示改变了的数据。

E.watch 窗

点击菜单项View > Debug Windows >Watch可以打开和关闭数据观察窗(watch)。数据观察窗用于显示用户想要观察的变量或表达式值,用户可以随时增加或删除观察数据。观察数据值可以按照十进制或者十六进制格式显示。观察数据值会跟随用户的每一步操作而自动重新计算和显示。数据观察窗有两个页面:“Watch 1”和“Watch 2”,每个页面可以单独输入不同的数据。观察数据名会跟随工程自动存储,当下一次打开同一个工程的时候,会自动调入原先存在的观察数据名。

数据观察窗缺省显示为十六进制,其界面如图所示:

图1.23 数据观察窗界面

用户可以使用以下两种方法增加观察数据:

1)双击数据观察窗最后的空行的名字栏,数据观察会在此处出现一个输入框,输入数据回车或者点击其它行,调试器将计算数据值,并显示在对应的值栏目。

2)在数据观察窗在点击鼠标右键,在数据观察窗菜单中选取“Add”菜单项,将弹出输入对话框,在其中输入想要观察的数据或者表达式。

F. 变量窗

点击菜单项View > Debug Windows > Variables可以打开和关闭变量窗。变量窗用于显示全局以及局部变量信息,并可修改变量值。变量窗有两个页面:“Global”和“Local”,分别用于显示全局变量和函数局部变量。变量值可以按照十进制或者十六进制格式显示。变量值以及局部变量名会跟随用户的每一步操作而自动重新计算和显示。当变量窗中变量值有变化的时候,变量窗会变红显示这些数据值。

变量窗缺省显示为十六进制,其界面如图所示:

图1.24 变量窗界面

用户可以察看变量的属性,其中包括变量名字、变量值和变量类型。用户可以修改变量值,方法是双击要修改的变量值栏,在显示的输入框中输入新值。当输入的数据为合法数据时候,调试器会修改目标系统中对应变量的值,并变红显示修改后的数据。

G. 函数栈窗

点击菜单项View > Debug Windows > Call Stack可以打开和关闭函数栈窗。函数栈窗用于显示函数运行调用关系,函数参数值可以按照十六进制或者十进制格式显示。最后调用的函数(即当前运行函数)在窗口最上部的第一行,按照调用关系依次往下排列,起始函数在窗口末的最后一行。

函数栈窗的界面如图所示(设置所有函数参数属性显示):

图1.25 函数栈窗界面

函数参数的名字、类型或值都可以单独设置是否显示。如果关闭所有函数参数显示,将只显示函数名字和返回类型。双击函数栈窗的某一函数所在行,源文

件窗会显示出该函数调用函数栈中上一函数返回后将要执行的下一句代码,并在该源代码行前面放置一蓝色向右箭头标志(见下图的青色圆圈包围处),函数栈窗同时会高亮显示该函数栈函数信息行。双击后调试器界面变化如图所示:

图1.26 双击函数行后的调试器界面

实验2 IDE 下的汇编和C 程序设计

2.1 实验目的

通过实验掌握简单ARM汇编语言和C语言程序设计方法。

2.2 GNU 基础知识

Embest IDE集成了GNU汇编器as,编译器gcc,链接器ld。因此,我们写程序要符合GNU的语法和规则。关于as、gcc和ld的具体使用,这里简单介绍几点基本知识:

1) 程序默认入口点为“_start”,代码段默认起始地址为0x8000

在汇编和C程序中,一般设置程序下载地址为0x30000000,此地址为程序存储器中的RAM地址。

2)常用伪操作符

.equ

.equ 伪操作为数字常量、基于寄存器的值和程序中的标号定义一个字符名称。

语法格式

.equ symbol, expr

其中,expr为基于寄存器的地址值、程序中的标号,32位的地址常量或者32 位的常量。

Symbol为.equ伪操作为expr定义的字符名称。

示例

.equ Version, "0.1"

.global及.globl

.global声明一个符号可以被其他文件引用。相当于声明了一个全局变量,.globl 与.global相同。

语法格式

.global symbol

其中,symbol为声明的符号的名称。它是区分大小写的。

示例

.global MyAsmFunc

.text

.text伪操作将操作符开始的代码编译到代码段或代码段子段(subsection)

语法格式

.text {subsection}

示例

基于STM32F103嵌入式实验指导书

实验一、STM32的开发环境与简单工程 一、实验目的 1、熟悉STM32开发板的开发环境; 2、熟悉MDK创建和配置STM32工程项目的基本流程; 3、熟悉STM32官方库的应用; 4、规范编程格式。 二、实验内容 本次实验配置MDK集成开发环境,新建一个简单的工程文件,添加STM32官方库并配置工程,编译运行这个工程文件。下载已经编译好的文件到开发板中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。 三、预备知识 基本单片机硬件知识、单片机软件编程语言、程序创建和调试的基本方法。 四、实验设备及工具 硬件:STM32开发平台 软件:STM32官方库;PC机操作系统Windows 98、Windows 2000或Windows XP;KEIL MDK 集成开发环境;串口转usb驱动。 五、实验步骤 1、在准备存放工程文件的目录下创建一新文件夹,命名为Proj_GPIO;在Proj_GPIO 文件夹里面分别再创建四个文件夹:CMSIS、USER、LIB、OBJ。如图1。 其中CMSIS(Cortex Microcontroller Software Interface Standard)用于存放Cortex-M 处理器系列的与供应商无关的软件抽象层和启动相关的代码文件; USER用于存放我们自己编写的代码文件(含自己移植的底层驱动),还有MDK工程; LIB存放所有的官方底层驱动库文件; OBJ用于工程输出的过程文件和最终的二进制文件。 图1

2、将官方库STM32F10x_StdPeriph_Lib_V3.5.0.rar解压。 1)把STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的所有文件和STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下的所有文件都到第一步所创建的CMSIS文件夹中; 2)把STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver目录下的文件(目录inc和scr)复制到第一步创建的LIB文件夹中; 3)把STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template目录下的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h三个文件复制到USER文件夹中。 3、打开MDK软件,新建一个工程Proj_GPIO保存到Proj_GPIO/USER中。CPU选择STM32F103ZE,如图2; 图2 4、新建一个空文档main.c保存到USER中,然后根 据绝对路径将文件对应添加到工程中,如右图。 5、配置工程属性,右键点击工程文件中的Target 1选择Options for Target ‘Target 1’打开工程选项对话框。做如下修改: 1)Output选项勾选Create HEX File,然后点击Select Folder for Objects按钮定位输出文件保存目录到工程的OBJ文件; 2)Listing选项,同样点击Select Folder for Listings定位输出文件保存目录到工程的OBJ 文件; 3)C/C++选项,Define中填入 STM32F10X_HD, USE_STDPERIPH_DRIVER系统的两个基 本宏定义;配置Include Paths属性,加入工 程中包含头文件的目录;如右图

嵌入式系统综合实验一

嵌入式系统综合实验一

学号: 装 订 线 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 专业:测控技术与仪器 姓名:颜睿

装订 线1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发送响应信号,送出40bit 的数据,幵触发一次信采集。

b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低 电平保持时间不能小于18ms,然后等待DHT11 作出 应答信号。 装 线 订 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时, 等待外部信号低电平结束,延迟后DHT11 的DATA 引脚处于输出状态,输出80 微秒的低电平作为应答信 号,紧接着输出80 微秒的高电平通知外设准备接收数 据。

装 订线 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。 (2)数据格式 一次传送40 位数据,高位先出 8bit 湿度整数数据+ 8bit 湿度小数数据+8bit 温度整

嵌入式ADS实验指导书

实验一嵌入式微处理器系统的开发环境 一、实验环境 PC机一台 软件: ADS 1.2集成开发环境一套 二、实验目的 1.了解嵌入式系统及其特点; 2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序 三、实验容 1.嵌入式系统的开发环境、基本配置 2.使用汇编指令完成简单的加法实验 四、实验步骤 (1)在D:\新建一个目录,目录名为experiment。 (2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。启动ADS 1.2 如图1-1所示: 图1-1启动ADS1.2 (3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮, 也可以在“File”菜单中选择“New…”菜单。这样就会打开一个如图1-2 所示的对话框。选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。 图1-2 新建文件 在这个对话框中为用户提供了7 种可选择的工程类型:

1)ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;2)ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库; 3)Empty Project:用于创建一个不包含任何库或源文件的工程; 4)Makefile Importer Wizard:用于将Visual C 的nmake 或GNU make 文件转入到CodeWarrior IDE 工程文件; 5)Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件; 6)Thumb Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件;7)Thumb Object Library:用于由Thumb 指令的代码生成一个armar 格式的目标文件库。(4)选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中。输入如程序代码,并保存,此时在工程窗口中可以看到TEST1.S文件。 图1-3 新建test1.s (5) 选择【Edit】->【Perferences…】,在Font选项设置字体是Fixedsys,Script是CHINESE_GB2312。 图1-4 设置字体 (6) 选择【Edit】->【DebugRel Settings…】,在DebugRel Settings对话框的左边选择ARM Linker项,设置地址。 点击“DebugRel Settings…”图标按钮,即可进行工程的地址设置、输出文件设置、编

2013嵌入式系统课程设计任务书

嵌入式系统 课程设计任务书 辽宁工程技术大学软件学院 嵌入式软件系

一、课程设计目的和任务 《嵌入式系统课程设计》是软件工程专业(嵌入式软件方向)学生的专业实践课程,是学习《嵌入式系统》课程后必要的实践教学环节。课程设计是检验学生是否掌握相关专业课程知识的重要手段,以学生为主体,充分调动学生的积极性和创造性,重视学生实际动手能力的培养。 通过本课程设计使学生加深理解、巩固课堂教学和平时实验内容,使学生初步具备基于Android、Linux、C和ARM汇编应用开发的系统分析、系统设计、系统实现与测试的实际能力,强化学生的知识实践意识、提高动手能力,发挥学生的想象力和创新能力,从而培养工程应用型人才。 二、课程设计基本要求 1、学习态度:要有勤于思考、刻苦钻研的学习精神和严肃认真、一丝不苟、有错必改、精益求精的工作态度,积极查阅整理分析相关参考文献,精心设计、认真编码、确保质量。对弄虚作假者,课程设计成绩一律按不及格记。 2、学习纪律:要严格遵守学习纪律,遵守作息时间,不得迟到、早退和旷课。特殊情况不能上课者,必须请假,凡未请假或未获准假擅自不上课者,均按旷课论处。 3、课程目标:掌握Linux和WinCE应用开发的基本理论知识和基本方法技能,概念清楚准确,系统分析、系统设计、系统实现、系统测试符合软件工程相关规范,结构合理,程序运行良好,课程设计报告撰写规范,答辩中回答问题正确。 4、课程设计报告:按照《课程设计报告规范》和《嵌入式系统课程设计任务书》的要求,认真设计、撰写好课程设计报告,总结课程设计的收获和心得体会,及时提交电子和纸质材料。 三、课程设计内容 1.以下学号学生完成题目1:1、11、9 题目1:基于嵌入式技术的烟气检测监控系统的设计(ARM体系结构与编程)设计要求:设计以嵌入式技术为核心的的烟气检测监控系统,完成系统的硬件组成和软件控制的设计,检测监控烟气排放是否符合烟气污染排放标

嵌入式微控制器技术实验任务书(附程序和仿真图)

“嵌入式微控制器技术”实验任务书(电气、自动化) 一、实验目的与要求: 1、熟练掌握基于SST89E554RC微控制器的Keil C51集成开发工具的操 作及调试程序的方法(包括:仿真调试与脱机运行间的切换方法);掌握 其他相关微控制器集成开发工具的使用及调试方法; 2、熟练掌握基于SST89E554RC单片机核心板及I/O扩展实验系统的电 路结构原理、设计与应用;掌握其他相关微控制器最小系统设计与应用; 3、熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下的基于51 单片机控制器数字接口电路的硬件、软件设计方法与功能调试; 4、完成本实验课程所要求的全部实验容,并写出实验报告。 二、微机原理与接口技术综合实验室资源简介 实验室为以下实验活动提供条件: 1、基于唐都实验系统的微机原理与接口技术实验(包括汇编语言、C 语言/C++语言软件编程实验和16位/32位微机接口电路应用实验); 2、基于SST89E554RC微控制器技术软/硬件实验(提供支持汇编语言、 C语言编程的Keil C51集成开发工具、最小核心板+唐都实验系统箱); 3、基于DSP2407、DSP2812、DSP28335微控制器技术软件/硬件实验(提 供支持C语言编程的TI公司的CCS集成开发工具、DSP系列学习开发板、直流电机、步进电机、液晶); 4、基于Freescale的16位MC9S12XS128微控制器技术应用实验(提 供支持C语言编程的CodeWarrier 5.0 For S12集成开发工具、 HF-MC9S12XS128EVB-A 核心板); 5、基于ARM的16/32位ARM7LPC2103TDMI-S微控制器技术基础实验(提供 支持C、C++语言编程的ARM公司推出的ARM微控制器ADS 1.2集成开发工具、EasyARM2103开发板); 6、基于ARM Cortex?-M3先进核的LM3S1138微控制器技术基础实验(提

嵌入式系统实验报告

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

实验名称: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所示:

嵌入式系统实验指导书

《嵌入式系统原理》实验指导书 目录 《嵌入式系统原理》实验指导书 (1) 目录 (1) 实验报告要求: ....................................................................................... 错误!未定义书签。 实验一Linux的初步使用 (2) 实验二linux驱动程序 (5) 实验三交叉编译程序 (11) 实验四编译内核与下载 (15)

实验一Linux的初步使用 实验目的: 熟练掌握linux命令的使用,linux程序的编译与调试 实验学时: 3学时 实验内容: 1.掌握虚拟机VMWARE的基本应用; 2. 掌握虚拟机中RED hat linux 的安装; 3. 掌握基本linux命令的使用; 4. 掌握linux程序编译与调试。 实验设备: 装有VMWARE的PC机一台,RED HAT安装光盘(或ISO映像文件)。 实验步骤: 1.创建一虚拟机MYLINUX 1)从桌面上单击“VMWARE WORKSTAION”启动虚拟机软件,单击新建虚拟 机,指定保存路径“D:\MYLINUX”,选择虚拟机操作系统类型:linux,然后 完成虚拟机的创建; 2)双击虚拟机中CDROM,选择将虚拟机光驱连接修改为:使用ISO映像,并指 定映像文件为共享磁盘:I:\redhat-disk-1.iso。 3)单击虚拟机中启动虚拟机,开始从光盘上启动系统并安装linux。 2.安装linux 注意: 在虚拟机和主机之间进行切换方法:鼠标单击虚拟机,可以进入;要回到主机,请用CTRL+ALT 1)输入回车,进入图形化安装;也可以linux text进入文本界面安装; 2)选择Skip(跳过CD检查),回车 3)点击NEXT(下一步) 4)安装语言,选择简体中文;或选择English 5)安装类型,选择定制:Custom 6)分区选择:自动分区

嵌入式课程设计

嵌入式课程设计 学院:计算机与通信工程学院专业:物联网工程班级:物联1501 姓名:王强学号:41501602 实验日期:2017年12月25日 实验名称: 嵌入式课程设计 实验目的: 以STC89开发板为硬件平台,开发温度采集、动态数码管显示、按键响应、与PC串口通讯的综合程序,实现以下功能: 1)PC上的串口调试助手通过串口给STC89开发板发送“GetTemp”命令。 2)STC89开发板从串口接收到“GetTemp”命令后启动温度传感器DS18B20的测温程序获取当前温度,测试完成时将所测得温度数据显示在动态数码管上。(动态数码管在温度获取之前应该显示“FFFFFFFF”,只有在获取温度后才显示温度值) 3)动态数码管显示出温度数据后,请通过按键触发STC89开发板通过串口回送步骤2所测的温度数据给PC上串口调试助手,同时恢复动态数码管显示为“FFFFFFFF”。为保证每个同学的实验都独立完成,要求回送的数据包含自己的学号,即如果你的学号是20150809,当前温度值是19.6摄氏度,那么在PC上的串口调试助手应该显示:20150809 : 19.6°C。硬件电路说明: 1)STC89处理器管脚和晶振电路

2)独立按键 独立按键一共5个,分别连接在单片机的P3.0到P3.4口。去抖动的方式,我们采用软件延时的方法。过程如下: 先设置IO口为高电平(一般上电默认就为高),读取IO口电平确认是否有按键按下,如有IO电平为低电平后,延时几个ms,再读取该IO电平,如果任然为低电平,说明对应按键按下,执行相应按键的程序。 3)DS18B20温度传感器部分 DS18B20内部的低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一频率稳定的计数脉冲。 高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。 初始时,温度寄存器被预置成-55℃,每当计数器1从预置数开始减计数到0时,温度寄存器中寄存的温度值就增加1℃,这个过程重复进行,直到计数器2计数到0时便停止。 初始时,计数器1预置的是与-55℃相对应的一个预置值。以后计数器1每一个循环的预置数都由斜率累加器提供。为了补偿振荡器温度特性的非线性性,斜率累加器提供的预置数也随温度相应变化。计数器1的预置数也就是在给定温度处使温度寄存器寄存值增加1℃计数器所需要的计数个数。 DS18B20内部的比较器以四舍五入的量化方式确定温度寄存器的最低有效位。在计数器2停止计数后,比较器将计数器1中的计数剩余值转换为温度值后与0.25℃进行比较,若低于0.25℃,温度寄存器的最低位就置0;若高于0.25℃,最低位就置1;若高于0.75℃时,温度寄存器的最低位就进位然后置0。这样,经过比较后所得的温度寄存器的值就是最终读

嵌入式系统综合实验一

实验名称: 姓名: 学号: 装 订 线 P.1 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED 灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC 引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.4.28 地点:创客空间

装订线送响应信号,送出40bit 的数据,幵触发一次信采集。 b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低电平保持时间不能小于18ms,然后等待DHT11 作出应答信号。 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11 的DATA引脚处于输出状态,输出80 微秒的低电平作为应答信号,紧接着输出80 微秒的高电平通知外设准备接收数据。 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。

《嵌入式系统开发实训》实训指导书V1.0

《嵌入式系统开发实训》指导书 一、实训的目的和作用 实训是培养和锻炼学生在学习完《嵌入式系统开发》后综合应用所学理论知识解决实际工程设计和应用问题的能力、进行工程实训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《嵌入式系统开发》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的实训,使学生学会系统地综合运用所学的技术理论知识,提高学生在嵌入式应用方面的开发与设计本领,系统的掌握嵌入式系统设计方法。 本实训是配合课堂教学的一个重要的实践教学环节,不仅要培养学生的实际动手能力,检验学生对本课程学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过本实训使学生深入了解嵌入式系统开发的步骤与方法,掌握嵌入式系统的软硬件协同开发要点及使用方法。掌握能够根据实际问题综合应用嵌入式软件、硬件的基本技能,编写相应的程序。巩固和强化理论教学内容,综合课程教学中的实验环节,培养和锻炼学生的工程实践能力,具备嵌入式系统软硬件协同开发应用程序的能力。 二、实训主要内容与要求 要求每个学生(或小组)都要自己动手独立设计完成一个典型的嵌入式应用小系统。设计题目可以在给出的参考题目中选,也可以自己选设计题目,但难度不应小于参考题目,需经指导教师审查后方可确定是否采纳或修改设计题目。 一般以1~2人为一个小组,分工协作,可以进行充分的讨论和互助。完成所选课题的硬件和软件的设计与调试。独立解决设计和调试过程中遇到的基本问题。总结整个实践过程,写出实训报告(包括方案选择比较、总体思路、理论分析、系统设计,软件流程图,加注释的源程序,调试过程中遇到的问题及解决办法,总结与体会,参考文献)。 实训是在教师指导下,各组可以集体讨论,但实训报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师查资料、给数据、定答案。同组同学要发扬团队协作精神,积极主动的提出问题、解决问题、讨论问题,互相帮助和启发。 实训报告每个学生一份,由课代表收齐后统一交给指导教师。实训成绩评定由3部分组成:验收答辩情况30%,实训作品质量40%,实训报告书30%。

嵌入式系统课程设计

《嵌入式系统设计与应用》课程设计 题目嵌入式系统的实践教学探讨 1.嵌入式系统设计与应用课程的内容概述 1.1 内容概述 本课程适用于计算机类专业,是一门重要的专业课程。它的任务是掌握嵌入式系统的基本概念;掌握嵌入式处理器 ARM 体系结构,包括ARM总体结构、存储器组织、系统控制模块和I/O外围控制模块;掌握ARM指令集和Thumb指令集;掌握ARM汇编语言和C语言编程方法;了解基于ARM 的开发调试方法。它的目的是了解和掌握嵌入式处理器的原理及其应用方法。 1)介绍嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应 用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入 式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基 本内容,使学生系统地建立起的嵌入式系统整体概念。 2)对ARM技术进行全面论述,使学生对ARM技术有个全面的了解和掌握,建立起以ARM技术为基础的嵌入式系统应用和以ARM核为基础 的嵌入式芯片设计的技术基础。 3)ARM指令系统特点,ARM 指令系统,Thumb 指令系统,ARM 宏汇编,ARM 汇编语言程序设计,嵌入式 C 语言程序设计。 1.2实践教学探讨 在IEEE 计算机协会2004年6月发布的Computing Curricula Computer Engineering Report, Ironman Draf t 报告中把嵌入式系统课程列为计算机工程学科的领域之一,把软硬件协同设计列为高层次的选修课程。美国科罗拉多州立大学“嵌入式系统认证”课程目录包括实时嵌入式系统导论、嵌入式系统设计和嵌入式系统工程训练课程。美国华盛顿大学嵌入式系统课程名称是嵌入式系统

嵌入式实验指导书 (修改6)20161025

嵌入式系统技术及应用 实验指导书 (第3版) 郑普亮编写 西安建筑科技大学信控学院 智能建筑与楼宇自动化实验室 2014年5月

目录 1课程简介、实验项目及学时安排 (1) 1.1课程简介 (1) 1.2实验项目及学时安排 (1) 2实验仪器仪表设备简介 (2) 2.1嵌入式系统实验箱 (2) 2.2其它实验设备 (2) 3嵌入式系统技术及应用课程实验 (3) 3.1实验1系统认识实验 (3) 3.2实验2定时器实验 (10) 3.3实验3PWM发生器实验 (14) 3.4实验416*16LED点阵显示汉字实验 (16)

1课程简介、实验项目及学时安排 1.1课程简介 嵌入式系统广泛应用于仪器仪表、工业控制、汽车电子等多个领域,是一个综合性的快速发展的技术方向。课程以ARM Cortex-M3系列处理器为主,着重介绍了嵌入式系统设计的基本概念、基于ARM处理器的体系结构、ARM微处理器的编程模型与指令系统、嵌入式操作系统及相关的接口技术。 通过对本课程的学习,能够使学生深刻了解ARM处理器的工作原理,熟练掌握ARM 微处理器的指令系统,以及嵌入式系统软硬件设计基本方法,进而加强学生独立设计能力和创新能力的培养。 1.2实验项目及学时安排 本课程的实验目的是使学生掌握ARM指令系统及基于C语言和驱动程序库的程序设计方法,掌握ARM微处理器各组成部分工作原理及应用,培养学生对ARM微处理器的应用程序与硬件电路的设计能力,提高学生分析和解决实际问题的能力,从而为学生今后走向工作岗位、从事相关专业领域的科学研究和技术开发打下扎实的基础。所以安排了验证性、设计性和综合性不同属性的实验项目。 序号实验项目学时 实验性质 验证综合设计 1系统认识实验2√ 2定时器实验2√ 3PWM发生器实验2√416*16LED点阵显示汉字实验2√ 注:实验项目根据实验教学安排选取。

嵌入式系统实验实验报告

嵌入式系统实验实验报告 一、实验目的 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);

嵌入式系统实验指导指导书完整版

嵌入式系统实验指导王艳春英一劲松

实验一嵌入式微处理器系统的开发环境 一、实验环境 PC机一台 软件: ADS 1.2集成开发环境一套 二、实验目的 1.了解嵌入式系统及其特点; 2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序 三、实验容 1.嵌入式系统的开发环境、基本配置 2.使用汇编指令完成简单的加法实验 四、实验步骤 (1)在D:\新建一个目录,目录名为experiment。 (2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。启动ADS 1.2 如图1-1所示: 图1-1启动ADS1.2 (3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮, 也可以在“File”菜单中选择“New…”菜单。这样就会打开一个如图1-2 所示的对话框。选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。 图1-2 新建文件 在这个对话框中为用户提供了7 种可选择的工程类型:

1)ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;2)ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库; 3)Empty Project:用于创建一个不包含任何库或源文件的工程; 4)Makefile Importer Wizard:用于将Visual C 的nmake 或GNU make 文件转入到CodeWarrior IDE 工程文件; 5)Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件; 6)Thumb Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件;7)Thumb Object Library:用于由Thumb 指令的代码生成一个armar 格式的目标文件库。(4)选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中。输入如程序代码,并保存,此时在工程窗口中可以看到TEST1.S文件。 图1-3 新建test1.s (5) 选择【Edit】->【Perferences…】,在Font选项设置字体是Fixedsys,Script是CHINESE_GB2312。 图1-4 设置字体 (6) 选择【Edit】->【DebugRel Settings…】,在DebugRel Settings对话框的左边选择ARM Linker项,设置地址。 点击“DebugRel Settings…”图标按钮,即可进行工程的地址设置、输出文件设置、编

嵌入式linux实验指导书

嵌入式linux实验指导书 实验一:arm裸机实验 实验条件: pc ADS开发环境FL2440开发套件SecureCRT串口超级终端 实验目的: 熟悉arm裸机开发基本步骤,掌握ADS集成开发环境的使用,能够编写简单的裸机程序并下载到开发板运行测试。 实验原理: ADS 全称为ARM Developer Suite ,是ARM 公司推出的新一代ARM 集成开发工具。ADS 由命令行开发工具、ARM 实时库、GUI 开发环境(Code Warrior 和AXD) 、实用程序和支持软件组成。有了这些部件,用户就可以为ARM 系列的RISC 处理器编写和调试自己开发的应用程序了。本次实验利用ADS集成开发环境建立基于arm9 S3C2440的实验工程,完成工程搭建、代码编写和编译,生成可执行文件并下载到开发板进行运行测试。 实验步骤: 1、首先打开ADS软件CodeWarrior,点击File 菜单下的New 来创建新工程。Project 对话框中选择ARM Executable Image 。在Project name 中输入工程名,例:2440_led,点击“Location:”文本框的“Set...”按钮,选择要将工程保存的路径,然后点击确定即可建立一个新的工程。工程建立之后会出现一个24 40_led.mcp 窗口。 2、创建源文件,点击File 菜单下的New,选择标签页File,在File name 中输入要建立的文件名,如:Init.s (.s 文件为arm 中的汇编文件),若此时选上了Add to Project,创建的文件会自动添加到工程中,选择target方式为DebugRel,点击确定关闭窗口,文件创建完成后编写代码。(可将arm_linux文件夹下的裸机例程代码复制到工程中进行修改,如:复制裸机程序中的led程序init.s led.c 到建立的工程文件目录中,点击Project 菜单下的Add Fils 将源文件添加到工程中)

嵌入式应用开发实验指导书 (1)

实验一基本接口实验(一) [实验设备] 1.JXARM9-2410教学实验箱 2.ADT1000仿真器和ADT IDE集成开发环境 3.串口、并口连接线 [实验目的] 1.掌握ARM的串行口工作原理,编程实现ARM的UART通讯; 2.掌握嵌入式系统中断的处理流程和ARM中断编程; 3.在ADT环境下如何建立工程,对工程进行正确的设置。添加相应文件(汇编、脚本、.c 源文件等) [实验内容一] 实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。 [预备知识] 1.了解ADT集成开发环境的基本功能 2.学习串口通讯的基本知识 3. 熟悉S3C2410串口有关的寄存器 [基础知识] 串行通信接口电路组成 1.可编程的串行接口芯片 2.波特率发生器 3.EIA与TTL电平转换器 4.地址译码电路 通信协议: 1.异步协议 2.同步协议 异步串行通讯 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。 数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。 接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。 在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。 异步串行通信中的字符传送格式

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

嵌入式linux实验指导书

目录 实验一 linux常用指令练习 (3) 1、在线帮助指令 (3) 2、linux开关机及注销指令。 (3) 重启指令: (3) 1)、reboot命令 (3) 2)、init 6命令 (3) 关机指令: (3) 1)、halt命令 (3) 2)、poweroff命令 (4) 3)、init 0命令 (4) 4)、shutdown命令 (4) 注销指令: (4) 3、用户管理命令 (4) 1)、用户切换su命令 (4) 2)、添加用户命令adduser/useradd (5) 3)、删除用户及更改用户属性 (5) 4)、设置用户密码 (6) 5)、查看用户信息 (6) 4、文件目录操作指令 (7) 1)、改变当前工作目录命令(cd) (7) 2)、显示当前路径pwd (7) 3)、查看当前目录下的文件命令ls (7) 4)、新建目录指令mkdir (8) 5)、删除目录命令rmdir (8) 6)、新建文件命令touch (8) 7)、删除文件指令rm (8) 8)、文件和目录的复制命令cp (8) 9)、文件和目录的移动命令mv (9) 10)、更改文件或目录的使用权限chmod (9) 11)、查看文件的命令cat (9) 12)、文件链接命令ln (9) 13)、文件压缩解压命令 (10) 5、网络相关命令 (11) 6、磁盘管理命令 (11) 7、挂载文件命令mount (12) 8、其他系统命令 (12) 练习1: (13) 练习2: (15) 练习3: (16) 练习4: (21) 实验二 VI文本编辑器的使用 (24) 1、练习使用VI指令 (24) 2、利用VI编写一个hello.c文件 (24)

嵌入式Linux开发课程设计指导书

嵌入式Linux开发课程设计指导书 课程编码: 适应专业:计算机专业、电子信息工程专业 学时:3周(计算机专业),2周(电子信息工程专业) 学分: 3(计算机专业),2(电子信息工程专业)时间安排:分散 先修课程:高级语言程序设计、计算机组成原理、接口技术,嵌入式系统,操作系统指导书名称: 一、目的与任务: 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力。 本课程设计采用理论指导与实践相结合的方式,系统地学习并实践嵌入式Linux程序开发技术。通过课程设计,学生可以熟练掌握Linux的基本操作,系统管理,并具备Linux 下文件、进程、网络、GUI的开发方法,为实际应用开发打下坚实的基础。 二、目标 通过本次课程设计要求学生达到以下目标: 1)熟悉Linux操作系统具体操作(安装、基本命令、系统管理、FTP服务器搭建) 2)熟悉Linux下C程序开发调试的基本过程。 3)熟悉嵌入式Linux进程及进程间通信 4)能够熟练编写Linux应用程序,包括文件、网络、图形等 三、内容 任务1、基础知识,完成以下任务: Linux操作系统的安装、基本命令的使用,网络的配置,FTP服务器搭建,VI编辑器的使用,文件压缩方法。 任务2、Linux系统C程序设计的基本知识,完成以下任务 1)GCC编译器的使用,Linux系统C程序设计编译、调试方法。 2)分别用if和switch判断一个数的奇偶性并输出结果。 3)用for语句编写程序,计算100到200之间所有奇数的和。 4)用while语句编写程序,计算1000到2000之间所有能被16整除的数的和。

嵌入式系统实验报告

嵌入式系统实验报告文件排版存档编号:[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 <>

相关主题