当前位置:文档之家› ARM嵌入式原理和开发实验报告

ARM嵌入式原理和开发实验报告

ARM嵌入式原理和开发实验报告
ARM嵌入式原理和开发实验报告

.

南京邮电大学海外学院

实验报告

实验名称:

实验一基于ADS开发环境的程序设计

实验二嵌入式Linux交叉开发环境的建立实验三嵌入式Linux环境下的程序设计

课程名称嵌入式系统与开发

班级学号

姓名

开课时间 2014/2015学年第1学期

实验一基于ADS开发环境的程序设计

一、实验目的

1、学习ADS开发环境的使用;

2、学习和掌握ADS环境下的汇编语言及C语言程序设计;

3、学习和掌握汇编语言及C语言的混合编程方法。

二、实验内容

1、编写和调试汇编语言程序;

2、编写和调试C语言程序;

3、编写和调试汇编语言及C语言的混合程序;

4、编写程序测试多寄存器传送指令的用法。

三、实验原理

ADS全称为ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具。现在常用的ADS版本是ADS1.2,它取代了早期的ADS1.1和ADS1.0。

ADS用于无操作系统的ARM系统开发,是对裸机(可理解成一个高级单片机)的开发。ADS具有极佳的测试环境和良好的侦错功能,它可使硬件开发工作者更深入地从底层去理解ARM处理器的工作原理和操作方法,为日后自行设计打基础,为BootLoader的编写和调试打基础。

1.ADS软件的组成

ADS由命令行开发工具、ARM运行时库、GUI开发环境(CodeWarrior和AXD)、实用程序、支持软件等组成。

2.GUI开发环境

ADS GUI开发环境包含CodeWarrior和AXD两种,其中Code Warrior是集成开发工具,而AXD是调试工具。

使用汇编语言进行编程简单、方便,适用于初始化硬件代码、启动代码等。

汇编语言具有一些相同的基本特征:

1.一条指令一行。

2.使用标号(label)给内存单元提供名称,从第一列开始书写。

3.指令必须从第二列或能区分标号的地方开始书写。

4.注释必须跟在指定的注释字符后面,一直书写到行尾。

在ARM汇编程序中,每个段必须以AREA作为段的开始,以碰到下一个AREA 作为该段的结束,段名必须唯一。程序的开始和结束需以ENTRY和END来标识。

嵌入式C语言设计是利用基本的C语言知识,面向嵌入式工程实际应用进行程序设计。为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序调用的基本规则。

四、实验过程与关键代码分析

1.创建项目工程

在File菜单中选择New命令,打开一个新建工程对话框。在Project 选项卡下,选择ARM Executable Image, 然后在Project name文本框里输入项目名称,点击确定。弹出工程窗口。

选择File菜单中的New命令,选择File标签页,在File name文本框中输入要创建的文件名。汇编程序以.s结尾,c程序以.c结尾。在Location 文本框中指定文件的存放位置,选中Add to Project,在Targets中选中DebugRel,单击确定关闭窗口。

2.用汇编语言设计程序实现10的阶乘

AREA EXAMPLE, CODE, READONLY

ENTRY

start

MOV R0, #10

MOV R1, #1

LOOP

MUL R0, R0, R1

SUB R0, R0, 1

CMP R0, #1

BHI LOOP

END

在这个程序中,我们首先对R0和R1赋值,将R0作为一个变量,而R1作为一个存贮阶乘值的寄存器。在每进行一次乘法之后,将R0减1。同时在做完减法后进行判断,如果此时R0大于1,则返回继续乘法,否则结束程序,输出结果。

3.用调用子程序的方法实现1!+2!+3!+…+10!,代码如下:

asmp.s

AREA JC, CODE, READONLY

EXPORT JCP

ENTRY

JCP

ADD R3, R0, #1

MOV R2, #1

MOV R1, #1

LOOP MUL R0, R1, R2

MOV R1, R0

ADD R2, R2, #1

CMP R2, R3

BNE LOOP

NOP

MOV PC, LR

END

PROGC.c

#include

Extern int JCP(int N)

int main()

{

int res=0;

int m=10;

int i;

for (i=1;i<=m;i++)

res=res+JCP(i);

printf(“The result =%d\n”,res);

return 0;

}

