嵌入式实验

嵌入式实验
嵌入式实验

嵌入式实验报告

专业:计算机科学与技术专业班级:计科1班

学号:1245713131

姓名:

目录

实验一shell脚本命令 (2)

实验二熟悉make工具 (6)

实验三主机交叉开发环境的配置 (9)

实验四嵌入式web服务器 (11)

总结 (15)

实验一shell脚本命令

一、实验目的:

1.练习shell脚本的使用方法,能利用shell语言编写简单的shell脚本。

二、实验内容:

1.写一个shell脚本,完成如下功能:提示用户输入一个文件路径,并判断是否是“/etc”,如果是则显示“YES”。

运行结果:

2.使用touch命令建立一个新文件,测试其内容是否为空,向文件中写入内容后,再次进行测试,并打印输出相应结果。

1)用touch命令建立一个新文件zy,并通过gedit 命令查看该文件内是否有内

容。

2)通过gedit命令查看到结果:zy文件中没有内容。

3)编写测试程序。

4)执行测试程序,并再次查看zy文件。

5)查看结果。

3.由用户从键盘输入一个大于1的整数(如50),并计算从1到该数之间各整数的和。

运行结果:

4.由用户从键盘输入一个字符,并判断该字符是否为字母、数字或者其他字符,并输出相应的提示信息。

运行结果:

5.在脚本中定义一个加法函数,用于计算两个数的和,并调用该函数分别计算12+34、56+78的和。

运行结果:

实验一总结:

1.Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。

2.shell提供变量来设置环境参数和保存shell信息。

i.变量命名规则:

一般由字母和下划线构成,并且变量名第一个字符不能为数字。

shell变量可以保存诸如路径名、文件名或者一个数字。对shell来讲,所有变量的取值都是一个字符串。

注意:变量是弱类型的,声明变量不用声明类型。

3.Shell变量的定义和引用:

i.定义自己的变量:

变量名=变量值

在定义变量时,变量名前不应加符号“$”,在引用变量的内容时则应在变量名前加“$”;在给变量赋值时,等号两边一定不能留空格,若变量

中本身就包含了空格,则整个字符串都要用双引号括起来。

ii.显示变量

使用echo 命令可以显示单个变量取值,并在变量名前加$,例如:

$ myvar="how are you"

$ echo $myvar

iii.清除变量

使用unset命令清除变量。

unset varname

iv.显示所有本地shell变量

使用set命令显示所有本地定义的shell变量

v.变量的引用

格式:

$变量名,或者${变量名}

变量名为一个字符用方式一,变量名多于一个字符建议用第2中方式例子:

a=1

abc="hello"

echo $a

echo ${abc}

实验二熟悉make工具

一、实验目的:

1.掌握基本的makefile结构

2.能独立编写简单的makefile完成程序的编译

二、实验内容:

1.自己编写一个程序,实现两个数的加减乘除运算,并输出结果。

2.自己编写makefile文件,设计程序的编译规则。

3.利用make进行自动化编译,查看结果。

1)实现两个数的加减乘除运算的程序:

运行结果:

2)编写makefile文件,设计程序的编译规则:

3)利用make进行自动化编译,查看结果:

实验二总结

1.Make

Make的优点包括:

i.如果仅修改了某几个源文件,则只重新编译这几个源文件;

如果某个头文件被修改了,则重新编译所有包含该头文件的源文件。

ii.利用这种自动编译可大大简化开发工作,避免不必要的重新编译。

2.Make file文件

i.Make file 是编译规则文件,其中记录了源文件的编译规则。

ii.make file 需要按照某种语法进行编写,其中说明了如何编译各

个源文件并连接生成可执行文件,并定义了源文件之间的依赖关系。

当修改了其中某个源文件时,如果其他源文件依赖于该文件,则也

要重新编译所有依赖该文件的源文件。

3.Make file规则的一般形式Makefile规则的一般形式

