文档库 最新最全的文档下载
当前位置:文档库 › 嵌入式系统课程设计报告

嵌入式系统课程设计报告

嵌入式系统课程设计报告
嵌入式系统课程设计报告

郑州航空工业管理学院嵌入式系统课程设计报告

题目:基于SKYEYE的嵌入式Linux系统设计

2013– 2014第2学期

院系:电子通信工程系

姓名:张衡

专业:通信工程

学号:111307334

指导老师:赵成

电子通信工程系

2014年5月制

目录

一、引言

二、设计目的

三、设计要求

(1)建立VMWARE虚拟机。

(2)安装Linux RHEL AS4操作系统环境。

(3)建立Windows操作系统与Linux操作系统的共享功能。

(4)建立交叉编译环境;安装SKYEYE仿真软件。

(5)配置并编译U-Boot-1.3.2软件。

(6)配置并编译Linux-2.6.14内核源代码。

(7)制作Linux根文件系统。

(8)使用SKYEYE仿真嵌入式系统的运行。

四、实验进展安排

五、考核评价

六、总体设计

七、总结

八、参考文献

一、引言

根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

仿真技术也是实现仿真平台的关键,软件仿真技术的研究早已开始。

目前,嵌入式系统的仿真软件主要有SKYEYE与QEMU,这里选用SKYEYE软件来仿真嵌入式系统中的软硬件系统。在本次课程设计中,采用ARMv4 版本架构的、ARM920T 核心的S3C2410A 微处理器,应用SKYEYE对经过编译的嵌入式系统的基本模块进行仿真。

SKYEYE是一个面向完整 PC 系统的开源仿真器,可以实现嵌入式系统的仿真,给用户提供一个虚拟的硬件操作平台。它是一个指令级仿真器,可以模拟多种嵌入式开发板,可支持多种CPU 指令集。除了仿真处理器外,SKYEYE 还允许仿真所有必要的子系统,如连网硬件和图形硬件。在SKYEYE 上运行操作系统与在一个真实的硬件环境中运行是一样的,看不出其中的差别,并且开发人员还可以通过SKYEYE 调试操作系统和系统软件。

通过 SKYEYE 仿真集成环境不仅可以很方便地进入到嵌入式系统软件学习和开发领域,而且可以有效地提高工作效率,有助于进一步学习、分析、精通Linux 内核,掌握ARM 嵌入式CPU 编程。

二、设计目的

通过对嵌入式系统的基本知识及相关概念的了解,在熟悉Linux操作系统的基础上,利用SKYEYE仿真软件,对嵌入式系统的开发过程进行软件仿真,从而掌握嵌入式Linux系统开发中的主要方法。

具体地,在设计过程中,达到以下目标:掌握嵌入式Linux系统基础部分的U-Boot软件、Linux内核的配置、编译与应用;掌握BusyBox软件及根文件系统的制作方法;掌握SKYEYE软件的使用方法,通过SKYEYE仿真软件运行U-Boot

文件、vmLinux文件映像及根文件系统root.cramfs映像。

最终,能在掌握嵌入式系统开发过程及SKYEYE软件使用方法的基础上,建立更有效的嵌入式系统开发方法,提高嵌入式系统的开发与应用的效率。

三、设计要求

1. 任务要求

要求能独立地分析题目意义、设计实现步骤、制作相关软件、调试嵌入式系统“三大基础部分”。

该设计的具体要求如下:

(1)建立VMWARE虚拟机。

(2)安装Linux RHEL AS4操作系统环境。

(3)建立Windows操作系统与Linux操作系统的共享功能。

(4)建立交叉编译环境;安装SKYEYE仿真软件。

(5)配置并编译U-Boot-1.3.2软件。

(6)配置并编译Linux-2.6.14内核源代码。

(7)制作Linux根文件系统。

(8)使用SKYEYE仿真嵌入式系统的运行。

2. 设计所需的软硬件设备

(1)硬件环境配置

计算机:Intel(R) Pentium(R) 及以上

内存:1GB及以上

(2)软件环境配置

操作系统:Microsoft Windows XP Professional Service Pack 2

虚拟机:VMware WorkStation 7

Linux系统:Red Hat Enterprise Linux AS 4 (2.6.9-5.EL)

嵌入式交叉编译器:arm-linux-gcc 3.4.4版本

Linux内核版本:Linux-2.6.14

SKYEYE版本:skyeye-1.2.4

U-Boot版本:U-Boot-1.3.2

BusyBox版本:BusyBox-1.2.0

3. 课程设计报告内容

按该设计报告要求的模式格式提交课程设计报告书。四推荐进程安排

进展安排查阅资料、设计步骤(已进行)安装与配置开发环境1天;

配置与编译相关软件及系统3天;写出设计报告 1天。

五、考核评价

考核评价

评价机制权重

过程评

考勤10%

课堂纪律10%

自主学习20%

团队合作10%

任务完成过程20%

任务完成结果20%

设计报告书写10% 合计100%

六总体设计

6.1 建立VMWARE虚拟机

1 解压软件包到指定的文件夹

2 双击VMware WorkStation安装程序图标,运行安装程序,进入Vmware 虚拟机安装的初始加载界面。

3 Vmware虚拟机的初始加载结束后,进入安装向导界面,点击Next进入下一步

4 选择安装类型,典型安装(Typical),点击Next进入下一步

5 设定程序安装,点击‘change…’按钮,可以选择更改默认的安装路径,然后设置自己需要安装的程序路径,在选定安装路径后,点击Next按钮进入下

6 提示安装程序时需要创建的快捷图标(桌面图标、开始菜单中的程序文件夹及快速启动工具图标等3项),默认的设置即可,不需要改动,直接点击Next 按钮进入下一步。

7确认前面各个步骤中设置的项目是否正确,并准备进入正式的安装过程。在这一步点击‘Coutinue’按钮进入正式安装过程。

8 安装完毕后,填写注册信息,这里需要注册码,按要求将对应各项填写完以后,直接点击‘Enter’按钮进行信息注册,并进入下一步

9 如果安装了保护卡的电脑不要选择“Restart Now”;反之,选择“Restart Now”,重新启动系统。重新启动系统后,点击‘开始’->‘所有程序’->‘VMware WorkStation’运行Vmware虚拟机

6.2 安装Linux RHEL AS4操作系统环境

1 在Vmware虚拟机的运行界面中,点击菜单栏中的‘File’项,在弹出的下拉菜单中选‘New’项,再点击弹出菜单的‘Virtual Machine…’项。出现新的虚拟机安装向导

2 在弹出的安装向导中提供两个选项,这里选择自定义安装(Custom),进入下一步

3 选择Vmware虚拟机平台,不同的Vmware虚拟机平台支持的硬件特性不同。这里选择Workstation6.5-7.0,进入下一步.

4 选择要安装的Linux操作系统光盘镜像,同时使用Vmware虚拟机的“Easy Install”功能自动安装Linux操作系统。选择第一张安装光盘镜像,进入下一

5 设置安装的Linux系统的用户名和密码信息。进入下一步。

6 设置Linux虚拟机的显示名称及安装路径。根据自己的情况选择安装路径,名称可以选择默认。进入下一步。

7 配置虚拟机使用的处理器。配置处理器数量、处理器的内核数,这里使用默认的设置:1个单核处理器。进入下一步。