在这个程序中,主程序由c语言完成作求和,子程序由汇编语言写成作阶乘。

5.实现字符串的逆序复制TEXT1=“HELLO”=>TEXT2=“OLLEH”

AREA invstring, CODE, READONLY

start

ADR R1,TEXT1

ADR R2,TEXT2

MOV R3, #0

LOOP

LDRB R0,[R1], #1

ADD R3,R3,#1

CMP R0,#0

BNE LOOP

SUB R1,R1,#2

LOOP1

LDRB R0,[R1], #-1

STRB R0,[R2], #1

SUB R3,R3, #1

CMP R3,#1

BNE LOOP1

MOV R5,#&55

NOP

TEXT1 =“HELLO”,0

TEXT2 =“OELLH”

END

五、实验小结

在这次实验中,学会了如何使用汇编程序进行编程。对汇编程序编程一些基本的要求有了一定的了解,学习了C语言的语法和在其中调用汇编程序的方法。学会了利用CodeWarrior IDE开发C和ARM汇编代码。学会了在AXD中进行代码调试的方法和过程,对AXD的调试有初步的了解。

实验二嵌入式Linux交叉开发环境的建立

一、实验目的

1、掌握嵌入式Linux交叉开发环境的建立方法

2、学习和掌握Linux常用命令

3、学习和掌握vi编辑器的使用

二、实验内容

1、搭建嵌入式Linux交叉开发环境

2、熟悉Linux的常用命令

3、熟悉vi编辑器的常用命令

三、实验原理

Linux系统是UNIX系统的分支,是UNIX的微机版。Linux具有异常丰富的驱动程序资源,支持各种主流的硬件设备与技术。Linux包含了现代的UNIX操作系统的所有功能特性,这些功能包括多任务、虚拟内存、虚拟文件系统、进程间通信、对称所处理器、多用户支持等。

Vi编辑器是所有UNIX和Linux下的标准编辑器。它包含3种工作模式。

嵌入式系统是专用的计算机系统,它对系统的功能、可靠性、成本、体积、功耗等有严格的要求。大部分嵌入式系统没有大容量存储设备,一般不能安装大型开发软件,系统的开发需要采用交叉开发模式。

四、实验过程与关键代码分析

实验用的是UP-NetARM2410-S试验箱,里面配有三星的芯片S3c2410X。

打开电脑上VMWare软件,在Windows系统下启动虚拟机里的Linux系统。接着需要

1. 宿主机的环境搭建

下载并运行VMWare,根据向导创建一台新虚拟机并选择Linux作为客户操作系统,再根据向导安装RedHat Linux 9.0。

2. 虚拟机中启动Linux操作系统

使用root登陆,用户名为root,密码为123456。之后对共享文件设置进行调整:打开settings界面,打开shared folders功能,同时将路径设置到有课前下载的软件的目录下。

3. 开发工具软件的安装

(1)安装gcc

打开Linux后,打开终端窗口,在共享的目录下找到install.sh并运行,命令如下:

ls

. / install.sh

安装程序将自动建立/arm2410s目录,并将所有的开发软件包安装到/arm2410s 目录下,同时自动配置编译环境,建立合适的符号链接。安装完成后在目录/opt/host/armv4l/bin/下应该能看到主编译器。

(2)配置PATH路径

vi .bash.profile

将里面PATH变量改为PATH=$PATH:$HOME/bin:/opt/host/armv41/bin/;

存盘后执行

source .bash_profile

以后armv4l-unknown-linux-gcc将被自动搜索到

4. 宿主机上的开发环境配置

(1)配置IP地址

ifconfig eth0 192.168.0.121

命令配置了宿主机的IP地址。然后打开网络配置窗口,重新探测MAC地址。

重新激活。

(2)关闭防火墙

单击“Red”菜单→“系统设置”→“安全级别”→打开“安全级别配置”窗口,选择“无防火墙选项。”

(3)配置NFS。

单击“Red”菜单→“系统设置”→“服务器设置”→“服务”,在“服务配置”窗口中勾选nfs,单击“开始”

(4)NFS设置