i.Make file规则的一般形式如下:

target: dependency dependency

(tab)

target是需要创建的二进制文件或目标文件,dependency是在创建target 时需要用到的一个或多个文件的列表,命令序列是创建target文件所需要执行的步骤,比如编译命令。

ii.一个Makefile文件主要含有一系列的规则,每条规则包含以下内容。

一个目标(target),即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如“clean”。

一个或多个依赖文件(dependency)列表,通常是编译目标文件所需要的其他文件。

一系列命今(command),是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,且每个命令行的起始字符必须为TAB字符。

实验三主机交叉开发环境的配置

一、实验目的:

1.掌握嵌入式系统开发环境的搭建方法。

2.能独立搭建开发环境,并进行测试。

二、实验内容:

1.在自己的电脑上安装交叉编译工具

2.通过nfs进行测试:自己编写程序(内容不限),利用

arm-linux-gcc交叉编译器进行编译,通过nfs将可执行程序共享给目标机,并执行。

实验三总结

NFS使用步骤:

1.检查nfs工具包是否安装

rpm -qa | grep nfs

如果没有,则安装;如果有则会列出rpm信息

2.安装nfs方法

执行

rpm -ivh nfs…..

3.ubuntu下nfs服务的启动:

配置/etc/exports,内容为:

/arm 192.168.0.*(rw,sync,no_root_squash,no_subtree_check)

/arm---要共享的目录

192.168.0.*---允许访问的网段,也可以是ip地址、主机名(能够被服务器解析)、*(所有人都能访问)

(rw,sync,no_root_squash,no_subtree_check)---rw:读/写权限

sync:数据同步写入内存和硬盘

no_root_squash:服务器允许远程系统以root特权存取该目录

no_subtree_check:关闭子树检查

4.启动服务

(1)重启portmapper(端口映射)服务

$ service portmap restart

portmap start/running, process 550

(2)重启NFS服务

$ service nfs-kernel-server restart

* Stopping NFS kernel daemon [ OK ]

* Unexporting directories for NFS kernel daemon...

[ OK ]

* Exporting directories for NFS kernel daemon...

[ OK ]

* Starting NFS kernel daemon [ OK ]

实验四嵌入式web服务器

一、实验目的:

1.了解web服务器的工作原理

2.掌握嵌入式服务器goAhead的搭建方法

二、实验内容:

1.以GoAhead

2.5为例,建立web服务器

2.自己编写简单html界面,测试web服务器

1)以GoAhead2.5为例,建立web服务器

a)cd LINUX

修改Makefile

屏蔽:

matrixsslDir:=$(shell ls -d ../matrixssl-3-1*/)

由于源码包中没有SSL加密的源码,所以要将Makefile中的matrixsslDir:=$(shell ls -d ../matrixssl-3-1*/)这行代码注释掉

b)修改LINUX/main.c

屏蔽下面内容:

if (gethostname(host, sizeof(host)) < 0) {

error(E_L, E_LOG, T("Can't get hostname"));

printf("initWebs::Can't get hostname.\n");

return -1;

}

if ((hp = gethostbyname(host)) == NULL) {

error(E_L, E_LOG, T("Can't get host address"));

printf("initWebs::Can't get hostname...\n"); // added by gyr 2011.09.17

return -1;

}

memcpy((char *) &intaddr, (char *) hp->h_addr_list[0],

(size_t) hp->h_length);

加入

intaddr.s_addr = inet_addr("192.168.218.129");

假定虚拟机IP地址是192.168.0.1 (获取服务器IP地址,事先一定要设置好服务器IP)

c)执行

make clean;

Make

d)运行web 服务器

./webs& (&符号是让服务器在后台运行,也可以不要)

打开浏览器:

http://192.168.218.129:8080/home.htm

2)自己编写简单html界面,测试web服务器

实验四总结