8 配置虚拟机使用的存储器空间,这里设置为512MB。进入下一步。

9 设置网络类型。选择Use network address translation(NAT),,进入下一步。

10设置I/O适配器类型,进入下一步。

11 创建一个虚拟磁盘,在其上安装Linux操作系统。进入下一步

12 选择使用的磁盘类型,按默认的设置即可。进入下一步。

13 设置硬盘的空间大小,30GB,进入下一步。

14 设定存储磁盘文件的路径。根据自己的情况进行选择,进入下一步。

15 对话框汇总了前面的设置项目,如果没有错误,不需要修改,直接点击Finsh按钮,进行Linux系统的安装。

16第1张光盘安装完毕,需要第2张安装光盘的镜像。点击右下方的“Change

Disc”按钮,在弹出的对话框中点击“Browse...”按钮在弹出的对话框中双击选择第2个光盘的镜像。第3张和第4张操作相似。

17 在第4张光盘安装完毕,又需要第1张安装光盘的镜像

18 Linux系统安装完毕后会自动启动,会出现登陆界面。

19 在界面中输入刚开始设置的用户名和密码,进入Linux系统的桌面环境。

6.3 建立Windows操作系统与Linux操作系统的共享功能

1 点击“Applications”->“SystemSettings”->“Security Level”,

弹出“Security Level Configuration”对话框。

2 在“Security Level Configuration”对话框中,将“Security Level”项设置为“Disable firewall”,即无防火墙。

3 点击“Applications”->“SystemSettings”->“Samba”,在弹出的“Samba服务器配置”对话框中进行配置。而显示的配置内容为空,这说明还没有配置Samba服务器。

4 点击“ADD”图标,添加1个Samba服务共享,在弹出的对话框中选择“Basic”选项卡,在其中进行设置:在“Directory”文本框输入/home/zq;在“Share name”文本框中输入zq;在“Basic Permissions”选项中选择“Read/Write”。接着切换到“Access”选项卡,其中有两项选择,一项是仅允许特定的用户访问,另一项是允许所有用户访问。在这里选择“Allow access to everyone”选项。

5 点击“Preferences”->“Server Settings...”,弹出“服务器设置”对话框。在“Basic”选项卡内,按默认内容设置“Workgoup”与“Description”;在“Security”选项卡内“Authentication Mode”项选择“Share”,“Encrypt Passwords”项选择“NO”,“Guest Account”项选择“No Guest Account”

6 设置/home/zq文件夹的属性

7 在windows操作系统环境下,右键点击“网络邻居”图标,在弹出的“网络连接”对话框中,可以看见有一个“VMware Network Adapter VMnet8”连接项,右键点击该项,在弹出的菜单中点击选择“属性”选项,接着会弹出“VMware Network Adapter VMnet8”属性对话框,其中,在“常规”选项卡里面有一个“此连接使用下列项目(O)”文本框,点选其中的“Internet 协议(TCP/IP)”项,然后点击下方的“属性”按钮,会弹出“Internet 协议(TCP/IP)属性”对话框,其中显示的“IP地址(I)”为:202.196.174.28,在下面将相关的IP地址都配置在同一网段中。

8设置Samba服务器IP地址. 点击“Applications”->“System Tools”->“Network Device Control”项,弹出“网络设备控制”对话框。点击选定“eth0”设备,确认“Status”栏的内容为“Active”(如果“Status”栏的内容为“Inactive”,需要先点击右侧的“Activate”按钮,将其激活),再点击右边的“Configure....”

按钮,弹出“网络配置”对话框,其中显示了已有的网络设备,将其中的IP地址配置为和上一步中在同一网段的IP地址

9 点击VMware虚拟机的“VM”菜单,选择“Settings...”项。在“Hardware”选项卡中左侧选择“Network Adapter”项,相应的,在右侧的Network connection 中选择“NAT:Use to share the host's IP address”项,也可以选择“Bridged:Connected directly to the physical network项”。同时,在“Devices status”框中选择“Connected”与“Connect at power on”项

10 启动Smaba服务器,启动终端,在终端输入命令service smb start,启动samba服务。

11 在windows下访问共享文件夹。在windows系统中点击“开始”->“运行”,输入samba服务器的IP地址,点击“确定”按钮,就可以看到Linux系统下的共享文件夹/home/zq

6.4 建立交叉编译环境;安装SKYEYE仿真软件

Gcc交叉编译环境的安装

在终端运行如下命令:

设置环境变量,将交叉开发工具的设置更新到系统环境中,这样就可有直接在命令行使用,设置环境变量的方法如下:

(1)在终端运行命令:vi /root/.bashrc

(2)编辑/root/.bashrc文件,在最后一行添加export PATH=$PATH:/home/usr/local/bin.

如图所示

(3)注销Redhant系统,重新登录,使以上设置生效。启动终端,在命令行输入arm-linux-gcc –v,出现如下图示的信息,说明交叉编译环境已经成功安装。

SKYEYE的安装:

6.5 配置并编译U-Boot-1.3.2软件

6.5.1 交叉编译U-Boot-1.3.2软件

把U-Boot-1.3.2压缩文件放到/home文件夹下,在终端中输入:cd /home 进入到home文件夹下,在终端中输入:tar –xjvf u-boot-1.3.2.tar.bz2 –C ./ 把u-boot-1.3.2解压到home文件夹下,在终端中输入:cd u-boot-1.3.2 进

入到cd u-boot-1.3.2文件夹下,make smdk2410_config CROSS_ROMPILE=arm-linux- 配置编译环境,make CROSS_ROMPILE=arm-linux- 选择嵌入式交叉编译工具进行编译,编译完成后,可以得到U-boot各种格式的映像文件和符号表。

6.5.2使用SKYEYE仿真软件测试编译得到的U-Boot文件

新建一个文件,命名为skyeye_s3c4210.conf,并把内容配置为 # skyeye config file for S3C2410X

arch:arm

cpu: arm920t

mach: s3c2410x

# physical memory

mem_bank: map=M, type=RW, addr=0x00000000, size=0x00100000

mem_bank: map=M, type=RW, addr=0x30000000, size=0x04000000

#mem_bank: map=M, type=RW, addr=0xc1600000, size=0x00a00000

# all peripherals I/O mapping area

mem_bank: map=I, type=RW, addr=0x48000000, size=0x20000000

mem_bank: map=I, type=RW, addr=0x19000300, size=0x00000020

#net: type=cs8900a, base=0x19000300, size=0x20,int=9, mac=0:4:3:2:1:f, ethmod=tuntap,hostip=10.0.0.1

lcd: type=s3c2410x, mod=gtk

#load_addr:base=0x30000000, mask=0xFFFFFF

#dbct:state=on

在/home 文件夹下的U-Boot-1.3.2里找到u-boot,和u-boot.bin文件,把这两个文件和skyeye_s3c2410.conf一同复制到home/ilovechina/skyeye-1.2.4/binary文件夹里

在终端中输入命令:cd /home/ilovechina

在终端中输入命令:cd skyeye-1.2.4

在终端中输入命令:cd binary

在终端中输入命令:./skyeye –c skyeye_s3c2410.conf –e u-boot

在u-boot可以在“SMDK2410#”后输入u-boot命令

6.6 配置并编译Linux-2.6.14内核源代码

6.6.1交叉编译Linux内核源代码软件

