嵌入式系统实验指导书
嵌入式系统实验指导书
第1部分DK-LM3S9B92 教学实验平台简介1.1 Stellaris® LM3S9B92开发板本书中的所有实验都是基于DK-LM3S9B92开发平台,LM3S9B92开发板提供了一个平台给基于ARM Cortex-M3的高性能的LM3S9B92微控制器开发系统。
LM3S9B92是Stellaris® T empest-class微控制器家族的成员之一。
T empest-class系列设备拥有性能为80MHz的时钟速率,一个外围设备接口(EPI)和Audio I2S接口。
除了支持这些功能的新硬件外,DK-LM3S9B92还包含了一系列丰富的基于其他Stellaris®板的外设。
开发板包括一个板载线上调试接口(on-board in-circuit debug interface,ICDI),该接口支持JTAG和SWD调试。
一个标准的ARM 20针脚的调试头支持大量的调试解决方案。
Stellaris® LM3S9B92开发套件加快了T empest-class微控制器的开发。
该套件还包含了完整的实验源代码。
Stellaris®LM3S9B92开发板包含以下特性:设置简单的USB线提供调试、通讯和供电功能拥有众多外设的灵活开发平台彩色LCD图形显示– 320×240分辨率的TFT LCD模块–电阻式触摸接口拥有256K闪存,96K SDRAM以及整合以太网、MAC+PHY、USB OTG和CAN通讯功能的80 MHz LM3S9B92 微控制器8MB SDRAM扩展(通过EPI接口)1MB串行闪存精确3.00V电压参考微处理器ROM中内建SAFERTOS™操作系统I2S立体声音频编解码器–输入输出–耳机输出–麦克风输入控制器区域网络(CAN)接口10/100 BaseT 以太网USB On-The-Go(OTG)连接器– Device、Host、以及OTG模式用户LED和按钮指轮电位器(可以用于菜单导航)MicroSD 卡插槽支持一系列调试选项–集成在线调试接口(ICDI)–全面支持JTAG、SWD和SWO–标准的ARM 20 针脚JTAG 调试连接器USB 虚拟COM 端口跳线分流方便重新分配I/O 资源为StellarisWare 软件所支持,包括图形库、USB 库和外围驱动库图1-1 DK-LM3S9B92开发板1.1.1 开发工具清单Stellaris®LM3S9B92 开发工具包括开发和运行使用Stellaris®微处理器的应用程序所需的所有东西:LM3S9B92 开发板网线用于调试的USB Mini-B 线缆用于OTG 连接PC 的USB Micro-B 线缆用于USB 主机的连接USB A 适配器的USB Micro-A 线缆USB 闪存记忆棒microSD 卡20 位带状电缆线光盘包含以下工具的评估版本:– StellarisWare 及用于本开发板的实验代码– IAR Embedded Workbench Kickstart Edition1.1.2 系统框图图1-2 DK-LM3S9B92开发板框图1.1.3 开发板说明开发板的供电电压:4.75—5.25 VDC,从以下的输入源中的一个得到:–调试器(ICDI)USB 线缆(连接至PC)– USB Micro-B 线缆(连接至PC)–直流电源插孔(2.1x5.5mm 由外部电源供应)尺寸:-107mmx 114mm模拟参考电压:3.0V +/-0.2%RoHS 状态:符合注:当LM3S9B92开发板工作在USB主机模式时,主机的连接器供电给已连接的USB 设备。
嵌入式操作系统实验指导书
《嵌入式操作系统》实验指导书实验1 Linux编程基础实验序号:1 实验名称:Linux编程基础适用专业:计算机科学与技术、通信工程学时数:4学时一、实验目的1、熟悉Vim的工作模式,熟练使用vim中的常见操作。
2、熟练掌握gcc编译命令及gdb的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。
3、熟悉多文件的makefile的编写,熟悉各种形式的makefile,并且进一步加深对makefile中用户自定义变量、自动变量的理解。
4、使用autotools生成多文件的makefile,进一步掌握autotools的使用方法。
二、实验内容1、vim使用练习(1)在“/root”目录下建一个名为“vim”的目录。
(2)进入“vim”目录。
(3)将文件“/etc/inittab”复制到“vim”目录下。
(4)使用vim打开“vim”目录下的inittab.(5)设定行号,指出设定initdefault(类似于“id:5:initdefault”)的所在行号。
(6)将光标移到该行。
(7)复制该行内容。
(8)将光标移到最后一行行首。
(9)粘贴复制行的内容。
(10)撤销第9步的动作。
(11)将光标移动到最后一行的行尾。
(12)粘贴复制行的内容。
(13)光标移到“si::sysinit:/etc/rc.d/rc.sysinit”。
(14)删除该行。
(15)存盘但不退出。
(16)将光标移到首行。
(17)插入模式下输入“Hello,this is vi world!”.(18)返回命令行模式。
(19)向下查找字符串“0:wait”。
(20)再向上查找字符串“halt”。
(21)强制退出vim,不存盘。
2、用gdb调试程序的bug(1)使用vi编辑器,将以下代码输入到名为greet.c的文件中。
此代码的原意为输出倒序main函数中定义的字符串,但结果显示没有输出,代码如下所示。
#include<stdio.h>int display1(char *string);int display2(char *string);int main(){char string[]=”Embedded Linux”;display1(string);display2(string);}int display1(char *string){printf(“The original string is %s \n”,string);}int display2(char *string1){char *string2;int size,i;size=strlen(string1);string2=(char *)malloc(size+1);for (i=0,i<size;i++){string2[size-i]=string[i];}string2[size+1]=’’;printf(“The string afterward is %s\n”,string2);}(2)使用gcc编译这段代码,注意要加上“-g”选项以方便之后的调试。
嵌入式系统实验指导书
基于OMAP3530处理器的嵌入式系统实验实验指导书光电信息学院 李绍荣 杨承目录实验一嵌入式Linux实验 (1)实验二 OMAP3530基本接口实验 (2)附录一 Linux系统的安装 (4)附录二 Fedora中高级管理用户root的启用方法 (25)附录三在Fedora系统中安装VMware Tools (30)附录四设置Windows与Fedora之间的文件共享 (33)附录五实验箱主板的外设连接图 (38)附录六实验箱快速操作指导 (40)Linux实验一嵌入式实验一、实验目的掌握嵌入式Linux操作系统的环境搭建方法。
二、实验原理熟悉并掌握嵌入式Linux操作系统的相关知识。
三、实验设备计算机。
四、实验步骤1、安装Vmware Workstation虚拟机工作平台;2、在Vmware Workstation虚拟机工作平台新建一个虚拟机Virtual Machine;3、安装Fedora 11 Linux操作系统;4、安装Vmware Tools;5、设置共享文件夹;五、实验报告要求1、画出实验的工作流程图;2、结合每个实验步骤的关键画面,详细描述Linux操作系统的环境搭建;3、针对实验中遇到的问题,分析原因,并给出解决问题的办法。
六、注意事项实验中禁止带电插拔元器件。
实验二 OMAP3530基本接口实验一、实验目的掌握OMAP3530的IO口、定时器、串口、USB和LCD等外设的使用。
二、实验原理熟读OMAP3530硬件手册的相关内容,掌握相关部件的寄存器使用方法。
三、实验设备1、OMAP3530嵌入式系统实验箱;2、计算机。
四、实验步骤1、LED测试主板上的LEDB、LED1、LED2和LED3为用户LED灯。
在串口助手中输入如下命令点亮LEDB:在串口助手中输入如下命令熄灭LEDB:LEDB会随着用户的操作进行亮灭。
2、触摸屏测试在串口助手中输入以下指令执行触摸屏校准程序:按照屏幕上提示,点击“+”图标5次完成校准。
嵌入式系统实验指导书
福建农林大学计算机与信息学院信息工程类实验报告课程名称:嵌入式系统姓名:系:专业:年级:学号:指导教师:职称:年月日实验项目列表序号实验项目名称成绩指导教师1 搭建实验环境罗超2 HelloWorld 罗超3 编译Bootloader 罗超编译Bootloader实验一搭建实验环境一、实验目的1.正确连接宿主PC机与PXA270-EP目标板。
2.建立宿主 PC机端的开发环境。
3.配置宿主 PC机端的minicom,使宿主PC机与PXA270-EP目标板可以通过串口通讯。
4.配置宿主 PC机端的TFTP服务,并开通此服务。
5.配置宿主P机端的NFS 服务,并开通此服务。
二、实验内容1.参照本实验指导书所列的步骤,一步一步地完成宿主PC机与PXA270-EP目标板的连接。
2.参照本实验指导书给出的步骤,一步一步地完成宿主机端开发环境的安装与配置。
3.参照本实验指导书给出的步骤,一步一步地完成minicom的配置。
4.参照本实验指导书给出的步骤,一步一步地完成TFTP服务的配置。
5.参照本实验指导书给出的步骤,一步一步地完成NFS服务的配置。
三、实验设备1.一套PXA270EP嵌入式实验箱。
2.安装Redhat9的宿主PC机,并且配置好ARM Linux的开发环境。
四、预备知识1.串口(COM1)、并口(LTP1)、网口(Ethernet)的基本知识。
2.Linux 基本命令。
五、实验原理及说明绝大多数的Linux 软件开发都是以native 方式进行的,即本机(HOST)开发、调试,本机运行的方式。
这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足够的资源在本机(即板上系统)运行开发工具和调试工具。
通常嵌入式系统软件的开发采用交叉编译调试的方式。
交叉编译调试环境建立在宿主机(即一台PC 机)上,对应的开发板叫做目标板,如图1-1。
图1-1开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码,(这种可执行代码并不能在宿主机上执行,而只能在目标板上执行。
《嵌入式系统》实验报告指导书(含答案).
实验一熟悉嵌入式LINUX开发环境1、实验目的熟悉UP-TECHPXA270-S的开发环境。
学会WINDOWS环境与嵌入式Linu环境共享资源的基本方法。
2、实验内容学习UP-TECHPXA270-S系统的使用、XP和虚拟机之间传送文件方法以及UP-TECHPXA270-S和虚拟机之间共享目录的建立方法。
3、预备知识了解UP-TECHPXA270-S的基本结构和配置,Linux基本知识。
4、实验设备硬件:UP-TECHPXA270-S开发板、PC机(内存500M以上)。
软件:PC机操作系统RADHAND LINUX 9+MIMICOM+RAM LINUX操作系统5、实验步骤(1)、在虚拟机下练习Linux常用命令。
(注意以下操作只能在[root@BC root]#,也就是root文件夹下运行,不然会导致系统不能启动)a. 学习命令通过“man ***”和“*** --help”得到的命令使用方法。
b.学习并掌握如下命令:ls,cd ,pwd,cat,more,less,mkdir, rmdir ,rm,mv,cp,tar,ifconfig(2)、XP与虚拟机之间传送文件(Samba服务器建立、网络设置、文件传送);(3)、了解系统资源和连线;(4)、开发板与虚拟机之间共享目录建立(设置NFS、开发板IP设置、目录挂载),挂载文件;(5)vi(vim)的使用(6)输入qt,启动桌面,按CTRL+C退出6、实验报告要求(1)、XP和虚拟机之间传送文件步骤;虚拟机共享XP文件:选择虚拟机设置,设置要共享的文件启动Linux进入/mnt/hgfs即可看到共享文件夹服务器设置——samba服务器(设置需要共享的目录)XP共享虚拟机文件:服务器设置——samba服务器(设置需要共享的目录)确保网络的PING通(即在同一局域网):1.虚拟机的192.168.1.234(RH9)2.XP的为192.168.1.1253.在XP 下点击开始-》运行(\\192.168.1.234)4.用户名bc密码123456以上实现了Linux虚拟机(RH9)和XP的文件的共享(2)、开发板与虚拟机之间建立共享目录以及文件挂载步骤;1.服务器设置——nfs服务器(设置需要共享的目录)2.设置开发板的ip地址:ifconfig eth0 192.168.1.53.在实验箱终端里输入mount -t nfs -o nolock 192.168.1.234:/up-techpxa270/exp /mnt/nfs4./mnt/nfs即为共享目录(3)、请画出虚拟机、PC机和ARM实验箱之间的硬件连接图;(4)、在Linux中怎样配置网络;系统设置->网络,在新的选项卡中(5)、实验中遇到的问题与解决过程。
嵌入式实验指导书
嵌入式实验指导书2016.5嵌入式实验是学习嵌入式系统原理及应用课程的一个重要环节。
通过实验加深嵌入式系统原理的认识,训练学生嵌入式系统应用及开发的基本技能,培养学生合理选择嵌入式处理器和接口芯片、正确设计嵌入式系统的接口电路、学会程序调试的基本方法以及解决实验中所遇到问题的能力,同时,培养学生理论联系实际、严谨认真的科学态度和良好的工作作风。
实验一搭建嵌入式开发环境实验 (4)实验二编译下载uboot kernel yaffs2 (18)实验三GPIO模块驱动程序及测试 (23)实验四编写串口通信程序 (27)实验一搭建嵌入式开发环境实验一、实验目的1、掌握嵌入式开发环境的搭建2、掌握嵌入式开发常用工具的使用3、掌握嵌入式交叉编译环境的搭建二、实验内容及原理1.vmware虚拟机的安装及配置2.ubuntu操作系统的安装及配置3.windows环境中常用工具的安装及使用三、实验步骤(一)、vmware虚拟机的安装及配置1)打开VMware-8.0.2-591240.exe安装程序。
2)之后操作按图进行。
3)安装完成后打开刚安装的VMware程序。
4)虚拟机使用固定IP 地址的网络方式默认情况下,虚拟机安装完成后与宿主机共享一个IP 地址,没有属于自己的IP,这里首先需要设置虚拟机的网络联系方式为桥接方式。
单击VM 菜单下面的Settings 项,弹出虚拟机设置对话框,如下图:选择Bridged 连接,确定即可。
(二)、ubuntu的安装及配置1)安装Ubuntu首先准备一张Ubuntu12.04 的安装光盘。
将光盘插入光驱,在PC的bios 中把PC启动方式设置为光驱启动,启动PC。
启动PC 后,安装盘会提示选择安装语言种类。
使用PC键盘的方向键选择在安装过程中显示的语言,在这里我们选择English>>点击“Install Ubuntu”按钮。
选择“Erase disk and install Ubuntu”>>点击“Continue”按钮硬盘空间以及挂载点的分配。
嵌入式系统实验指导书(KeilC51平台)
目录目录 (I)实验一、 uC/OSII移植及时钟中断和时间管理 (1)实验二、利用信号量和邮箱实现多任务间同步 (I)实验三、信号量集与内存动态分配的应用................................ 1实验一、 uC/OSII移植及时钟中断和时间管理实验项目名称:uC/OSII移植及时钟中断和时间管理实验项目性质:普通性所属课程名称:嵌入式系统实验计划学时:2实验目的熟悉uCOSII的移植方法,了解任务切换的过程;掌握创建任务和启动任务的方法;了解uCOSII的中断过程,学会使用时间管理函数;实验设备计算机,Keil C51软件实验步骤与内容1、参照KeilC51帮助文件,新建工程EXP1,选取器件为Philips公司的P89C51RD2Hxx,依次按顺序添加工程文件Exp1.c, OS_CPU_C.c, UCOS_II.c, OS_CPU_A.asm, Startup.asm, serial.c, C51L.LIB,编译前按照下图所示设置:编译工程;2、运行调试参考例程EXP1;3、在理解EXP1基础上,完成以下实验任务:在时钟中断里调用供用户自己编写服务代码的函数OSTimeTickHook(),计算MyTask任务的剩余时间(也就是MyTask调用OSTimeDly进入等待状态后的等待时间节拍数),把剩余时间输出到Serial Window#1上(KeilC51串口数据输出窗口)。
4、填写实验报告。
实验结果:参考例程EXP1结果如下图示:实验二、利用信号量和邮箱实现多任务间同步实验项目名称:利用信号量和邮箱实现多任务间同步实验项目性质:普通性所属课程名称:嵌入式系统实验计划学时:2实验目的熟悉多任务的创建;掌握利用信号量实现多任务同步的方法;掌握利用邮箱实现多任务间数据传递的方法;实验设备计算机,Keil C51软件实验步骤与内容1、参照KeilC51帮助文件,新建工程EXP2,选取器件为Philips公司的P89C51RD2Hxx,依次按顺序添加工程文件Exp2.c, OS_CPU_C.c, UCOS_II.c, OS_CPU_A.asm, Startup.asm, serial.c, C51L.LIB,其他设置参考实验一,然后编译工程;2、运行调试参考例程;3、在理解参考例程EXP2的基础上,完成以下实验任务:(1)在时钟中断里调用的供用户自己编写服务代码的函数OSTimeTickHook()里计算StartTask任务的剩余时间,把剩余时间用邮箱发送到MyTask显示;(2)计算YouTask的运行次数,用邮箱发送到HerTask显示;(3)MyTask和HerTask使用互斥信号量实现共享函数Fun()的访问。
嵌入式系统实验指导书_2013_5_2
实验一:ADS1.2集成开发环境练习(注:实验一“ADS1.2集成开发环境练习”为必做内容,选作实验一“汇编指令实验1”为选做内容。
)1.实验目的●了解ADS 1.2集成开发环境的使用方法。
●掌握ARM7TDMI汇编指令的用法.并能编写简单的汇编程序。
●建立汇编源程序文件、建立工程以及工程编译连接。
2.实验设备●硬件:PC机一台●软件:Windows XP系统,ADS 1.2集成开发环境3.实验内容(1) 建立一个新的工程。
(2) 建立一个汇编源程序文件,并添加到工程中。
(3) 设置编译链接控制选项。
(4) 编译链接工程。
4.实验预习要求仔细阅读“ADS1.2集成开发环境练习”实验指导书。
5.实验步骤①启动ADSl.2 IDE集成开发环境,选择File→New,使用ARM Executable Image工程模板建立一个工程,工程名称为ADS,见图1.1。
②选择File→New建立一个新的文件TESTl.S,设置直接添加到项目中,见图1.2。
输入如程序清单1.1所示的代码并保存。
程序清单1.1 TESTl.S文件代码③选择Edit→DebugRel Settings,在DebugRel Settings对话框的左边选择ARM Linker项,然后在Output页设置连接地址(见图1.3),在Options页设置调试入口地址(见图1.4)。
④选择Project→Make.将编译链接整个工程。
1.1建立ARM指令代码的工程1.2 新建文件TESTl.S图1.3 工程连接地址设置图1.4 工程调试入口地址设置6.思考(1) 工程模板有哪些作用? (例如:本实验中使用的“ARM Executable Image”工程模板。
)ADS工程文件的设置比较复杂,不同的实验板、开发板由于硬件电路结构和资源不同,需要进行不同的设置,而对于同一实验板,则启动文件、ADS工程文件的配置及主要的初始化代码是相对固定的,因此可以把这些相关文件按一定方式组织起来,称为工作模板。
嵌入式系统实验指导书(6个实验)
嵌入式系统实验指导书襄樊学院物理与电子信息学院实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。
2)编写实验所要用到的程序,将其放在U盘上。
3)写出预习报告。
2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。
2)对程序进行调试,修改错误,获得要求的结果。
3)保存调试后的程序。
3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。
实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。
此项为实验成绩评定的重要依据。
实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。
实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
实验原理及环境:在计算机上已安装Keil C51软件。
这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。
如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。
实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。
2)加入C 源文件或汇编源文件。
3)用项目管理器生成各种应用文件。
4)检查并修改源文件中的错误。
5)编译连接通过后进行软件模拟仿真。
6)编译连接通过后进行硬件仿真。
2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。
通信专业--嵌入式系统实验指导书
嵌入式系统实验指导书单位:长江大学工程技术学院院系: 信息系作者:朱嵘涛实验一 ADS开发环境的使用(2学时)一实验目的1.熟悉Proteus和ADS软件的使用2.掌握引脚连接模块和GPIO相关寄存器的的操作方法二实验要求利用LPC2138和8个发光二级管等器件,构建一个流水灯嵌入式系统。
三实验设备1.电脑一台2.Proteus-ARM实验箱四实验电路及连线1.实验电路图1 流水灯实验原理图2.Proteus-ARM实验箱硬件连接CPU板主板P0.0 LED1P0.1 LED2P0.2 LED3P0.3 LED4 P0.4 LED5 P0.5 LED6 P0.6 LED7 P0.7LED8五 实验原理1.主要知识点概述LPC2138微控制器具有46个I/O 口,内部无上拉电阻,输入/输出方式要进行设置后才能操作(设置寄存器IODIR )。
口线与其它功能复用,所以要进行相关的连接配置(设置寄存器PINSEL0和PINSEL1)。
电路采用了I/O 口灌电流的驱动方式来驱动LED ,这样做主要是因为I/O 口能提供的灌电流大于其拉电流,保证了LED 的显示亮度。
限流电阻为220Ω,发光二极管的导通压降值,一般为1.7V 。
在本实验中,我们使用了P0.0~P0.7的输出功能,控制八个LED 闪动。
程序首先设置PINSEL0进行IO 口配置,然后由IO0DIR 设置P0.0~P0.7为输出模式,最后即可通过IO0SET 和IO0CLR 寄存器进行口线置1或置0输出控制。
2.实验效果说明要求利用查表的方式,控制8个LED 先是全灭、然后依次逐个点亮、依次逐个叠加、依次逐个递减、两边靠拢后分开、两边叠加后递减、最后全亮,循环从而达到花样流水灯效果。
六 实验步骤 1. 实验流程图是否开始P0[7:0]选择连接GPIO设置P0[7:0]为输出状态从数组中读取数据,点亮部分LED ,其余熄灭延时将点亮LED 熄灭,即所有的灯熄灭延时取样指针加1到末尾了吗?取样指针复位2、实验程序#include "config.h"#define LED8 0xFF/******************************************************************* *名称: DelayNS()*功能: 长软件延时*******************************************************************/ void DelayNS(uint32 dly){uint32 i;for(;dly>0;dly--)for(i=0;i<5000;i++);}/******************************************************************* *File:Main.c*功能: 流水灯显示实验*****************************************************************/ const uint32 led_tab[] = {0x00,0xff,//全亮,全灭0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,//依次逐个点亮0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,//依次逐个叠加0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,//依次逐个递减0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e,//两边靠拢后分开0x7e,0x3c,0x18,0x00,0x00,0x18,0x3c,0x7e,//两边叠加后递减};//定义循环用数据表格int main(void){ uint32 i;PINSEL0=0x00000000;PINSEL1=0x00000000;IODIR =LED8;while(1){for(i=0;i<42;i++){IOSET=led_tab[i];DelayNS(50);IOCLR=~led_tab[i];DelayNS(50);}}}七实验结果和心得体会实验二外部中断实验(2学时)一、实验目的1、熟悉向量IRQ的操作过程2、熟悉LPC213X微控制器掉电模式的进入。
嵌入式系统设计实验指导书(10自动化)
嵌⼊式系统设计实验指导书(10⾃动化)《嵌⼊式系统设计》实验指导书沈阳⼤学信息⼯程学院实验⼀ CPU通⽤IO输⼊输出实验⼀.实验⽬的1.进⼀步了解A T91M40800处理器的编程⽅法。
2.熟悉AT91R40800处理器GPIO模块的输⼊输出原理和编程⽅法。
3.熟悉最基本的编译、连接、运⾏、调试的⽅法。
⼆.实验设备1.EL-MUL-III实验箱(台)。
2.AT91M40800 CPU模块。
三.实验内容逻辑电平开关的状态输⼊到CPU的IO⼝,然后通过另外⼀组IO⼝输出到LED⼝,利⽤LED显⽰电路作为输出的状态显⽰。
四.实验原理AT91M40800处理器有三⼗⼆个可编程的IO⼝,其中六个可以被⽤作通⽤⽬的IO(P16、P17、P18、P19、P23、P24),⽽其他的IO则是和外设模块复⽤的。
⽤户可以设置PIO_OER和PIO_ODR寄存器设置每⼀个IO的输出使能,⽽输出的状态可以由PIO_OSR寄存器看到。
输出信号的⾼低是由PIO_SODR和PIO_CODR寄存器决定的,此时,IO⼝的输出值可以由PIO_ODSR寄存器读出。
五.实验电路六.实验步骤1.实验接线:CPU扩展模块上的P0⼝连接到实验箱上的K1⼝;CPU扩展模块上的P1⼝连接到实验箱上的K2⼝;CPU扩展模块上的P2⼝连接到实验箱上的K3⼝;CPU扩展模块上的P3⼝连接到实验箱上的K4⼝;CPU扩展模块上的P4⼝连接到实验箱上的K5⼝;CPU扩展模块上的P5⼝连接到实验箱上的K6⼝;CPU扩展模块上的P6⼝连接到实验箱上的K7⼝;CPU扩展模块上的P7⼝连接到实验箱上的K8⼝;CPU扩展模块上的P16⼝连接到实验箱上的LED1⼝;CPU扩展模块上的P17⼝连接到实验箱上的LED2⼝;CPU扩展模块上的P18⼝连接到实验箱上的LED3⼝;CPU扩展模块上的P19⼝连接到实验箱上的LED4⼝;CPU扩展模块上的P20⼝连接到实验箱上的LED5⼝;CPU扩展模块上的P21⼝连接到实验箱上的LED6⼝;CPU扩展模块上的P22⼝连接到实验箱上的LED7⼝;CPU扩展模块上的P23⼝连接到实验箱上的LED8⼝;2.打开⽂件EL-MUT-III-ARM7-AT91\ads\project\ InputOutputOnGIO.mcp,编译、调试程序,单步运⾏和全速运⾏,观察实验结果。
嵌入式系统基础(单片机)实验指导书
嵌入式系统基础【单片机】实验指导书电子通信工程系·电子工程实验中心目录实验一实验板的装配和使用实验二keil软件的使用实验三LED灯延时闪烁实验实验四按键的中断编程实验实验五定时器编程实验实验六数码显示应用编程实验实验七矩阵键盘编程实验实验八蜂鸣器编程实验实验九时钟编程实验实验十时钟芯片DS1302编程实验实验一实验板的装配和使用一、实验板电路原理图二、实验板插装和焊接的注意事项1、本套件是一块MC-51系列单片机实验板,并且自带一个USB接口的程序烧写器;2、套件主要包括一袋元器件【共计49个元件】,一块电路板(贴片元器件已经焊接在电路板上了),一根USB连接线和一块单片机芯片(USB 连接线和单片机等到焊接完毕检查无误后再发);3、电路板上的贴片元件已经焊接完毕,袋中的其它直插元件由学生自己动手焊接;4、请焊接前逐一了解各个元件的名称、工作原理、在电路板上的插装位置、引脚极性【往电路板上插装时的方向------特别重要】等知识点(具体见“元件清单”),防止出现焊接错误;5、焊接时请遵循先低后高的原则(可以按照“元件清单”的先后顺序来插装和焊接),元件一般是插一个焊一个,向下插装到位再焊接,每个焊点的焊接时间最好不要超过3-5秒,焊后及时剪去元件引脚;6、为保证电路板上元件的整齐、美观,建议插装和焊接时注意一定的技巧(例如:焊发光二极管或按键等元件时,先将元件按正确方向紧贴电路板插装,然后每个元件只焊一个脚,再回顶层扶正歪斜的元件,最后将剩下的引脚全部焊接完毕);7、电路板上有一部分元器件(或焊盘)是为今后进行功能扩展预留的,不需要焊接(标有X1~X12的位置都不必焊,需要焊的元件可以参见“电路板照片”);8、焊接过程中要养成良好的习惯,例如工具摆放位置要顺手,元件及剪下的引脚不乱丢弃,注意用电安全,工作完毕后及时清理桌面卫生等;9、焊接完毕通电前,要用万用表的电阻档测量电源接口的阻抗值(一般会大于1kΩ),若太小,则可能是电路板上有短路现象,为了防止烧坏计算机的USB接口,一定要检查并处理后再与计算机的USB口连接;10、首次连接USB线给电路板通电时,因为单片机中还没有程序,所以电路板上的发光二极管和数码管的显示都是随机的,不代表任何意义,不能由此判别实验板是否存在故障;11、接下来我们就可以往这个实验板中烧写程序了,具体的使用方法,请参见下文“五、实验板的使用方法”部分。
嵌入式系统实验指导书
《嵌入式系统原理与设计》实验指导书学院:班级:指导教师:实验一ARMSYS平台开发环境及工具熟悉一、实验目的1、掌握ARMSYS平台开发环境2、学习ARM 的端口配置方法3、掌握ARM STD2.51 开发平台的使用方法二、实验设备硬件:THUS-1 型嵌入式(ARM)实验/开发系统;ARM 仿真器套件(包括仿真器、25 针并口延长线、14 针(或20 针)排线);串口线(2、3 平行);PC 机(Pentumn100)软件:PC 机操作系统Windows 98/2000/NT/XP ;ARM STD2.51 集成开发环境;仿真器驱动程序三、实验内容熟习ARM SDT2.51 平台的开发环境。
四、实验原理1、超级终端的建立①点击“开始→程序→附件→通讯→超级终端”,进入图1,选择COM1,点击确定;图1②如图2,输入名称,选择图标(第一个),点击确定;图2③对端口进行如下设置,并确定:图3注意:当关闭超级终端时提示是否保存,选择“是”,下次不需要再建,直接打开“ARM”即可。
2、JTAG的设置①将JTAG口与目标板连接好;②双击桌面图标,打开ARM7调试代理,将其设置为如图4所示,然后点击Test按钮。
如果JTAG口与目标板连接好,则在ARM7调试代理的左侧的空白处会出现“Detect ARM7TDMI”的字样。
图4注意:在运行SDT的调试器ADW调试程序的过程中,始终不要关闭ARM7调试代理。
3、ARM SDT的应用ARM SDT 是ARM 公司推出的一整套集成开发工具。
SDT 经过逐年维护和更新,目前最新版本为2.5.2。
新建一个项目的步骤如下:①运行ARMSDT2.5 集成开发环境(ARM Project Manager),点击开始菜单中的程序组的ARM SDT V2.51中的ARM Project Manager启动主程序或者点击桌面图标启动主程序。
出现主程序界面,如图5所示。
图5②若要新建一个项目,选择File|New 菜单,在对话框中选择PROJECT,新建一个工程文件(project1),如图6所示。
嵌入式系统实验
嵌入式系统实验指导书计算机科学与技术学院实验教学中心2007-9-1目录实验一JediView调试环境及软件编程 (3)实验二系统初始化和存储器实验 (8)实验三键盘和中断实验 (12)实验四S3C44B0X定时器实验 (19)实验五LCD显示实验 (22)实验六、uclinux文件系统实验 (26)实验一JediView调试环境及软件编程一、实验目的1. 了解调试软件JediView,掌握在JediView环境中新建工程,及其编译,调试工程的方法。
2. 掌握在JediView环境下arm系统中C语言编程及调试方法3. 掌握arm汇编语言编程及调试方法。
二、实验内容1.学习使用JediView集成开发环境:新建一个工程arm1_1,设置并编译该工程,通过JEDI仿真器下载已经编译好的文件到实验仪中运行。
观察实验仪上的执行结果。
掌握调试程序方法,为下面调试应用程序打下基础。
2. 建立工程arm1_2,编写C语言程序arm1_2.c实现1+2+3+…+N(arm1_2.c写在预习报告上)。
3. 建立工程arm1_3,用arm汇编语言编写程序arm1_3.s,实现带参数的子程序调用(用程序跳转表实现),调用参数r0=0,做r1+r2=>r0;r0=1,做r1-r2=>r0(arm1_3.s写在预习报告上)。
三、预备知识1.关于JediView调试环境基本使用方法。
JediView具备一个标准调试软件的绝大部分功能,主要由以下模块组成:源程序编辑器(Editor):用来完成源程序的编辑、修改等任务。
编译器(Build System):把源程序(包括C,C++,汇编)编译生成机器码和可调试代码。
调试器(Debugger):对编译成功的源程序进行调试,如走单步,设断点,全速运行等。
项目管理器(Project Manager):管理项目设置,包括运程序路径,编译选项等。
2.ARM指令系统,汇编语言编程知识。
《嵌入式系统》课程实验指导书
《嵌入式系统》课程实验指导书第一部分实验教学系统硬件介绍第二部分Embest IDE集成开发环境使用说明第三部分实验指导第一部分实验教学系统硬件介绍1.1教学系统的硬件电路Embest S3CEV40开发板是实验系统的主要硬件平台,它是英蓓特公司开发的一款全功能ARM开发板,基于Samsung公司的S3C44B0X处理器(ARM7TDMI),资源丰富。
硬件系统包含了嵌入式系统开发应用所需的大部分设备,如串口、以太网口、USB口、音频输出、LCD及TSP触摸屏、4*4的小键盘、固态硬盘、大容量的Flash和SDRAM等等。
用户不仅可以在该硬件平台上完成实验系统提供的实验例子,还可以参考该平台设计自己的目标系统。
该硬件平台如下图所示:图1-1 实验系统硬件平台Embest S3CEV40开发板的基本资源如下:●电源:外部5V电源供电或者由USB接PC供电,电源指示LED以及500mA保险丝●1M×16bit Flash●4×1M×16bit SDRAM●4Kbit IIC BUS的串行EEPROM●2个串口,其中一个为简单接口,一个为全接线接口,可跳接RS232 MODEM●复位开关●两个中断按钮,两个LED●外部IDE硬盘接口●LCD及TSP触摸屏接口●20针JTAG接口●USB连接器●4×4键盘接口●4个2×20PIN CPU扩展接口●10M 以太网接口●8段数码管●MICROPHONE输入口●IIS音频信号输出口,可接双声道SPEAKER●固态硬盘16M×8bit●320*240 带触摸功能的显示屏Embest ARM教学系统主要功能模块如图1-2 所示:图1-2 Embest S3CEV40功能模块1、存储系统实验系统上的存储系统包括一片1M×16bit的Flash(SST39VF160)和一片4M×16bit 的SDRAM(HY57V65160B)。
嵌入式系统实验指导指导书完整版
嵌入式系统实验指导王艳春李英一张劲松实验一嵌入式微处理器系统的开发环境一、实验环境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 格式的目标文件库。
《嵌入式系统设计》实验指导书-
电子科技大学微机课程组嵌入式系统设计实验指导书2015年9月目录第一部分嵌入式系统仿真实验系统简介1第一节、开发平台软件资源及文档1第二节、开发平台软件安装1第二部分实验项目说明2第一节、实验项目列表2第二节、实验项目使用建议2第三部分嵌入式开发系统实验案例指导3实验一、多任务程序的建立和运行3一.实验目的3二.实验内容3三.预备知识3四.实验设备与工具3五.实验原理与说明3六、实验步骤4七、思考题8实验二、基于操作系统的任务调度和进程管理9一.实验目的9二.实验内容9三.预备知识9四.实验设备与工具9五.实验原理与说明9六、实验步骤10七、思考题12第一部分嵌入式系统仿真实验系统简介以VC++ 6.0为实验基础软禁平台仿真模拟在uC/OS嵌入式操作系统系统环境下多任务程序的运行和调试,使学生可以在一个纯软件的环境中了解、熟悉嵌入式软件的运行和调试方法。
第一节、开发平台软件资源及文档1)VC6.0集成开发环境;2)配套实验指导书的实验源代码,分为两类:仿uc/OS部分和任务程序部分3)实验环境的工程文件4)实验指导书;第二节、开发平台软件安装1、编译调试环境的安装在XP平台下安装VC6.0;2、实验文件拷贝把实验文件拷贝d:\ucosexperiment目录下第二部分实验项目说明第一节、实验项目列表表1列出了本指导书提供的所有实验项目。
表1 实验项目列表项目编号实验项目课时数实验性质项目类别实验环境1 多任务程序的建立和运行 4软件验证Windows2 基于操作系统的任务调度和进程管理 4 综合实验分为两种种类别:验证性实验,综合设计实验。
●验证实验:本系列实验的基础部分,属于必做内容;●综合设计实验:让使用者在相关的软件环境下实现按实验要求修改相应的软件实现相应的功能。
第二节、实验项目使用建议本实验共提供2个实验项目,可以根据同学个人兴趣和具体的实验情况来进行选择,每一组实验基本涵盖本实验课程要求学生掌握的技能,包括C语言基础、应用程序编程等内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《嵌入式系统原理》实验指导书目录《嵌入式系统原理》实验指导书 (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.创建一虚拟机MYLINUX1)从桌面上单击“VMWARE WORKSTAION”启动虚拟机软件,单击新建虚拟机,指定保存路径“D:\MYLINUX”,选择虚拟机操作系统类型:linux,然后完成虚拟机的创建;2)双击虚拟机中CDROM,选择将虚拟机光驱连接修改为:使用ISO映像,并指定映像文件为共享磁盘:I:\redhat-disk-1.iso。
3)单击虚拟机中启动虚拟机,开始从光盘上启动系统并安装linux。
2.安装linux注意:在虚拟机和主机之间进行切换方法:鼠标单击虚拟机,可以进入;要回到主机,请用CTRL+ALT1)输入回车,进入图形化安装;也可以linux text进入文本界面安装;2)选择Skip(跳过CD检查),回车3)点击NEXT(下一步)4)安装语言,选择简体中文;或选择English5)安装类型,选择定制:Custom6)分区选择:自动分区7)网络配置:选择为自动获取IP,无防火墙;8)设置根(root)用户密码:1234569)安装包选择:至少要选择:开发工具、编辑工具、内核开发工具。
如果实在不知选什么,可以选择:所有(everything),但这样安装时间较长。
10)安装过程中提示插入第2张磁盘时,请用鼠标右击虚拟机的标题栏,找到可移动设备中的CDROM,然后指定RED-HAT-disk-2.iso作为光盘映像文件。
3.练习linux命令的使用:启动linux后,在登录框中输入用户名:root,密码:123456(不显示),直到进入提示符状态#:执行如下命令,掌握基本命令的使用1)mkdir /mydir //建立文件夹2)cp /proc/version /mydir/ //复制文件3)cd /mydir //进入文件夹4)mv version myfile //重命名文件5)ls //显示目录6)cat myfile //显示文件内容7)vi myfile (按:q退出) //编辑文件下面是光驱的装载1)cd /mnt2)ls若没有CDROM,执行mkdir cdrom创建CDROM1)mount cdrom //装载光驱2)cd cdrom3)ls4)cd ..5)umount cdrom //卸载光驱4.vi 编辑器的使用用VI编辑一个文件:vi helloworld.c按i键进入插入模式,输入如下内容:#include <stdio.h>#inlcude <stdlib.h>int main(){printf(“hello world!\n”);return 0 ;}按ESC键退出插入模式.按:w保存文件按:q退出文件编辑.5.使用gcc命令编译该文件:gcc –o helloworld helloworld.c若有错,根据提示的行号修改错误,直到编译没有错误.执行:./helloworld查看是否能正确输出:hello world!.6 .用GDB调试test1.c带调试信息的编译:gcc –g –o test1 test1.c启动调试器:gdb test1在提示符下执行如下命令进行调试:1)list2)用回车继续执行上述命令,找到第2个函数的入口点行号3)break n //n为第2个函数的入口点行号(第19行)4)run5)step6)next7)用watch i,string2[i]来观察变量的变化反复执行next,直到循环退出.7.参考test2.c修改test1.c ,重新编译并运行,看是否能正确得到反转的结果. 实验小结:小结实验过程中遇到了哪些问题,是如何解决的?实验二linux驱动程序实验目的:1)熟悉驱动程序的结构;2)掌握驱动程序各函数的作用3)熟悉驱动程序的编译与运行实验学时:3学时实验设备:装有VMWARE的PC机一台,RED HAT安装光盘(或ISO映像文件)。
实验步骤:1.参照附录中的参考代码,使用VI完成skeleton.c与skeleton_test.c的编写.2.执行如下命令编译程序:export PATH=/opt/host/armv4l/bin:$PATHarmv4l-unkown-linux-gcc -D__KERNEL__ _DMODULE -I/s3c2410/kernel/include -o skeleton.o skeleton.carmv4l-unkonw-linux-gcc -o skeleton_test skeleton_test.c3.使用驱动程序插入模块:Insmod skeleton.o查看设备文件:/dev/skeleton执行测试程序./skeleton_test卸载模块:rmmod skeleton.o实验小结:参考代码:1. 驱动程序skeleton.c/* driver/char/skeleton.c* this is a skeleton char device driver*/#include <module.h>#include <linux/fs.h>#include <linux/iobuf.h>#include <linux/major.h>#include <linux/blkdev.h>#include <linux/capability.h>#include <linux/smp_lock.h>#include <asm/uacces.h>#include <asm/hardware.h>#include <asm/arch/cpu_s3c2410.h>#include <asm/io.h>#include <linux/vmalloc.h>#define IOWRITE 0xf021#define IOCLEAR 0xf022#define SKELETON_MAJOR 220#define STRLEN 100char skeleton_drvinfo[100];devfs_handle_t devfs_skeleton;int skeleton_open(struct inode *,struct file *);int skeleton_release(struct inode *,struct file *);int skeleton_ioctl(struct inode *,struct file *,unsigned int ,unsigned long); ssize_t skeleton_read(struct file *,char * ,size_t,loff_t *);ssize_t skeleton_write(struct file *,const char * ,size_t,loff_t *);static struct file_operations skeleton_fops={ioctl: skeleton_ioctl,open: skeleton_open,read: skeleton_read,write: skeleton_write,release: skeleton_release,};int skeleton_open(struct inode *inode,struct file *filp){printk("open ok\n");return 0;}ssize_t skeleton_read(struct file *filp,char *buf,size_t size,loff_t *offp) {char * _buf;_buf=skeleton_drvinfo;copy_to_user(buf,_buf,sizeof(skeleton_drvinfo);return 0;}ssize_t skeleton_write(struct file *filp,char *buf,size_t size,loff_t *offp) {char * _buf;_buf=skeleton_drvinfo;copy_from_user(_buf,buf,sizeof(skeleton_drvinfo);return 0;}int skeleton_release(struct inode *inode,struct file *filp){printk("release ok\n");return 0;}int skeleton_ioctl(struct inode *inode,struct file *filp,unsigned int command,unsigned arg) {int err=0;switch(command){case IOWRITE:printk("write ok\n");return 0;case IOCLEAR:printk("clear ok\n");return 0;default:err=-EINV AL;}return err;}int __init skeleton_init(void){devfs_skeleton=devfs_register(NULL,"skeleton",DEVFS_FL_DEFAULT,SKELETON_MAJOR,0,S_IFCHR|S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP,&skeleton_fops,NULL);return 0;}void __exit skeleton_exit (void){devfs_unregister(devfs_skeleton);}module_init(skeleton_init);module_exit(skeleton_exit);2.测试程序skeleton_test.c#include <stdio.h>#include <fcntl.h>#include <stdlib.h>char *device="/dev/skeleton";int skeleton_fd;char cBuffer[100];char readchar[100];int main( int argc,char *argv[]){int i,count;char *constchar;constchar="This is a skeleton device driver\n";sprintf(cBuffer,constchar);printf("driver info is %s\n",cBuffer);fflush(stdout);skeleton_fd=open(device,O_RDWR);if (skeleton_fd==-1){printf("Unable to open skeleton device");exit(0);}count=write(skeleton_fd,cBuffer,100);count=read(skeleton_fd,readchar ,100);printf("driver info is :%s\n",readchar );fflush(stdout);close(skeleton_fd);}实验三交叉编译程序实验目的:第一次正面接触嵌入式Linux 的开发,第一次编写嵌入式系统的应用程序,亲身实践一下开发的步骤。