goAhead Web服务器,小巧、精致,特别适合于嵌入式系统,因此,在很多嵌入式产品如路由器中都用到了goAhead作为嵌入式web服务器。

特点:

支持ASP;

支持嵌入式的JavaScript,即Ejscript;

支持内存中的CGI处理;

占用很小内存,如果不包含SSL,仅要求60K内存;包含SSL,要求500K 内存;

支持多种操作系统,如linux、wince、vxworks等等。

Web页面可存在于ROM或文件系统中;

GoAhead服务器支持使用SSL进行数据加密和认证。

配置goAhead Web服务器过程:

tar -xzvf webs-2-5.tar.gz

cd webs-2-5/

cd LINUX

1)修改Makefile

屏蔽:

matrixsslDir:=$(shell ls -d ../matrixssl-3-1*/)

由于源码包中没有SSL加密的源码,所以要将Makefile中的

matrixsslDir:=$(shell ls -d ../matrixssl-3-1*/)这行代码注释掉

2)修改LINUX/main.c

屏蔽下面内容:

if (gethostname(host, sizeof(host)) < 0) {

error(E_L, E_LOG, T("Can't get hostname"));

printf("initWebs::Can't get hostname.\n");

return -1;

}

if ((hp = gethostbyname(host)) == NULL) {

error(E_L, E_LOG, T("Can't get host address"));

printf("initWebs::Can't get hostname...\n"); // added by gyr 2011.09.17

return -1;

}

memcpy((char *) &intaddr, (char *) hp->h_addr_list[0],

(size_t) hp->h_length);

加入

intaddr.s_addr = inet_addr("192.168.0.1");

3)执行

make clean;

Make

总结

本次实验总共有四次实验,经过四次实验,让我对嵌入式有了更多的了解。第一次实验是shell脚本命令,Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统的关键。shell本身也是一种语言(*可以先理解为linux命令的组合,加上类C的条件,循环等程序控制语句),用户可以通过shell编程(脚本,文本文件),完成特定的工作。在第一次实验中,我对shell语法有了更深的了解,掌握了shell程序的变量的定义与引用。第二次实验是make实验,make 工具通过一个称为makefile 的文件来完成并自动维护编译工作。Makefile 是编译规则文件,其中记录了源文件的编译规则。makefile 需要按照某种语法进行编写,其中说明了如何编译各个源文件并连接生成可执行文件,并定义了源文件之间的依赖关系。当修改了其中某个源文件时,如果其他源文件依赖于该文件,则也要重

新编译所有依赖该文件的源文件。在这次实验中,我学会了如何使用makefile 定义规格,来告诉make处理哪些文件以及如何处理这些文件。第三次实验是主机交叉环境的配置,主要做的是文件夹共享,在这次实验中,我学会了如何将文件夹设置为共享。第四次实验是web服务器实验,嵌入式web服务器特点:在存贮空间和运行时所占有的内存空间上都较小,非常适合于嵌入式应用场合。goAhead Web服务器,小巧、精致,特别适合于嵌入式系统,因此,在很多嵌入式产品如路由器中都用到了goAhead作为嵌入式web服务器。本次实验的重点是配置goAhead Web服务器,虽然是按照老师给的步骤来做的,但是还是出了不小的问题,好像是自己的电脑无法配置,不过经过自己的努力,还是找到了解决的方法,解决了无法配置的难题。希望以后还能在嵌入式方向有更深入的学习,学到更多关于嵌入式方向的知识。

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科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个部分。如下图:

嵌入式操作系统实验指导书1