把Linux 2.6.14压缩文件放到/home文件夹下

在终端中输入cd /home 进入到home文件夹下

在终端中输入tar -xjvf linux-2.6.14.tar.bz2 把Linux 2.6.14压缩文件解压到home文件夹下

在终端中输入cd /home/linux-2.6.14使用vi编辑器打开该目录下的Makefile文件,修改第192行与第193行,改为:CROSS_COMPILE ?=/home/usr/local/bin/arm-linux- 分别指定编译的内核架构与使用的交叉编译工具。

在终端中输入:cp arch/arm/configs/smdk2410_defconfig .config make ARCH=arm menuconfig 启动内核配置菜单,参考书中各个选项的配置,特别要注意系统类型、启动选项、设备驱动程序和内核调试的配置.更改程序运行的物理地址

修改include/asm-arm/arch-s3c2410/memory.h文件,

在终端中输入命令 vi include/asm-arm/arch-s3c2410/memory.h

将其中第33行指定SDRAM其实地址的如下内容

修改include/asm-arm/arch-s3c2410/map.h文件,

在终端中输入命令:vi include/asm-arm/arch-s3c2410/map.h

修改后的内容为:

Linux内核的编译:cd /home/linux-2.6.14

make ARCH=arm CROSS_COMPILE=arm-linux-

内核编译完毕后,将得到三个重要的文件,分别位于根目录下的vmlinux、位于Linux-2.6.14安装目录中arch/arm/boot/路径下的Image与zImage。

6.6.2 使用SKYEYE仿真软件测试编译得到的Linux内核文件vmLinux

复制vmlinux到/home/ilovechina/skyeye-1.2.4/binary cp vmlinux /home/zcnet/skyeye-1.2.4/binary/

建立skyeye.conf配置文件到/home/ilovechina/skyeye-1.2.4/binary cd /home/zcnet/skyeye-1.2.4/binary/

vi skyeye.conf

skyeye.conf配置文件的内容为:

#skyeye config file for s3c2410

cpu:arm920t

mach:s3c2410x

#physical memory

mem_bank:map=M,type=RW,addr=0xc0000000,size=0x00800000

mem_bank:map=M,type=RW,addr=0xc0800000,size=0x00800000,file=./ini trd.img

mem_bank:map=M,type=RW,addr=0xc1000000,size=0x01000000

#all peripherals I/O mapping area

mem_bank:map=I,type=RW,addr=0x48000000,size=0x20000000

mem_bank:map=I,type=RW,addr=0x19000300,size=0x00000020

net:type=cs8900a,base=0x19000300,size=0x20,int=9,mac=0:4:3:2:1:f, ethmod=tuntap,hostip=10.0.0.1

lcd:type=s3c2410x,mod=gtk

#dbct: state=on

复制文件系统initrd.img到/home/ilovechina/skyeye-1.2.4/binary 把SKYEYE的测试工具包压缩文件放到/home文件夹下。

在终端中输入命令:cd /home

在终端中输入命令:tar –xjvf skyeye-testsuite-2.3.tar.bz2

在终端中输入命令:cd skyeye-testsuite-2.3/linux/s3c2410/s3c2410x-2.6.14

在终端中输入命令:cp initrd.img /home/zcnet/skyeye-1.2.4/binary 使用SKYEYE仿真Linux系统

在终端中输入命令:cd /home/zcnet/skyeye-1.2.4/binary

在终端中输入命令:./skyeye -e vmlinux

6.7 制作Linux根文件系统

6.7.1编译安装BusyBox

1 在home文件夹中新建一个文件夹命名为ilovechina

2 把BusyBo x压缩文件放到/home/ilovechina下

3 在终端中输入命令:cd /home/ilovechina 进入BusyBox-1.2.0的存放位置

4 在终端中输入命令:tar -xjvf busybox-1.2.0.tar.bz2 进行解压

5 在终端中输入命令:cd busybox-1.2.0

6 在终端中输入命令:make menuconfig 进入BusyBox的主配置菜单

7 参考书中提供的资料进行设置各个选项

8 配置完成各个选项后,保存设置

9 在终端中输入命令:make 对BusyBox进行编译,进行编译后得到两个主要的文件:BusyBox与BusyBox_unstripped。

10 在终端中输入命令:make install 安装BusyBox以后会在BusyBox-1.2.0目录中产生_install目录,这是BusyBox默认的安装目录。在安装目录_install中还得到了bin、sbin、usr等三个目录以及Linuxrc文件BusyBox经过设置、编译与安装在默认的安装目录_install下得到了bin、sbin、usr等三个目录以及Linuxrc文件。在 BusyBox安装目录_install的基础上进行扩展以后可以得到根文件系统。根文件系统中包括了bin、dev、etc、home、initrd、lib、lost+found、proc、root sbin 、tmp 、usr 、var等13个目录以及linuxrc文件,其中home、initrd、lib、lost+found、proc、root、

tmp、var 等目录为空目录,暂时没有内容,另外,用户自己还需要创建dev目录与etc目录,dev目录用以存放设备文件,etc目录用来存放启动文件。

6.7.2创建根文件系统的dev目录:

1 在终端中输入命令:mkdir _install/dev

2 在终端中输入命令:cp /dev/ttyS0/dev/console/dev/ram0 _install/dev/ -a

这样就在dev目录中添加了串口终端设备、系统控制台设备、RAM磁盘设备等三个常用的硬件设备文件

6.7.3创建根文件系统的etc等目录及配置文件

这一部分的配置内容较多,也比较繁琐,为了使相应的目录与配置文件的建立过程相对简单,编写make_rootfs.sh来实现该部分的操作。

1创建make_rootfs.sh脚本文件,内容如下:

echo "setp of make_rootfs"

echo "1:create folders"

mkdir -pv etc etc/init.d home initrd lib proc root tmp var lost+found

echo "2:etc/inittab"

cat > etc/inittab << "EOF"

::sysinit:/etc/init.d/rcS

::askfirst:-/bin/sh

::restart:/sbin/init

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount -a -r

::shutdown:/sbin/swapoff -a

EOF

echo "3:create etc/init.d/rcS/"

cat > etc/init.d/rcS << "EOF"

#!/bin/sh

/bin/mount -t proc none /proc

sbin/ifconfig lo 127.0.0.1 up

sbin/ifconfig eth0 10.0.0.2 up

hostname skyeye

mkdir /var/tmp

mkdir /var/log

mkdir /var/run

mkdir /var/lock

cat /etc/motd

#sbin/ifconfig eth0 172.17.51.171 netmask 255.255.0.0 up

#route ass sefault gw 172.17.1.2

/bin/ash

EOF

echo "3(1)chmod etc/init.d/rcS"

chmod 555 etc/init.d/rcS

echo "4:create etc/mtab"

cat > etc/mtab << "EOF"

rootfs / rootfs rw 0 0

/dev/root / nfs rw,v2,rsize=4096,wsize=4096,hard,udp,nolock, addr=172.17.51.4 0 0

none /proc proc rw 0 0

EOF

echo "5:create etc/motd"

cat > etc/motd << "EOF"

Welcome to ARMLinux

ARMLinux for Skyeye

For further information please check:

https://www.wendangku.net/doc/f27218944.html,/

EOF

2 将编写的make_rootfs.sh脚本文件放在BusyBox的安装目录_install 中,然后进入安装目录运行该脚本