单击“Red”菜单→“系统设置”→“服务器设置”→“NFS服务器”,打开“NFS服务器配置”窗口,设置NFS共享。

然后在NFS服务器中增加主机IP地址的链接许可和目录。完成配置。

5. 目标机的信息输出

Windows系统下,“开始”→“所有程序”→“附件”→“通讯”→“超级终端”,新建一个通信终端。区号、电话号码随意输入。设置每秒位数为“115200”,数据位为“8”,无奇偶校验,停止位为“1”,无数据流控制。

单击“确定”。

6. 程序的运行

打开超级终端,启动Linux,屏幕显示:

[/mnt/yaffs]

在超级终端上执行挂载命令:

[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs

挂载成功后可执行程序。

五、实验小结

在这次实验中,学会建立Linux交叉开发环境,学会了ls和vi,cd等常用

的Linux命令,并掌握了Vi编辑器的使用方法。同时知道了如何在搭建失败时寻找错误进行排错。

实验三嵌入式Linux环境下的程序设计

一、实验目的

1、掌握嵌入式Linux环境下的程序设计方法

2、学会编写Makefile文件

二、实验内容

1、熟悉嵌入式教学实验箱的使用

2、编写C程序和Makefile文件

3、编译程序产生可执行程序

4、完成主机的挂载和程序的执行

三、实验原理

在嵌入式Linux环境下的程序设计方法有一下几个步骤:

1.编写源程序

2.编写Makefile文件

3.编译程序

4.运行和调试程序

5.将生产的可执行文件加入文件系统。

前三个步骤在宿主机上完成,后面的步骤在目标机上完成。

四、实验过程与关键代码分析

1. 建立工作目录

mkdir hello

cd hello

2.编写源程序

用vi编辑器编辑Hello.c文件

vi Hello.c

在Vi中输入源程序如下:

#include

main()

{

printf(“hello world \n”);

}

3.编写Makefile文件

vi Makefile

在vi中编辑Makefile文件如下:

CC= armv4l-unknown-linux-gcc

EXEC = hello

OBJS = hello.o

CFLAGS +=

LDFLAGS+= -static

all: $(EXEC)

$(EXEC): (OBJS)

$(CC) $(LDFLAGS) –o $@ $(OBJS)

clean:

-rm –f $(EXEC) *.elf *.gdb *.o

4.编译程序

在hello目录下运行“make”来编译程序。

make clean

make

编译成功后,生成可执行文件Hello.o。

5.下载调试

在宿主机上启动nfs服务,并将/arms2410s设置为共享目录。接下来启动超级终端,建立通讯,挂载。

[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs

挂载成功后,进入/mnt/nfs,再进入/mnt/nfs/hello,直接运行刚刚编译生成的可执行文件Hello.o,查看运行结果

cd hello

. /hello

可以看见“Hello world”

只需要挂载一次便可,只要实验箱没有重启,就可以一直保持连接。反复修改、编译、调试,直至程序调试通过。

6.可执行文件加入文件系统

程序调试通过后,可以把可执行文件拖放到usr/bin目录下,然后使用mkcramfs制作工具生成新的文件系统。当系统启动后,就可以在相应目录下执行可执行程序hello.

五、实验小结

在这次实验中,学会了在嵌入式Linux环境下设计程序。同时知道了如何对目标机进行挂载。以及如何在发现挂载不成功寻找错误进行修改。另外在编译文件时需要注意的也都有所了解。

ARM+FPGA开发板规格书

2014

Revision History

阅前须知 版权声明 本手册版权归属广州创龙电子科技有限公司所有,非经书面同意,任何单位及个人不得擅自摘录本手册部分或全部,违者我们将追究其法律责任。本文档一切解释权归广州创龙电子科技有限公司所有。 ?2014-2018Guangzhou TronlongElectronicTechnologyCo.,Ltd. All rights reserved. 公司简介 广州创龙电子科技有限公司(简称“广州创龙” ,英文简称"Tronlong"),是杰出的 嵌入式方案商,专业提供嵌入式开发平台工具及嵌入式软硬件定制设计及技术支持等服务,专注于DSP+ARM+FPGA 三核系统方案开发,和国内诸多著名企业、研究所和高校有密切的技术合作,如富士康、威胜集团、中国科学院、清华大学等国内龙头企业和院校。 TI 嵌入式处理业务拓展经理ZhengXiaolong 指出:“Tronlong 是国内研究OMAP-L138 最深入的企业之一,Tronlong 推出OMAP-L138+Spartan-6三核数据采集处理显示解决方案,我们深感振奋,它将加速客户新产品的上市进程,带来更高的投资回报率,使得新老客户大大受益。” 经过近几年的发展,创龙产品已占据相关市场主导地位,特别是在电力、通信、工控、 音视频处理等数据采集处理行业广泛应用。创龙致力于让客户的产品快速上市、缩短开发周期、降低研发成本。选择创龙,您将得到强大的技术支持和完美的服务体验。 产品保修 广州创龙所有产品保修期为一年,保修期内由于产品质量原因引起的,经鉴定系非 人为因素造成的产品损坏问题,由广州创龙免费维修或者更换。 更多帮助

嵌入式实验报告

课题:按键控制流水灯 专业:物联网工程 班级: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种功能

嵌入式实验报告二

实习二建立交叉编译环境 实习内容: 本次实验主要包括二部分内容:开发环境配置,主要有配置NFS,Samba和超级终端;编写编译程序。 1、配置NFS(实现宿主机和目标机的信息共享) 打开Linux虚拟机,点击主菜单运行系统设置->服务器设置->NFS 服务器,点击增加,在出现的界面中的目录中填入需要共享的路径,在主机中填入允许进行连接的主机的IP地址(注意:这里主机IP指的是开发板的IP)。并选择允许客户对共享目录的操作为只读或读写(注意:实验中选的是读写,一定不能忽略),如下图: 对客户端存取服务器的一些其他设置,一般不需要设置,取默认值。然后退出,完成了NFS配置。 2、配置Samba(实现Windows和Linux系统的文件共享) ①关闭防火墙,这个地方和上面的NFS的配置是一样的。 ②配置Samba服务器 选择“系统设置”—>“服务器配置”—>“Samba服务”,进行Samba 服务器配置。首先创建Samba共享,选择“基本”选项卡,在“目录”

的文本框中输入要共享的文件,基本权限设为读/写。在“访问”选项卡中选择“允许所有用户访问”选项,通过“首选项”进行服务器配置。在“基本”选项卡中设置工作组和描述,在“安全性”选项卡中设置“验证模式”为共享,“加密口令”为否,“来宾账号”为无来宾账号。 ③设置Samba服务器IP地址(与前面的NFS的设置相同) ④启动Samba服务器 在命令行中输入service smb start,即可启动Samba服务器。 ⑤配置Windows下的IP地址 将Windows下的IP地址和Samba服务器IP地址设置在同一网段中即可(注意:这里设置IP时一定要注意在同一网段) ⑥在Windows下访问共享 在Windows中的“运行”窗口中输入Samba服务器的IP地址,就可以看见在虚拟机中共享的文件。 3、配置超级终端 ①在linux操作系统Xwindow界面下建立终端,在终端的命令行提示符后输入minicom,回车,然后就会看见minicom的启动画面,若没有启动Xwindow则在命令行提示符后直接输入minicom即可。 ② minicom启动后,先按Ctrl+A键,然后按Z键进入主配置界面,按“O”进入配置界面,按上下键选择Serial port setup,进入端口设置界面,然后按照指导书中的指示修改几个重要选项。 ③选好后按ESC键退出端口设计界面,选择Save setup as df1保存

嵌入式实验报告

嵌入式技术 实验报告 系别:计算机与科学技术系 班级:计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”来编译应用程序。

嵌入式实验报告

嵌入式实验报告 学院:信息工程学院 专业:计算机科学与技术班级:计算机班 姓名: 学号: 指导老师:

实验目录 实验一嵌入式系统开发环境实验 (2) 实验二系统节拍定时器实验 (12) 实验三 GPIO控制实验 (16) 实验四外部中断实验 (19) 实验五串口通讯实验 (23)

实验一嵌入式系统开发环境实验 【实验目的】 1.熟悉RealView MDK集成开发环境以及使用方法。 2.熟悉嵌入式系统软件设计方法和流程。 【实验内容】 1. 通过例程熟悉、掌握嵌入式系统的编辑、编译、调试、下载及运行过程。 2. 建立自己的工程文件,在开发板板上调试程序。 【实验步骤】 (一)程序安装 1. 建议在安装之前关闭所有的应用程序,双击安装文件,弹出如图对话框,Next 2.默认选择C盘文件下安装。

3.这样就在c盘底下出现keil文件夹。 4.单击选择菜单“File”-->"License Management" 将弹出下面一张图的界面:复制其中CID号,以便在粘贴到下一步中的破解软件。 5.复制CID

6.运行破解软件,将出现下面一张图的界面,把上步复制的CID号粘贴到相应位置,其他选项如图,然后点击“Generate”按钮,然后复制产生的序列号,粘贴到上一步的下面一张图的LIC输入框中,然后点击右侧的Add LIC,即可完成破解。 7.安装文件夹中的jlink驱动。 (二)工程创建、编译 使用Realview MDK创建、完成一个新的工程只需要以下几个环节: →创建工程并选择处理器→选择工具集→创建源文件→配置硬件选项→配置对应启动代码→编译链接→下载→调试。 1.创建工程并选择处理器 选择Project→New Project…,输入创建的新工程的文件名,即可创建一个新的工程。 2.创建一个新工程时,需要为工程选择一款对应处理器,在NXP 列表下选择LPC1768 芯片。然后点击OK。接下来出现的对话框选择“是或者也可以通过单击Project→Select Device for Target…在本次课程中,我们选择

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科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所示:

嵌入式实验报告

目录 实验一跑马灯实验 (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的软件仿真功能。

嵌入式实验报告二work2.

实验报告 课程名称嵌入式系统编程实践 实验仪器清华同方辰源嵌入式系统实验箱 实验名称实验二:利用中断实现OLED动态显示实验 系别__计算机学院_ 专业___ __ 班级/学号_ 学生姓名___ __ ___ _ _ 实验日期_ 2013年9月22日 成绩___________________ 指导教师_ _ 朱敏玲 ___

实验二:利用中断实现OLED动态显示实验 一、实验问题回答 (1)ISR是什么?简述一下中断的作用和使用方法 答:ISR是中断服务程序。作用是通过处理器执行事先编好的某个特定的程序。使用方法就是在main中写一个中断程序,然后在startup.s中进行注册。 (2)嵌入式系统中有哪些应用有定时性循环处理的要求?举几个例子答:在各种网络的应用中,设计的一些部件,如计数器,时钟等。 (3)定时时间间隔如何修改? 答:通过改变SysTickPeriodSet(SysCtlClockGet()/100)后面的100这个参数。(4)选作内容5-8的编程思路是什么?若做的话应该怎样实现? 答:编程思路:先画直线和竖线,组成一个正方形,将各个参数填写到函数RIT128x96x4ImageDraw(buf,,,,);第6个选作:判断画的原点x,原点y,和画原点x+的长,画原点y+画宽的值要在0-128和0-96。第7个选作:把RIT128x96x4StringDraw("hello",,,);就是把画的灰度定义为一个变量x。最后就会出现由不同的亮度而形成的波浪。第8个就是利用随机函数产生画的原点,随机的在屏幕上进行显示。 (5)拖影现象如何解决?计数值显示为什么没有拖影? 答:在程序结束后执行清屏语句:计数显示是每次重新赋值,所以不会出现拖影。 二、实验目的和效果(效果即是否达到实验目的,达到的程度如何) (1)深入学习、理解、掌握OLED字符显示方法 (2)深入学习、理解、掌握OLED图形显示方法 (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() {

Linux C语言 socket编程 聊天室 可移植到arm开发板

sockets聊天室 1.1介绍 包括一个客户端和一个服务器。可实现多人聊天和两人一对一单独聊天。 1.2开发环境和工具 Linux gcc 1.3程序设计 服务器: 1. 声明一个client结构体,包含用户自己的socket描述符mid,自己的用户名name以及 与自己聊天对象的Socket描述符fid(默认是-1,即公共聊天室)。并定义一个结构体数组。 2. 服务器新建一个socket设置默认的ip为自动获取,调用bind()函数绑定服务器socket 与ip。 3. 开启listen()监听客户端的连接请求。 4. 在while循环里,用accept()等待连接,连接成功后,把accept()返回的socket描述 符存入client结构体数组中。 5. 每成功新建一个连接,就创建一个对应的子线程,接收并转发消息。 6. 定义void rec_snd(int n)这个函数,用于接收和转发消息。可选择公共聊天室和私聊, 私聊需要正确输入对方的名字。连接建立以后就可以发送消息。当接收的消息为bye 时,断开当前连接,如果是一对一私聊,一方断开另一方自动转入公共聊天室。 客户端: 1.新建一个socket,并与ip,端口进行绑定。 2.调用connect连接服务器。连接成功后新建一个线程用于发送消息, 主线程在while中调用read()接收服务器消息。 3.Snd()函数用于向服务器发送消息。 4._select()函数用于选择功能。 1.4应用演示 服务器端成功开启等待连接:

当有客户端连接时,会显示ip端口,socket标识符信息。客户端成功连接上服务器时会收到提示输入用户名: 输入姓名后会提示选择功能:

嵌入式综合实验报告

《嵌入式系统综合实验》报告 学号: 姓名: 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等待周期访问(读/写)。

嵌入式程序设计实验报告

实验一开发环境的搭建与配置 【实验目的】 1)熟悉嵌入式Linux开发平台。 2)掌握嵌入式Linux开发平台的开发环境搭建与配置。 3)了解minicom配置串口通信参数的过程。 4)了解嵌入式Linux的启动过程。 5)掌握程序交叉编译运行及调试的一般方法。 【实验内容】 1)连接实验开发板与宿主机。 2)在虚拟机中的CentOS(宿主机)搭建开发环境。 3)在宿主机中配置minicom。 4)分析嵌入式Linux的启动过程。 5)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,然后传输到目标机上运行。 6)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,用gdbserver进行远程调试。 【实验步骤】 连接实验开发板,对虚拟机进行设置 1)首先把实验开发板打开,用网线和串口线连接宿主机,并连接电源(注意这时不要拨动实验 开发板的开关按钮)。 2)在桌面上点击打开vmware 软件,选择“编辑虚拟机设置”,如下图所示:

图1 3)进入虚拟机配置界面后把网络连接方式设置为“桥接方式”,如图2所示: 图2

4)添加串口,如下图所示: 图3 5)完成串口的添加后,选择“OK”,完成对虚拟机的设置。如下图所示:

图4 6)选择虚拟机的“Edit”、“Virtual Network Editor...”,如下图所示:

图5 7)进入虚拟机网络参数设置界面后对VMnet0进行设置(注意这里桥接的网卡应选择与实验开 发板相连接的那块儿网卡),然后点击“Apply”、“OK”如下图所示:

图6 8)上述设置完成后启动CentOS(CentOS的用户名为“root”,密码为“xidianembed”)。 工具链的配置 1)在CentOS的根目录下创建一个名为“EELiod”的目录,把实验中要用到的文件(主要是一 些rpm包)拷贝到该目录下。(可以用U盘、WinSCP等工具进行,此处不再做详细说明)。 2)交叉编译工具链位于/opt/buildroot-2011.02/output/host/usr目录下,进入工具链的bin目录下, 可以看到一些编译工具,这些工具将会在之后的交叉编译过程中使用到。

arm9开发板实验报告1

轻工业学院 实训报告 实训名称: 项目一:编写从A/D转换器的通道x获取模拟数据,并将转换后 的数字量以波形的形式在LCD上显示的程序 项目二:触摸屏驱动程序设计 姓名:克歌 院(系):计算机与通信工程学院 专业班级:嵌入式09--01 学号: 1 指导教师:雪琴 成绩: 时间:2011年 8月 29日至 2011年 9 月 7 日