嵌入式操作系统实验 实验一 Linux常用命令 一.实验目的 1. 熟悉VMware Workstation虚拟机的使用。 2. 熟悉ubuntu操作系统。 3. 掌握常用的Linux命令。 二.实验设备 硬件:PC机。 软件:VMware Workstation虚拟机、ubuntu操作系统。 三.实验内容 1.基于虚拟机的Linux操作系统的使用。 2.文件与目录相关命令的使用。 3.磁盘管理与维护命令的使用。 4.系统管理与设置命令的使用。 5.网络相关命令的使用。 6.压缩备份命令的使用。 四.实验步骤 1.基于虚拟机的Linux操作系统的使用 (1)启动VMware Workstation应用程序,启动windows以后,点击开始→程序→VMware→VMware Workstation,出现如图1所示界面。

图1 启动VMware Workstation (2)点击菜单File Open选择安装好的Linux虚拟机文件,或者直接点击Start this virtual machine启动Linux操作系统。 (3)启动系统后需要输入用户名和密码,如图2所示,这里用户名为root,密码为“123456”。 图2输入用户名和密码 (3)启动终端,成功进入系统后,选择应用程序->系统工具->终端,如图3所示。 图3 启动终端 (4)在终端中执行Linux命令,终端运行以后,就可以在这里输入Linux命令,并按回车键执行,如图4所示。

图4运行Linux命令 2.文件与目录相关命令的使用 理解12个常用的文件与目录相关命令的使用,完成如下练习。 (1)查询/bin目录,看一看有哪些常用的命令文件在该目录下:ll /bin (2)进入/tmp目录下,新建目录myshare: cd /tmp mkdir myshare ls -ld myshare/ (3)用pwd命令查看当前所在的目录 pwd (4)新建testfile文件 touch testfile ls -l (5)设置该文件的权限模式 chmod 755 testfile ls -l testfile (6)把该文件备份到/tmp/myshare目录下,并改名为testfile.bak。 cp testfile myshare/testfile.bak ls -l myshare/ (7)在/root目录下为该文件创建1个符号连接。 ln -s /tmp/testfile /root/testfile.ln ls -l /root/testfile.ln (8)搜索inittab文件中含有initdefault字符串的行。 cat /etc/inittab | grep initdefault 3.磁盘管理与维护命令的使用 理解2个磁盘管理与维护命令,完成如下练习。 (1)Linux下使用光盘步骤: ?确认光驱对应的设备文件:ll /dev/cdrom ?挂载光盘:mount -t iso9660 /dev/cdrom testdir ?查询挂载后的目录:ll /media/cdrom ?卸载光盘(umount testdir)umount /dev/cdrom (2)Linux下USB设备的使用 ?挂载U盘,看看系统认出的盘(或者使用#fdisk -l)。cat /proc/partitions

嵌入式系统技术实验指导

《嵌入式系统技术》 实验指导 桂林电子科技大学 电子工程与自动化学院

2013.10 实验一 KEIL MDK 编程环境及实验箱使用入门 一、实验目的: 1、掌握MDK建立工程、设置工程的方法; 2、掌握MDK编译工程、链接工程的方法; 3、掌握MDK仿真调试的方法; 二、实验内容: 1、参考本次实验的实验步骤,完成本次实验,以及实验步骤中的几个思考题 2、参考教材66页有关MDK工具的配置回答以下几个问题 (1)MDK提供的两种调试模式 (2)如何在工程中打开存储单元观察窗口 (3)如何在工程中设置断点 三、实验原理: Keil公司开发的ARM开发工具 MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM 的设备,能帮助工程师按照计划完成项目。本次实验主要熟悉软件的使用过程以及编译代码的下载过程。 四、实验步骤: (1)启动MDK; (2)建立项目; (3)设置工程 (4)建立文件并将文件添加到过程; (5)输入代码; (6)编译连接;

(7)下载代码在线调试。 五、实验要求 1. 总结软件使用过程; 1.总结CORTEXM3处理器的开发流程和调试方法; 实验二数字I/O实验 1、实验目的 1、了解通用I/O接口的接口和性能; 2、了解复用功能和重映射; 3、掌握通用I/O接口的程序设计方法。 2、实验原理 CORTEX 处理器的一个GPIO引脚包含以下几个寄存器: ①两个32位的配置寄存器(GPIOx_CRL,GPIOx_CRH) ②两个32位的数据寄存器(GPIOx_IDR,GPIOx_ODR) ③一个16位的复位寄存器(GPIOx_BRR) ④一个32位的置位/复位寄存器(GPIOx_BSRR) ⑤一个32位的锁定寄存器(GPIOx_LCKR)。 所有寄存器不允许按照半字节或字节访问,必须按32位字访问。1.1.2每一个GPIO引脚都可以在程序中配置成如下几种模式:输入悬空,输入上拉,输入下拉,模拟输入,开漏输出,推挽式输出,,推挽式复用功能,开漏复用功能。

嵌入式操作系统实验报告

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

嵌入式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…”图标按钮,即可进行工程的地址设置、输出文件设置、编

嵌入式系统综合实验一

嵌入式系统综合实验一

学号: 装 订 线 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一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 温度整

南邮嵌入式系统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)