在终端中输入命令:cd _install

在终端中输入命令:./make_rootfs.sh

在终端中输入命令:cd /home/ilovechina/BusyBox-1.2.0

这样,根文件系统的完整结构就在安装目录_install中建立出来了,下一步,将使用安装目录_install中的内容创建文件系统映像

在终端中输入命令:dd if=/dev/zero of=./initrd.img count=2048 bs=1024

在终端中输入命令:mke2fs -F -m0 initrd.img

其中,dd是Linux/UNIX系统中一个非常有用的命令,使用dd命令可以复制一个文件到指定大小块空间,并在复制该文件的同时进行指定文件转换。上面具体的带参数的dd命令指定了每个存储块的大小是1024字节,一共2048个块,因此,指定的块空间为2M字节。然后,使用/dev/zero文件来创建一个占用2M 字节块空间的初始化空文件,同时将其转换为initrd.img文件输出。mke2fs命令用来将文件映像initrd.img格式化为EXT2格式。

创建的EXT2格式的文件系统映像initrd.img目前还是一个空文件,下一步,应该将安装目录下的所有内容复制到EXT2格式的文件系统映像initrd.img中

6.7.4 添加initrd.img文件系统映像的内容

1 在终端中输入命令:mkdir /mnt/rootfs 先在./mnt目录中建立一个rootfs目录,用来挂载initrd.img文件系统映像。

2 在终端中输入命令:mount initrd.img /mnt/rootfs/ -o loop 挂载映像文件initrd.img