一、需求说明 1.巩固和强化学生的嵌入式系统的基本概念和开发流程,掌握基本知识和基本 技能。 2.掌握硬件开发平台、开发资源和软件开发环境,尤其是裸机嵌入式系统开发 方法。掌握汇编和C语言混合编程技巧,熟悉系统启动引导过程,能够成功移植嵌入式系统引导程序。培养和训练学生综合利用所学基本知识和基本技能进行小型裸机程序开发的技能。 3.明确思路和任务,查询相关书籍、资料,综合了解ARM的AD转换器和LCD 驱 动器,重点分析时S3C2440的LCD 驱动器的工作原理和初始化方法。分析与AD转换相关的寄存器,编写AD转换器的初始化函数,编写获取AD转换结果的函数。分析与LCD相关的寄存器,编写LCD 驱动器的初始化函数,配置显示方式。分析LCD绘图的API函数。编写主函数,将AD转换结果在LCD上以波形的方式显示,同时以串口输出到PC机。进入调试。实现转换数据实时输出,实现串口输出数据与LCD 波形显示的一致。 4.明确思路和任务,查询相关书籍、资料,重点分析S3C2440的触摸屏接口工 作原理和相关寄存器。编写触摸屏初始化函数,确定XY位置转换模式。编写触摸屏中断初始化函数,中断服务函数。编写屏幕校准函数。确定坐标计算公式。编写触点数据采集函数。编写主函数,进入调试。实现触摸屏坐标点x、y的正确读取。 二、功能描述 项目一:编写从A/D转换器的通道x获取模拟数据,并将转换后的数字量以波形的形式在LCD上显示的程序。 项目二:通过对AD转换器的配置——触摸屏自动测试x/y位置模式,选择进入到触摸屏驱动函数。在进行触摸屏测试时,先进入函数判 断是否启动A/D转换,如果不是的话就跳出此函数,如果是的话 进行下面的判断,看A/D转换是否结束,如果是,跳出函数,如 果不是运行程序,并输出x、y的值。再回到触摸屏驱动函数, 测试结束,清屏。