嵌入式操作系统实验一建立交叉编译环境

嵌入式操作系统实验一建 立交叉编译环境 Last updated on the afternoon of January 3, 2021

嵌入式操作系统实验报告 队友:张圣苗亚 实验内容 1、准备工作工作:安装virtualbox虚拟机工具,并安装系统、增强型工具,实现共享文件夹的自动挂载。 2、利用crosstool提供的脚本安装和相关资源编译面向的ARM的GCC工具。 详细内容1:安装虚拟机软件和虚拟机时要完成的主要步骤有:安装virtualbox,建立一台虚拟机,分配内存和硬盘,指定共享文件夹(主机和虚拟机可共同操作),指定操作系统镜像文件路径(相当于光盘,第一次启动时安装),安装虚拟操作系统,安装增强工具包,实现共享文件夹的自动挂载。有几点需要注意: 1、虚拟硬盘尽量分配大一些,之后再扩就比较麻烦。 2、共享文件夹不要有中文路径,不然挂载后看不到中文名称文件。 3、安装操作系统时,不能断网,需要下载各种资源,不然会异常。 详细内容2需要安装与脚本相关的工具,需要修改crosstool中的配置文件以指定编译的目标位arm-linux。需要修改需要的资源 实验步骤 实验准备: 在实验准备中,在安装完增强工具包()并重启之后,需要实现对共享文件夹的自动挂载,只需要修改etc目录中的配置文件,是很多linux系统管理员的偏爱,因为凡是需要随系统自动启动的服务、程序等,都可以放在里面。 $sudomkdir/mnt/share $sudomount-tvboxsfembedded/mnt/shared 上面三句话实现了将共享文件夹embeded挂载到了share上。 gedit/etc/ 将第2句命令添加在exit之前,实现了自动挂载功能。 实验一 一、搭建编译环境 1、安装于脚本运行相关及其他的工具bison、flex、build-essential、patch、libncurses5-dev。

嵌入式系统与应用实验指导08

《嵌入式系统原理及应用》 实验指导书 适用专业:电气、测控等 课程代码: 8413841 总学时: 48 总学分: 3 编写单位:电气信息学院 编写人:王平 审核人: 审批人: 批准时间:年月日

目录 实验一ADS 1.2集成开发环境练习 (3) 实验二汇编调用实验与Bootloader下载 (11) 实验三、μC/OS-II移植实验 (14) 实验四、步进电机控制实验 (17)

实验一ADS 1.2集成开发环境练习 一、实验目的和任务 了解ADS 1.2集成开发环境的使用方法。 建立一个新的工程;建立一个汇编源文件,并添加到工程中;设置文本编辑器支持中文;设置编译链接控制选项;编译链接工程;调试工程。 二、实验设备 装有ADS 1.2集成开发环境的PC机 三、实验步骤 1.ADS环境练习。 (1) 在D:\新建一个目录,目录名为experiment。 (2) 启动ADS1.2 IDE集成开发环境,选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。 (3) 选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中。输入如程序代码,并保存,此时在工程窗口中可以看到TEST1.S文件。