3 在终端中输入命令:cp _install/* /mnt/rootfs/ -a 将安装目录的所有内容复制到/mnt/rootfs目录

4 在终端中输入命令:umount /mnt/rootfs/ 卸载映像文件

initrd.img

这样,就得到了运行嵌入式系统所需要的根文件系统映像initrd.img文件了,下一步,需要将根文件系统映像initrd.img文件放在SKYEYE环境中测试进行。

6.7.5基于SKYEYE的根文件系统仿真调试

1 将BusyBox-1.2.0目录中的根文件系统映像文件initrd.img与SKYEYE 的配置文件skyeye.conf、Linux2.6.14内核文件vmlinux放在一起,复制到skyeye-1.2.4目录中的binary目录里面。

2 在终端中输入命令:cd /home/zcnet/skyeye-1.2.4/binary

3 在终端中输入命令:./skyeye -e vmlinux

运行上述命令后,在Redhat Linux的终端窗口中应该可以看到内核的启动信息了,随后会输出在etc/motd文件中设置的“ARMLINUX”ASCII图形的标志,最后,窗口中会输出BusyBox的启动信息

已经出现了BusyBox-1.2.0的信息,光标停留在BusyBox工具提供的命令提示符“#”后,等待用户输入命令。在其中输入命令“ls”,按下回车键执行后,在屏幕上会输出制作的根文件系统中的所有目录。这说明SKYEYE可以正常地模拟仿真Linux-2.6.14系统在ARM9平台上的运行过程

6.8 使用SKYEYE仿真嵌入式系统的运行

在SKYEYE的仿真文件夹中应该已经同时具有了vmlinux内核映像、initrd.img文件系统以及skyeye.conf配置文件等三个基础文件。现在就可以使用如下命令来启动SKYEYE模拟Linux-2.6.14内核的运行。

运行结果如下图所示

北京科技大学 嵌入式课程设计报告

《嵌入式控制系统》课程设计报告 学院 专业班级 姓名 学号 指导教师 _

目录 摘要 (4)

Abstract (4) 引言 (5) 带中断LED数码管驱动程序设计 (6) 1.设计内容 (6) 1.1 基本功能 (6) 1.2 扩展功能 (6) 1.3创新功能 (6) 2.实验设备 (6) 3.设计功能块说明 (6) 4.设计原理 (7) 4.1 LED发光原理 (7) 4.2 八位LED显示器 (8) 5. 实验步骤 (8) 5.1 驱动程序加载 (8) 5.2 添加控件 (8) 5.3基本功能的实现 (9) 5.4 使用指南 (10) 6. 实验结果 (10) 6.1 基本功能实现结果 (10) 6.2 LED数码管清零功能实现结果 (11) 6.3 中断计数功能实现结果 (12) 6.4 频率设置功能实现结果 (13) 7. 心得体会 (14) 附录 (16)

摘要 通过嵌入式控制系统课程的学习并结合本次课程设计,了解嵌入式系统的开发方法和流程,熟悉Intel XScale硬件平台及其应用处理机的使用方法,熟悉Windows CE嵌入式系统的基本原理、概念。能针对Intel XScale硬件平台、应用需求自行定制、优化WinCE操作系统,并独立编写可在Intel XScale嵌入式设备上运行的应用程序。 本课程设计主要实现了LED数码管的驱动程序,中断计数功能、LED显示清零功能、LED 数字显示频率设置的功能。 关键字:WINCE 中断数码管驱动 Abstract Learning Embedded Control Systems and combining the curriculum design can help us understand the Embedded Control Sy stems’ development methods and processes, and be familiar with Intel XScale Hardware platform and its usage. Know well the basic principles and concepts about WINCE. Design and optimize Windows Embedded Compact and compose Application software program that can operate on the Intel XScale Hardware platform. The main achievement of the curriculum design are drivers for LED, Interrupt Count, clean the results of the LED and set up the display frequency of the LED. Key words: WINCE Interrupt Digital Driving

基于STM32和uC_OS-II的多任务设计-嵌入式系统课程设计报告

基于STM32和uC_OS-II的多任务设计-嵌入式系统课程设 计报告 NORTH CHINA UNIVERSITY OF SCIENCE AND TECHNOLOGY 嵌入式系统课程设计报告 学生姓名: 学号: 学院: 专业班级: 指导教师: 同组成员: 2016年 12 月 26 日 嵌入式系统课程设计报告 一、课程设计目的 本课程设计是在《嵌入式系统原理与应用》课程的基础上,通过软件编程及仿真调试的实践,进一步掌握嵌入式系统的原理和应用方法,是毕业设计前的一 次重要实践,为今后从事嵌入式系统相关工作岗位打下良好的基础。 二、设计题目及要求 2.1 设计题目: 基于STM32和uC/OS-II的多任务设计 2.2 功能实现:

使用uC/OS-II的任务管理函数和STM32库函数控制相应的寄存器,完成一个多任务设计。整个设计共有4个任务,驱动一个LED指示灯闪烁、由3个LED指示灯组成的流水灯、驱动蜂鸣器和利用swd方式进行printf输出。 2.3 设计要求: 理解和熟练使用KEIL软件、STM32寄存器、STM32库函数和uC/OS-II任务管理函数,用KEIL软件完成编程和调试,下载到开发板中实现4个设定的任务,并完成课程设计报告。 四个任务分别为: (1)驱动1个LED指示灯闪烁、 (2)由3个LED指示灯组成流水灯 (3)驱动蜂鸣器发出响声。 (4)利用swd方式进行printf输出。 三、设计原理说明 3.1 硬件说明 本次课程设计主要使用的是STM32 神舟 IV 号开发板为基础进行课程设计的,本节将详细介绍神舟IV号开发板的各部分硬件原理与实现。 (1)开发板资源图 - 1 - 嵌入式系统课程设计报告

ARM课程设计报告

摘要 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 定时器是对外设时钟(PCLK)进行计数,根据4个匹配寄存器的设定,可以设置为匹配时产生中断或执行其他动作。它还包括4个捕获输入,用于在输入信号发生跳变时捕获定时器的当前值,并可选择产生中断。 关键字:单片机 LPC2106 GPIO 定时器timer 实时时钟外部中断Int 目录 第一章原理与总体方案 (4) 1.1单片机简介 (4) 1.2 LPC2106简介 (5) 1.3单片机的选择 (7) 1.4 LPC2106芯片的选择及设计原理 (8) 第二章硬件设计 (9) 2.1 LED显示电路 (9) 2.2电路图整体设计 (9) 第三章调试 (12) 3.1调试及处理 (12) 第四章测试与分析 (14)

4.1Proteus软件介绍 (14) 4.2仿真结果 (15) 第五章结束语 (16) 5.1结束语 (16) 第1章原理与总体方案 本章阐述了本课题研究的背景,表述了单片机的发展、功能以及LPC2114的简单介绍。阐述了单片机的选择原理以及LPC2106的设计原理。 1.1数字单片机简介 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标。 单片机的另外一个名称就是嵌入式微控制器,原因在于它可以嵌入到任何微型或小型仪器或设备中。目前,把单片机嵌入式系统和Internet连接已是一种趋势。但是,Internet一向是一种采用肥服务器,瘦用户机的技术。这种技术在互联上存储及访问大量数据是合适的,但对于控制嵌入式器件就成了"杀鸡用牛刀"了。要实现嵌入式设备和Int ernet连接,就需要把传统的Internet理论和嵌入式设备的实践都颠倒过来。为了使复杂的或简单的嵌入式设备,例如单片机控制的机床、单片机控制的门锁,能切实可行地和Internet连接,就要求专门为嵌入式微控制器设备设计网络服务器,使嵌入式设备可以和Internet相连,并通过标准网络浏览器进行过程控制。

嵌入式课程设计

嵌入式课程设计 学院:计算机与通信工程学院专业:物联网工程班级:物联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。这样,经过比较后所得的温度寄存器的值就是最终读

嵌入式课程设计报告

嵌入式课程设计报告设计题目:电子密码锁

、 摘要 随着科技和人们的生活水平的提高,实现防盗的问题也变得尤为突出,传统机械锁构造简单,电子锁的保密性高,使用灵活性好。根据需要设计运用W90P170开发板,制作一款电子密码锁,密码锁通过键盘输入密码,通过在LCD的文字和图片显示当前密码锁的状态。实现设置密码,密码验证,错误密码自锁、图片显示的功能。 目录

一、选题意义及系统功能 (3) 二、硬件设计及描述 (4) 三、软件设计及描述 (5) 四、程序代码 (6) 五、课程设计体会 (11) 六、运行结果 (12) 七、心得体会 (12) 八、参考文献 (13) 九、附录 (13) 一、选题意义及功能描述 1、选题意义 电子密码锁是通过密码输入来控制电路或是芯片工作,从而控制机械的开关闭合、开锁的电子产品。随着科技提高和人们生活水平的提高,对电子密码锁的需求增加。电子密码做较传统的机械锁安全性能更高。 特点如下: (1)保密性好,编程量大,随机开锁的成功率几乎为零。

(2)密码可变,用户可以随时改变密码,防止密码被盗,同时也可以避免人员的更替而使锁的密级下降。 (3)误码输入保护,输入密码多次错误是,系统进行自锁。 (4)无活动零件,不会磨损,寿命长。 (5)使用灵活性好,无需佩戴钥匙,操作简单。 2、功能描述 基本功能: (1)从键盘输入任意6位数字作为密码,将这六位数字经过USI总线存储到Flash芯片中,设置密码完成。 (2)从键盘输入密码,比较键盘输入的密码与Flash中存储的密码是否相同。 (3)如果密码正确,则LED灯点亮;如果密码不正确,则LED灯闪烁,而且如果连续三次输入密码错误则系统锁定,不允许再次输入密码。 扩展功能: (1)首先显示“请输入密码:”,显示密码锁背景图片1。 (2)如果密码正确则显示“密码正确”,显示成功进入系统的背景图片2。 (3)如果密码不正确则显示“密码不正确,请重新输入:” (4)如果连续三次输入密码错误则显示“对不起,您已经连续三次输入密码错误,系统锁定”,显示图片1。

嵌入式系统设计课设报告分析解析

福州大学 《嵌入式系统设计课设》 报告书 题目:基于28027的虚拟系统 姓名: 学号: 学院:电气工程与自动化学院 专业:电气工程与自动化 年级: 起讫日期: 指导教师:

目录 1、课程设计目的 (1) 2、课程设计题目和实现目标 (1) 3、设计方案 (1) 4、程序流程图 (1) 5、程序代码 (1) 6、调试总结 (1) 7、设计心得体会 (1) 8、参考文献 (1)

1、课程设计目的 《嵌入式系统设计课设》是与《嵌入式系统设计》课程相配套的实践教学环节。《嵌入式系统设计》是一门实践性很强的专业基础课,通过课程设计,达到进一步理解嵌入式芯片的硬件、软件和综合应用方面的知识,培养实践能力和综合应用能力,开拓学习积极性、主动性,学会灵活运用已经学过的知识,并能不断接受新的知识。培养大胆发明创造的设计理念,为今后就业打下良好的基础。 通过课程设计,掌握以下知识和技能: 1.嵌入式应用系统的总体方案的设计; 2.嵌入式应用系统的硬件设计; 3.嵌入式应用系统的软件程序设计; 4.嵌入式开发系统的应用和调试能力 2、课程设计题目和实现目标 课程设计题目:基于28027的虚拟系统 任务要求: A、利用28027的片上温度传感器,检测当前温度; B、通过PWM过零中断作为温度检测A/D的触发,在PWM中断时 完成温度采样和下一周期PWM占空比的修正;PWM频率为1K; C、利用按键作为温度给定;温度给定变化从10度到40度。 D、当检测温度超过给定时,PWM占空比增减小(减小幅度自己设 定);当检测温度小于给定时,PWM占空比增大(增大幅度自己 设定); E、把PWM输出接到捕获口,利用捕获口测量当前PWM的占空比; F、把E测量的PWM占空比通过串口通信发送给上位机; 3、设计方案-----介绍系统实现方案和系统原理图 ①系统实现方案: 任务A:利用ADC模块通道A5获取当前环境温度。 任务B:PWM过零触发ADC模块,在PWM中断服务函数中,将当前环境温度和按键设定温度进行比较,并按照任务D的要求修订PWM占空比。

ARM课程设计报告GPIO—流水灯

目录 一、设计目的 (3) 二、设计原理 1、GPIO—流水灯 (3) 2、SPI (7) 3、定时器 (10) 4、实时时钟 (12) 三、所用仪器 (18) 四、EasyARM2131开发套件功能介绍 (18) 五、设计内容:万年历-定时器-流水灯-SPI 1、功能描述 (21) 2、流程图 (22) 3、程序设计 (22) 六、心得体会 (28) 七、参考文献 (29)

一、设计目的 1、根据要求,复习巩固ARM的基础知识。 2、掌握ARM系统的设计方法,特别是熟悉模块化的设计思想。 3、熟练掌握ARM软件和2131开发板的使用。 4、提高综合运用所学的理论知识独立分析和解决问题的能力; 二、设计原理 1、GPIO—流水灯 (1)LPC2131具有多达47个通用I/O 口(GPIO,General Purpose I/O ports),分别为P0[31:0]、 P1[31:16],其中,P0.24未用,P0.31仅为输出口。由于口线与其它功能复用,因而需要进行相关的管脚连接模块(PINSEL0、PINSEL1、PINSEL2)选择连接GPIO,然后通过IODIR进行输入/输出属性设置后才能操作。 当管脚选择GPIO 功能时,有IOSET、IOCLR和IOPIN 3 个寄存器用于控制GPIO 的使用。IOSET 用于口线置位,而IOCLR 则用于口线清零,IOPIN 则反映当前IO口的状态,读回IOSET 则反映当前IO口设定状态。 (2)GPIO的特性和应用 特性: 单个位的方向控制; 单独控制输出的置位和清零; 所有I/O口在复位后默认为输入。 应用: 通用I/O口 驱动LED或其它指示器 控制片外器件 检测数字输入 (3)GPIO引脚描述 GPIO管脚描述见表4.1。 表4.1 GPIO 管脚描述

嵌入式程序设计课程设计

课程设计 课程名嵌入式软件开发技术 题目基于嵌入式Linux的温度监测系统的 设计与实现 专业计算机科学与技术(嵌入式系统方向)班级 13计算机嵌入式系统班 学号 学生姓名 2016年6月

摘要 温度是个很普遍而又非常重要的参数,在日常生活、工农业生产以及科研领域都有着广泛的应用。因此,研制能够准确地测量和记录这个参数值的系统具有十分重要的意义。 基于ARM的嵌入式温度监测系统是采用嵌入式Linux作为操作系统,针对以S5PV210为处理器的开发板设计的一个嵌入式温度监测系统。论文在分析了Linux设备驱动程序的基本工作原理基础上,讨论了开发中经常会碰到的中断处理、拥塞处理、I/O端口,并在此基础上实现了基于S5PV210嵌入式处理器的开、读、写、关外部RAM的字符设备驱动和网络驱动。结合高精度温度传感器DS18B20,实现温度的正确采集,并通过以太网络将数据上传给上位机客户端。 论文首先介绍了通信网络中各种设备特性、总线结构及传输技术,然后根据单片机与PC机之间的串行通信原理,用ubantu完成温度监测系统的软件设计与实现,为用户提供一个友好的人机界面,对监测系统进行控制并显示采集后的数据。本系统还通过多线程实现了多个客户端与服务器的通信。 关键词:S5PV210;嵌入式Linux操作系统;DS18B20;网络编程

Abstract Temperature is a very common and very important parameter, in daily life, industrial and agricultural production and scientific research fields have a wide range of applications. Therefore, it is very important to develop a system that can accurately measure and record the value of this parameter. The temperature monitoring system of base on the ARM is use of embedded Linux as the operating system for the processor to S5PV210 development board designed for an embedded temperature monitoring system. Based on the analysis of the basic working principle based on the Linux device drivers discussed development often encounter interrupt handling, congestion handling, I / O ports, and on this basis to achieve the embedded processor based on open S5PV210 reading, writing, characters off the external RAM device driver and network drives. Combined with precision temperature sensor DS18B20, to achieve the correct temperature acquisition, and upload the data via Ethernet to a PC client. At first,the paper introduces the characteristics of various devices in a communication network, the bus structure and transmission technology, and according to the principle of serial communication between SCM and PC, with ubantu complete temperature monitoring system software design and implementation, to provide users with a friendly man-machine interface, the monitoring system to control and display the data after collection. The system also enables communication via a plurality of multi-threaded client and the server. Key words:S5PV210; embedded Linux operating system; DS18B20; Network programming

嵌入式系统课程设计

嵌入式系统课程设计 学号:1070410014030 班级:通信10 姓名:刘豆

嵌入式系统在智能交通中的应用摘要:介绍了嵌入式系统及其操作系统,并将其系统和通用计算机系统作了比较,总结了嵌入式系统产品在ITS(Intelligent Traffic system ),智能交通系统应用中的工作稳定性高,环境适应能力强和设备独立性三个特点,且结合嵌入式产品在ITS中应用的这几个特点,探讨了嵌入式系统在智能交通系统中应用研究。最后,展望嵌入式系统在ITS(智能交通系统)中的广泛应用。 关键词:嵌入式系统;嵌入式操作系;ITS;数字信号 中图分类号: Application of Embedded System in ITS Abstract: This article mainly introduce embedded system and its operation system , the embedded system are compared with general computer system. And this article summarizes three characteristics about embedded systems’ production applied to ITS: the high working stabilities, the strong ability for environment and the independency of equipments .Combining with the application research of embedded systems in ITS。At last, the author prospects that embedded systems are used widely in ITS in the whole nation. Keywords; embedded system; embedded operational systems ; ITS ; digital signal 嵌入式系统如今在实际生活中有巨大应用,观察身边不难发现电子产品、智能家居等大多用嵌入式系统来实现。这篇论文举一个应用实例,即智能交通系统。一个智能交通系统(ITS)主要由交通信息采集、交通状况监视、交通控制、信息发布和通信5大子系统组成。各种信息都是ITS的运行基础,而以嵌入式为主的交通管理系统就像人体内的神经系统一样在ITS 中起至关重要的作用。嵌入式系统应用在测速雷达、(返回数字式速度值)运输车队遥控指挥系统、车辆导航系统等方面,在这些应用系统中能对交通数据进行获取、存储、管理、传输、分析和显示,以提供交通管理者或决策者对交通状况现状进行决策和研究。 1.嵌入式系统与嵌入式操作系统 1.1嵌入式系统 通俗来讲,嵌入式系统是带有操作系统的单片机系统;主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组。他的框架可分为5个部分:处理器、内存、输入/输出、操作系统与应用软件(如图1所示)。嵌入式软件包括与硬件相关的底层软件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点,可以嵌入到现有任何信息家电和工业控制系统中。软件角度来看,嵌入式系统具有不可修改性,系统所需配置要求较低&系统专业性和实时性较强等特点。 1.2 嵌入式操作系统 对于目前发展迅速的信息产品来说,其最关键的核心技术就是嵌入式操作系统。嵌入式操作系统EOS(Embedded Operating System)是一种支持嵌入式系统应用的操作系统软件。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序;另外,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

嵌入式系统原理及应用课程设计

. 嵌入式系统原理及应用课程设计报告 题目:电子时钟的设计与实现 班级:文专电0931 姓名:杨阳 学号:200990607145 试验台号:10 指导老师:邱秀芹 程序成绩: 报告成绩: 总成绩:优良中及格不及格 2012年2月25日

一.课程设计目的 通过该课程设计将嵌入式系统原理及应用课程中所学的处理器和接口等技术应用于实际设计中。通过中断、PWM定时器、串口、SIO、GPIO等技术在实验平台上进行综合设计,在理论和实验的基础上进一步提高综合设计能力。 二. 课程设计内容及功能要求 1. 通过一个PWM定时计数器,采用定时中断的功能,设计能够在LED上进行时分秒显示的时钟; 2. 通过键盘实现对钟的功能; 3. 实现闹钟的功能,闹钟的时间由键盘输入进行设定; 4. 将时钟在超级终端上显示;时间的设定可以通过超级终端实现; 三.功能实现 1.总体功能框图

2.详细设计:(将所设计的各部分的功能程序框图及相关程序代码进行详细的描述) ①. #include"uhal.h" #include"myuart.h" #include"KeyBoard.h" #include"Timer.h" #include"Isr.h" #include"44b.h" #include "Zlg7289.h" #include "def.h" #include "lcd320.h" int Timer3INTCount=0; int hour = 0 ; int minute = 0 ; #pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting int main(void) { int clock_h = 23 ; int clock_m = 59 ; int clock_s = 0 ; int key ; int val=0; ARMTargetInit(); //开发版初始化 Zlg7289_Reset(); Init_Timer3(100,16,40000,20000); INTS_OFF();//Disable interrupt in PSR SetISR_Interrupt(INT_TIMER3_OFFSET, Timer3_ISR,0); Open_INT_GLOBAL(); Open_INT(BIT_TIMER3); INTS_ON();//Enable interrupt in PSR Start_Timer3();

嵌入式系统课程设计报告

湖北民族学院 信息工程学院 课程设计报告书 题目 :基于A RM的数字式万年历 课程:嵌入式系统课程设计 专业:电子信息科学与技术 班级: 03114411 学号: 031441119 学生姓名:田紫龙 指导教师:易金桥 2017年6 月20 日

信息工程学院课程设计任务书 学号031441119学生姓名田紫龙专业(班级)0314411 设计题目基于 ARM 的数字式万年历 1.能测量温度并且实时显示; 2.具有时间显示功能,能够显示年月日,时分秒,并且可以手动调节时间。 设 3. 具有 12 小时制和 24 小时制切换功能。 计 技 术 参 数 对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。温度采集 选用 DS18B20芯片,万年历采用直观的数字显示,数据显示采用1602 液晶显 示模块,可以在LCD1602 上同时显示年、月、日、周日、时、分、秒,还具有 设 时间校准整点灯光提醒等功能。制作仿真和实物。 计 要 求 [1]苏平 . 单片机的原理与接口技术 [M]. 北京 : 电子工业出版社, 2006,1-113. [2]王忠民 . 微型计算机原理 [M]. 西安 : 西安科技大学出版社, 2003,15-55. [3]左金生 . 电子与模拟电子技术 [M]. 北京 : 电子工业出版社, 2004,105-131. [4]新编单片机原理与应用(第二版). 西安电子科技大学出版社, 2007.2 [5]张萌 . 单片机应用系统开发综合实例 [M]. 北京:清华大学出版社, 2007.7 [6] 朱思荣. 51 单片机实现公历与农历、星期的转换[Z].当当电子网 [7]李广弟 . 单片机原理及应用 [M] 北京航空航天大学出版社 ,2004 年 参[8] 王越明 . 电子万年历的设计 [J]. 黑龙江科技信息, 2004 年 考 资 料 2017年 6 月 20 日

嵌入式系统课程设计

《嵌入式系统设计与应用》课程设计 题目嵌入式系统的实践教学探讨 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 报告中把嵌入式系统课程列为计算机工程学科的领域之一,把软硬件协同设计列为高层次的选修课程。美国科罗拉多州立大学“嵌入式系统认证”课程目录包括实时嵌入式系统导论、嵌入式系统设计和嵌入式系统工程训练课程。美国华盛顿大学嵌入式系统课程名称是嵌入式系统

arm课程设计报告

课程设计报告 (嵌入式接口技术) 学院:电气工程与自动化学院 题目:基于ARM的多路数据采集系统设计 专业班级:自动化113班 学号:35号 学生姓名:翁志荣 指导老师:温如春 2013 年12月19日

摘要 数据采集系统用于将模拟信号转换为计算机可以识别的数字信号.该系统目的是便于对某些物理量进行监视.数据采集系统的好坏取决于他的精度和速度.设计时,应在保证精度的情况下尽可能的提高速度以满足实时采样、实时处理、实时控制的要求.在科学研究中应用该系统可以获得大量动态;是研究瞬间物理过程的重要手段;亦是获取科学奥秘的重要手段之一. 本次设计是基于ARM的多路数据采集系统,主控器能够对模拟信号产生的各路数据,通过数据采集系统进行采集并在主控器的程控下显示。 关键字:数据采集;模数转换;ARM;实时采样。 Abstract Data acquisition system for digital signal to analog signal conversion can be identified by computer. The system is aimed at facilitating monitoring of some physical quantity. Data acquisition system is good or bad depends on the precision and speed. When the design, should be in the case of ensuring accuracy as much as possible to meet the high speed real-time sampling, real-time processing, the requirement of real time control. The application of this system in scientific research can obtain a large number of dynamic; is an important means to study the instantaneous physical process; and it is also one of the important means of access to the mysteries of Science. Keyword s: data acquisition; ARM; real-time sampling analog-to-digital conversion.

嵌入式课程设计

嵌入式课程设计报告 学院信息电子技术 专业电子信息工程 班级13级 学籍号 姓名 指导教师 2016年0月00日

基于ARM9的无线智能家居控制系统 1.引言 当网络席卷整个社会,带来经济飞速发展的同时,也给人们的生活带来无限的惊奇。不断更新的生活方式,使得越来越多的人追求对生活的舒适度和享受度。智能家居作为新生力量呼之欲出,自然地走进了我们的生活,随之,引领新一代的数字家庭生活。 所谓“智能家居”(Smart Home),又称智能住宅。它利用先进的计算机嵌入式系统、通信技术、现代传感技术和网络技术,将家庭中的各种设备(如照明系统、安防系统、信息家电)通过家庭内部无线网络连接到一起。一方面,智能家居将使得使用它的用户能够更加方便、快捷和轻松的管理自己的家电设备,例如,用户可以通过平板电脑、智能手机和其他控制终端设备对家用设备进行远程操控和状态的实时监控,进行室内场景配置以及形成多个家电设备的联动功能等等;另一方面,智能家居内的各种设备不需要通过用户的操控就可以实现相互间的通讯,从而根据相关家电设备的不同的状态互动运行,为用户提供高效、便利、舒适与安全的智能家居生活。 2.系统设计 (1)硬件电路设计 文中提出的基于ARM9的无线智能家居控制系统主要包括ARM9核心控制模块,无线通信模块、LCD触摸屏模块和家居电器,另外还有传感检测,语音报警和电源等模块。系统总体结构模型图如图1所示。 图1系统总体结构模型图 其中ARM是整个系统的控制核心,通过GPRS和ZigBee无线通信网络收

发控制指令实现对家居电器进行综合监控,同时提供防火墙的功能,阻止外界对家庭内部设备的非法访问和攻击。 无线通信模块分为本地和远程两部分,本地通信主要通过新型的ZigBee无线通信技术实现系统与家居电器的通信,达到对其控制;远程通信是利用手机通过GPRS通信网络或利用计算机通过互联网实现人与控制系统的通信,进而达到对家居电器的远程监控。采用无线通信技术省去了布线使家居布局更加灵活,远程控制使家居电器工作更加贴近人们的工作和生活要求。 智能家居控制系统的具体功能包括:家居电器的综合监控、室内环境信息采集、自动报警、本地控制、远程控制、安全防盗等。 基本电路组成 1)主控芯片S3C2440A 本系统采用的是Samsung公司推出的16/32位RISC微处理器S3C2440A,它具有0.13μm的CMOS标准宏单元和存储器单元,它的杰出的之处是其处理器核心,该核心是由Advanced RISC Machines有限公司设计的ARM920T内核,ARM920T内核实现了MMU,AMBA BUS和Harvard高速缓冲体系结构,这一体系结构具有独立的16KB指令Cache和16KB数据Cache。 2)电源电路 电源是整个智能家居控制系统的能量之源,电源的稳定供电为系统得以安全、正确的运行提供了保障,本系统共需要两种电压5V和3.3V。为了提高终端设备内部的安全性并进一步减低系统的设计成本,本系统选用的市面上的12V、2A的开关稳压电源作为系统的基本供电输入,首先经过LM2576转换成5V,并经过滤波和稳压电路输出稳定的5V电压,为系统上需要5V电源的电路供电。其次,5V输出再经过LM1117D转换成3.3V,经过一定的滤波处理后为系统需要3.3V供电的电路供电,如图2所示。 图2 3.3V电压转换输出电路 3)复位电路的设计

广东海洋大学嵌入式系统课程设计

《嵌入式系统》设计报告学生姓名 Adao (学号) 所在学院数学与计算机学院 所在班级计科1141 指导教师 成绩

目录 1.课程设计目的 (2) 2.系统分析与设计 (2) 3.系统结构图 (2) 4.实现过程 (3) 5.实验效果 (5) 6.代码分析 (6) 7.系统测试出现的问题和解决的方案 (7) 8.系统优缺点 (7) 9.心得体会 (8) 参考文献 (8)

双按键控制流水灯系统开发 1.课程设计目的: 本次课程设计目的主要是对之前所学习的STM32的某个实验进行更深入的学习与了解,弄懂引脚,端口等相关的配置,对实验原理和具体实现有一定的理解,能做到自己通过原理图和使用库函数等把功能实现出来。我选择的是EXTI-外部中断实验并加以整合,具有一定实用功能的系统,可以对外提供服务。 2.系统分析与设计: 本课程设计所定义的系统主要功能为,通过两个按键KEY1(PA0)、KEY2(PC13)可以实现对流水灯进行同步控制,即一个开关控制产生的灯的状态可以被另一个开关去改变,按键控制需要对两个按键的端口,引脚等进行相关配置,并在两个引脚的中断服务程序中完成对流水灯状态同步控制的操作。本还想通过使用SysTick(系统滴答定时器)功能对流水灯进行精确定时,但由于时间比较匆促,最终没有实现。 3.系统结构图: 图3-1

4.实现过程: 1、GPIO的输入模式有上拉输入模式、下拉输入模式、浮空输入模式和模拟输入模式。GPIO 中的每个引脚可以通过配置端口配置寄存器来配置它的模式。每个引脚的模式由寄存器的4个位控制。 上拉/下拉输入模式:1000 浮空输入模式:0100 模拟输入模式:0000 2、STM32的所有GPIO都可以用作外部中断源的输入端。STM32的中断由中断控制器NVIC 处理。STM32的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号越小,表面它的优先级别越高。抢占属性会出现嵌套中断。 3、编写NVIC_Configuration()函数配置NVIC控制器的函数。 static void NVIC_Configuration(uint8_t IRQ) { NVIC_InitTypeDef NVIC_InitStructure; //将NVIC中断优先级分组设置为第1组 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); /* 配置中断源 */ NVIC_InitStructure.NVIC_IRQChannel = IRQ;//设置中断线 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//设置抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;//设置响应优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); //对NVIC中断控制器进行初始化 } 4、调用GPIO_EXTILineConfig()函数把GPIOA、Pin0和GDIOC、PIN13设置为EXTI输入线。 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource13); 5、填写EXTI的初始化结构体,然后调用EXTI_Init()把EXTI初始化结构体的参数写入寄存器。编写EXTI_PA0_Config()函数完成各种需要的初始化。 void EXTI_Pxy_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; /* config the extiline clock and AFIO clock */