(完整版)2014完整ARM嵌入式系统实验报告

郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 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汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。 ; 文件名:

嵌入式系统实验实验报告

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

嵌入式实验报告

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

实验一 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实验:

《嵌入式操作系统》实验报告

《嵌入式操作系统》实验报告 班级计算机 学号 姓名 指导教师庄旭菲

内蒙古工业大学信息工程学院计算机系 2018年6月 实验一Linux内核移植与编译实验 1. 实验目的 了解Linux 内核相关知识与内核结构 了解Linux 内核在ARM 设备上移植的基本步骤和方法 掌握Linux 内核裁剪与定制的基本方法 2. 实验内容 分析Linux 内核的基本结构,了解Linux 内核在ARM 设备上移植的一些基本步骤及常识。 学习Linux 内核裁剪定制的基本配置方法,利用UP-Magic210 型设备配套Linux 内核进行自定义功能(如helloworld 显示)的添加,并重新编译内核源码,生成内核压缩文件zImage,下载到UP-Magic210 型设备中测试。 3. 实验步骤 实验目录:/UP-Magic210/SRC/kernel/编译内核:在宿主机端为UP-Magic210 设备的Linux 内核编写简单的测试驱动(内核)程序并修改内核目录中相关文件,添加对测试驱动程序的支持。 (1)、使用vim 编辑器手动编写实验代码

内如如下: #include #include MODULE_LICENSE("Dual BSD/GPL"); (3)、进入实验内核源码目录修改driver/char/目录下的Makefile 文件,按照内核中Makefile 语法添加helloworld程序的编译支持 [root@localhost vi drivers/char/Makefile 在Makefile 中(大约在91 行)添加如下一行 obj-$(CONFIG_TOSHIBA) += obj-$(CONFIG_I8K) += obj-$(CONFIG_DS1620) += obj-$(CONFIG_HW_RANDOM) += hw_random/ obj-$(CONFIG_HELLO_MODULE) += obj-$(CONFIG_PPDEV) += (4)、运行make menuconfig 配置内核对helloworld 程序的支持: [root@localhost make distclean [root@localhost make menuconfig 先加载内核配置单,如图:

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

实验一熟悉嵌入式系统开发环境 一、实验目的: 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来启动实验箱;

嵌入式综合实验报告

基于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” 键或选择下面的则可看到配置帮助信息;

嵌入式系统实验报告

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

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