(4) 选择【Edit】->【Perferences…】,在Font选项设置字体是Fixedsys,Script 是CHINESE_GB2312。 (5) 选择【Edit】->【DebugRel Settings…】,在DebugRel Settings对话框的左边选择ARM Linker项,设置链接地址。

嵌入式系统实验实验报告

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

嵌入式系统实验报告

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

嵌入式系统实验指导书

《嵌入式系统原理》实验指导书 目录 《嵌入式系统原理》实验指导书 (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)分区选择:自动分区

嵌入式系统实验报告

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

嵌入式系统综合实验一

实验名称: 姓名: 学号: 装 订 线 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。

嵌入式实验报告心得

竭诚为您提供优质文档/双击可除 嵌入式实验报告心得 篇一:嵌入式系统各实验实验报告 嵌入式系统设计实验报告 班级:学号:姓名:成绩:指导教师: 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),按确定按钮后出现属性对话框,设置通

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

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

实验一嵌入式微处理器系统的开发环境 一、实验环境 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…”图标按钮,即可进行工程的地址设置、输出文件设置、编

嵌入式系统实验报告-串行通信实验-答案

《嵌入式系统实验报告》 串行通信实验 南昌航空大学自动化学院050822XX 张某某 一、实验目的: 掌握μC/OS-II操作系统的信号量的概念。 二、实验设备: 硬件:PC机1台;MagicARM2410教学实验开发平台台。 软件:Windows 98/2000/XP操作系统;ADS 1.2集成开发环境。 三、实验内容: 实验通过信号量控制2个任务共享串口0打印字符串。为了使每个任务的字符串信息(句子)不被打断,因此必须引入互斥信号量的概念,即每个任务输出时必须独占串口0,直到完整输出字符串信息才释放串口0。 四、实验步骤: (1)为ADS1.2增加DeviceARM2410专用工程模板(若已增加过,此步省略)。 (2)连接EasyJTAG-H仿真器和MagicARM2410实验箱,然后安装EasyJTAG-H仿真器(若已经安装过,此步省略),短接蜂鸣器跳线JP9。 (3)启动ADS 1.2,使用ARM Executable Image for DeviceARM2410(uCOSII)工程模板建立一个工程UART0_uCOSII。(本范例在ADS文件夹中操作) (4)在ADS文件夹中新建arm、Arm_Pc、SOURCE文件夹。将μC/OS 2.52源代码添加到SOURCE文件夹,将移植代码添加到arm文件夹,将移植的PC服务代码添加到Arm_Pc文件夹。 (5)在src组中的main.c中编写主程序代码。 (6)选用DebugRel生成目标,然后编译链接工程。 (7)将MagicARM2410实验箱上的UART0连接跳线JP1短接,使用串口延长线把MagicARM2410实验箱的CZ11与PC机的COM1连接。 注意:CZ11安装在MagicARM2410实验箱的机箱右侧。 (8)PC机上运行“超级终端”程序(在Windows操作系统的【开始】->【程序】->【附件】->【通讯】->【超级终端】),新建一个连接,设置串口波持率为115200,具体设置参考图3.5,确定后即进入通信状态。 (9)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。 (10)全速运行程序,程序将会在main.c的主函数中停止(因为main函数起始处默认设置有断点)。 (11)可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,在超级终端上观察任务0和任务1的打印结果。 五、实验结论与思考题(手写,打印无效): 1、如果任务0删除语句“OSSemPost(UART0_Sem);”,那么程序还能否完全正常无误运行? 答:OSSemPost (OS_EVENT *pevent),这个函数是释放资源,执行后资源数目会加1。在该函数中,删除对应语句则使串口资源UART0_Sem始终无法释放。

相关文档
最新文档