嵌入式系统设计课程设计

电气与电子信息工程学院 嵌入式系统设计课程设计 设计题目:基于AT89S52单片机的游戏机嵌入式系统设计与制作专业班级:电子信息工程2008级(2)班 学号:200840210212 姓名:童俊 指导教师:邓彬伟李玉平 设计时间:2011/11/14~2011/12/2 设计地点:K2自动化综合实验室

嵌入式系统设计课程设计成绩评定表 姓名童俊学号200840210212 专业班级电子信息工程2008级(2)班 课程设计题目:基于AT89S52单片机的游戏机嵌入式系统设计与制作 课程设计答辩或质疑记录: 1、什么叫嵌入式系统? 答:以应用为中心,以计算机技术为基础,软硬件可剪裁适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2.所做的电路中有哪几个任务? 答:总共六个,分别是:功能选择,贪吃蛇游戏,时间温度显示,PS2键盘控制,温度采集,时间采集。 3.贪吃蛇这个游戏是怎么实现的? 答:在这个游戏中主要用到两个长度为二的数组控制蛇的头部坐标和尾部坐标,蛇的初始化长度为3,通过定时器没隔一定的时间给蛇一个步进信号,在蛇移动的过程中和转弯的过程中需判断前面是否有食物,是否碰到自己身体。食物的坐标也是通过定时器的高八位和第八位的数字余上30所的。 成绩评定依据: 实物制作(40%): 课程设计考勤情况(20%): 课程设计答辩情况(20%): 完成设计任务及报告规范性(20%): 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 2010年12 月20 日

