嵌入式系统实验报告

  • 格式:doc
  • 大小:424.50 KB
  • 文档页数:19

实验报告 1.1 最小系统设计 实验成员: 邢兢业 0910200144

刘 洋 0910200132 方锡华 0910200124 孙 昭 0910200134

一、实验目的 (1)熟悉Proteus与Keil for ARM的使用; (2)掌握Proteus与Keil for ARM联合调试方法; (3)掌握嵌入式系统最小系统的设计与调试方法; (4)掌握嵌入式系统的仿真设计技术。

二、实验内容 本次实验利用电路仿真软件Proteus与嵌入式开发环境Keil for ARM进行嵌入式系统的仿真。在Proteus中进行嵌入式系统最小系统的硬件电路设计,并在Keil for ARM中完成最小系统测试程序的编写和编译,最后将编译成的可执行代码装载到嵌入式微处理器中进行电路的仿真运行。

三、预备知识 C语言的基础知识,Proteus与Keil for ARM软件的基本使用方法和设置。 四、实验设备 硬件:PC机(或笔记本电脑) 软件:Windows xp以上操作系统,Proteus 7.8以上版本,Keil for ARM 3.0以上版本。

五、实验步骤 (1)安装Proteus及Keil for ARM 软件 (2)在Proteus中建立嵌入式最小系统电路

实验小组编号 15 实验成绩 图1.1.1 嵌入式最小系统原理图 (3)在Keil for ARM中编写最小系统测试程序 测试程序源代码如下: #include void delay() { int i; int j; for(i=0;i<100;i++) for(j=0;j<1000;j++); } int main(void) { int i; IO0PIN=0; for(i=7;i<=10;i++) { /*IO0DIR=1<<7|1<<8|1<<9|1<<10;*/ /*IO0CLR=1<<7|1<<8|1<<9|1<<10;*/ IO0DIR=1

(4)下载调试 结果记录如图1.1.2所示。

图1.1.2 实验结果图 实验报告 1.2 串行通信设计 实验成员: 邢兢业 0910200144 刘 洋 0910200132 方锡华 0910200124 孙 昭 0910200134

一、实验目的 (1)掌握UART部件的使用与接口扩展方法; (2)掌握嵌入式系统的仿真设计技术。

二、实验内容 本次实验利用电路仿真软件Proteus与嵌入式开发环境Keil for ARM进行嵌入式系统的仿真。在Proteus中进行嵌入式系统的UART接口硬件电路设计,并在Keil for ARM中完成串行通信程序的编写和编译,最后将编译成的可执行代码装载到嵌入式微处理器中进行电路的仿真运行。

三、预备知识 C语言的基础知识,Proteus与Keil for ARM软件的基本使用方法和设置。 四、实验设备 硬件:PC机(或笔记本电脑) 软件:Windows xp以上操作系统,Proteus 7.8以上版本,Keil for ARM 3.0以上版本。

五、实验步骤 (1)在Proteus中建立嵌入式系统电路

实验小组编号 15 实验成绩 图1.2.1 嵌入式系统原理图 (2)在Keil for ARM中编写系统测试程序 测试程序源代码如下:

(3)下载调试 结果记录如图1.2.2所示。

图1.2.2 实验结果图 2.1 熟悉Linux开发环境 实验成员: 邢兢业 0910200144 刘 洋 0910200132 方锡华 0910200124 孙 昭 0910200134

一、实验目的 熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用。使用Linux的 armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。

二、实验内容 本次实验使用Redhat Linux 9.0操作系统环境,安装ARM-Linux的开发库及编译器。创建一 个新目录,并在其中编写hello.c和Makefile文件。学习在Linux下的编程和编译过程,以及ARM 开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。

三、预备知识 C 语言的基础知识、程序调试的基础知识和方法,Linux的基本操作。 四、实验设备及工具(包括软件调试工具) 硬件:UP-NETARM2410-S嵌入式实验平台、PC机。 软件:PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境

五、实验步骤 (1)正确连接实验箱与宿主机 (2)在宿主机的Windows环境下,启动超级终端 (3)进入工作目录 (4)修改程序源代码 修改后源代码 #include void main(void) { printf(“hello world \n”); printf(“hello ly\n”) }

(5)编译应用程序

实验小组编号 15 实验成绩 (6)下载调试 运行结果 实验报告 2.2 多线程应用程序设计 实验成员: 邢兢业 0910200144 刘 洋 0910200132 方锡华 0910200124 孙 昭 0910200134

一、实验目的 (1)了解多线程程序设计的基本原理。 (2)学习pthread库函数的使用。

二、实验内容 熟悉几个重要的PTHREAD库函数的使用,掌握共享锁和信号量的使用方法。 进入/arm2410s/exp/basic/02_pthread目录,运行make产生pthread程序,使用NFS方式连接开发主机进行运行实验。

三、预备知识

实验小组编号 15 实验成绩 有C语言基础 掌握在Linux下常用编辑器的使用 掌握Makefile的编写和使用 掌握Linux下的程序编译与交叉编译过程。

四、实验设备 硬件:UP-NETARM2410-S 嵌入式实验平台,PC机。 软件:PC机操作系统REDHAT LINUX 9.0+ARM-LINUX开发环境。

五、实验步骤 (1)编写并编译简单的多线程示例程序 (2)阅读源代及编译应用程序 (3)下载和调试 实验结果如下:

(3)在任意一个示例程序中,加入一个新的线程用于处理键盘的输入,并在按键为ESC时终止所有线程。 该线程的流程图及关键代码如下。 #include #include "pthread.h" void thread(void) { int i=2; while(i!=0); } void thread2(void) { char c; int i=0; for(i=0;i<100;i++) { if((c=getchar())!='s') { printf("%c",c); } else exit(1); } } int main() { pthread_t id; int i=2; int ret; pthread_t id2;

int ret2; ret=pthread_create(&id,NULL,(void *)thread,NULL); if(ret!=0) { printf("Create Error!\n"); exit(1); } ret2=pthread_create(&id2,NULL,(void *)thread2,NULL); if(ret2!=0) { printf("Create Error!\n"); exit(1); } while(i!=0); return 0; } 实验报告 2.3 A/D接口实验 实验成员: 邢兢业 0910200144 刘 洋 0910200132 方锡华 0910200124 孙 昭 0910200134

一、实验目的 了解在linux环境下对S3C2410芯片的8通道10位A/D的操作与控制。 二、实验内容 学习A/D接口原理,了解实现A/D系统对于系统的软件和硬件要求。 阅读ARM芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口。

三、预备知识 有C语言基础 掌握在Linux下常用编辑器的使用 掌握Makefile的编写和使用 掌握Linux下的程序编译与交叉编译过程。

四、实验设备 硬件:UP-NETARM2410-S 嵌入式实验平台,PC机。 软件:PC机操作系统REDHAT LINUX 9.0+ARM-LINUX开发环境。

五、实验步骤 (1)阅读理解源代码 (2)编译应用程序 (3)下载与调试 实验结果如下:

实验小组编号 15 实验成绩