课程设计任务书 2011 ~2012 学年第 1 学期 学生姓名:林忠航专业班级: 08电信本1、2 指导教师:邓彬伟、李玉平工作部门:电信教研室 一、课程设计题目 嵌入式系统设计课程设计 二、课程设计目的 为了提高嵌入式系统设计与实际的应用能力,开始为期三周的嵌入式系统设计课程设计。通过实训使学生在巩固所学单片机知识的基础之进一步把其与μC/OS-II操作系统的移植结合起来,增强学生对所学知识的实际应用能力和以及与当前专业的前沿知识结合,达到对μC/OS-II操作系统的学习和理解,为以后从事嵌入式工作的研究和开发打好基础。 三、课程设计内容 设计基于51单片机的嵌入式系统,把μC/OS-II操作系统移植到51单片机上,能完成基本的输入和输出,输入采用4*4的键盘,输出采用1602液晶。再此基础之上,每个同学根据自己的特长扩展应用系统,具体可参考以下五种扩展方案的实现。 1、设计的游戏机,在游戏机工作时有背景音乐放出。 2、设计的是电子琴以及1602液晶显示。 3、设计的流水灯、蜂鸣器、闪烁灯任务。, 4、设计的流水灯和电子书功能。 5、(1)所有灯灭,(2)1602显示 93)LED灯闪烁,显示字符。 四、进度安排 序号设计内容所用时间 1 布置任务,学习μC/OS-II操作系统5天 2 开发μC/OS-II操作系统的移植代码3天 3 制作基于51单片机的硬件系统2天 4 软硬件集成和调试2天 5 答辩、撰写设计报告书3天 合计15天 五、基本要求 1、设计基于51单片机的输入和输出电路。 2、用4×4的键盘作为输入设备。 3、用LED或LCD进行显示。

相关文档
相关文档 最新文档