嵌入式系统实验指导指导书完整版
嵌入式系统实验与课程设计指导书
目录第一节实验 ------------------------------------------------------------------------------------- 2实验一ADS 1.2集成开发环境练习 ----------------------------------------------------- 2实验二:汇编指令实验1----------------------------------------------------------------- 3实验三:汇编指令实验2----------------------------------------------------------------- 4第二节实验 ------------------------------------------------------------------------------------- 6实验四:ARM微控制器工作模式实验-------------------------------------------------- 6实验五:C语言程序实验----------------------------------------------------------------- 9第三节实验 ------------------------------------------------------------------------------------11 实验六:GPIO输出控制实验1 ---------------------------------------------------------11 实验七:GPIO输出控制实验2 -------------------------------------------------------- 13 第四节实验 ----------------------------------------------------------------------------------- 15 实验八:存储器重映射实验------------------------------------------------------------ 15 实验九:外部中断实验 ----------------------------------------------------------------- 17 第五节实验 ----------------------------------------------------------------------------------- 19 实验十:定时器实验-------------------------------------------------------------------- 19 实验十一:UART实验 ----------------------------------------------------------------- 21 实验十二:IIC接口实验---------------------------------------------------------------- 24 第六节彩色液晶绘图设计------------------------------------------------------------------ 28 第七节 UC/OS-II移植----------------------------------------------------------------------- 31 第八节UC/OS-II下蜂鸣器设计 ------------------------------------------------------------ 35 第九节 RTC设计 ----------------------------------------------------------------------------- 38 第十节数码管显示设计--------------------------------------------------------------------- 41 附录------------------------------------------------------------------------------------------- 44第一部分实验课程第一节实验实验一ADS 1.2集成开发环境练习1 、实验目的了解ADS 1.2集成开发环境的使用方法2 、实验设备硬件:PC机一台软件:Windows98/XP/2000系统,ADS1.2集成开发环境3 、实验内容(1)建立一个新的工程(2)建立一个汇编源文件,添加到工程(3)设置文本编译器支持中文(4)设置编译链接控制选项(5)编译连接工程(6)调试工程4 、源代码:AREA Example1,CODE,READONLY ; 声明代码段Example1ENTRY ; 标识程序入口CODE32 ; 声明32位ARM指令START MOV R0,#15 ; 设置参数MOV R1,#8ADDS R0,R0,R1 ; R0 = R0 + R1B STARTEND/********************************************************************/实验二:汇编指令实验 11 、实验目的(1)了解ADS 1.2集成开发环境以及ARMulator软件仿真(2)掌握ARM7TDMI汇编指令的用法,编写简单的汇编程序(3)掌握指令的条件执行和使用LDR/STR完成存储器的访问2 、实验设备硬件:PC机一台软件:Windows98/XP/2000系统,ADS1.2集成开发环境3 、实验内容(1)使用LDR读取0x40003100的数据,将数据加1,如小于10则用STR将结果写回原地址,如大于等于10,把0写回原地址。
嵌入式系统实验指导书
基于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)、实验中遇到的问题与解决过程。
嵌入式操作系统实验指导书
《嵌入式操作系统》实验指导书实验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”选项以方便之后的调试。
嵌入式系统实验指导书_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工程文件的配置及主要的初始化代码是相对固定的,因此可以把这些相关文件按一定方式组织起来,称为工作模板。
嵌入式系统实验指导书(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()的访问。
嵌入式系统实验指导指导书完整版
嵌入式系统实验指导王艳春李英一张劲松实验一嵌入式微处理器系统的开发环境一、实验环境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 格式的目标文件库。
嵌入式系统实验指导书(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的方波。
嵌入式系统实验指导书
第1部分DK-LM3S9B92 教学实验平台简介1.1 Stellaris® LM3S9B92开发板本书中旳所有实验都是基于DK-LM3S9B92开发平台,LM3S9B92开发板提供了一种平台给基于ARM Cortex-M3旳高性能旳LM3S9B92微控制器开发系统。
LM3S9B92是Stellaris® Tempest-class微控制器家族旳成员之一。
Tempest-class系列设备拥有性能为80MHz旳时钟速率,一种外围设备接口(EPI)和Audio I2S接口。
除了支持这些功能旳新硬件外,DK-LM3S9B92还涉及了一系列丰富旳基于其她Stellaris® 板旳外设。
开发板涉及一种板载线上调试接口(on-board in-circuit debug interface,ICDI),该接口支持JTAG和SWD调试。
一种原则旳ARM 20针脚旳调试头支持大量旳调试解决方案。
Stellaris® LM3S9B92开发套件加快了Tempest-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 设备。
嵌入式系统(STM32微处理器)实训指导书
嵌入式系统(STM32微控制器)实训指导书意法半导体公司的STM32微控制器具有32位字长的CPU,使用精简指令系统(RISC)。
精简指令系统的指令字长固定,译码方便,相对于复杂指令系统(CISC),精简指令系统的处理效率更高。
具有32位字长CPU的STM32系列微控制器的处理能力远高于8位和16位单片机,同时集成了与32位CPU相适应的强大外设(如双通道ADC、多功能定时器、7通道DMA、SPI等),能够完成过去一般单片机所无法达到控制功能。
现在,已经形成了以8位单片机为主流的低端产品和以32位微控制器为主流的高端产品两大市场。
对于自动化领域的从业人员,了解32位微控制器的结构、特点,掌握其使用方法,是很有必要的。
一、关于学习方法此前,我们已经学习过《C语言程序设计》、《微机原理》、《单片机原理及应用》等相关课程。
这些课程的学习是系统的、完整的、全面的,是有老师讲授的。
这种学习方法,适合在学校学习一些重要的基础理论课程。
在工作中,我们常常会遇到新的东西,需要以已有的知识作为基础,去解决问题、完成任务。
这就需要不同于前述的另一种学习方法。
这种方法是建立在自学基础上的,以解决实际问题为目的,允许通过局部的、模仿性的手段,来实现既定目标。
这种方法在工程实践中的应用是非常普遍的。
“白猫黑猫,能抓住老鼠就是好猫”。
能解决问题的方法就是好方法。
本次实训采取的方法是:将参考资料发给同学,同学自学其中需要的部分。
在指导教师引导下,体验各个控制项目、理解各组成部分,再以原控制软件为基础进行修改和移植,获得要达到的控制效果。
在本次实训中,我们使用的微控制器型号为STM32F103RB。
STM32F103RB是STM32微控制器系列中的一种,内部具有128KB程序存储器、20KB随机读写存储器、1个16位高级定时器、3个16位通用定时器、2个SPI、2个I2C、3个USART、1个USB、1个CAN、2个ADC。
芯片为64引脚LQFP封装,有51个I/O引脚。
嵌入式系统(STM32微处理器)实训指导书
嵌入式系统(STM32微控制器)实训指导书意法半导体公司的STM32微控制器具有32位字长的CPU,使用精简指令系统(RISC)。
精简指令系统的指令字长固定,译码方便,相对于复杂指令系统(CISC),精简指令系统的处理效率更高。
具有32位字长CPU的STM32系列微控制器的处理能力远高于8位和16位单片机,同时集成了与32位CPU相适应的强大外设(如双通道ADC、多功能定时器、7通道DMA、SPI等),能够完成过去一般单片机所无法达到控制功能。
现在,已经形成了以8位单片机为主流的低端产品和以32位微控制器为主流的高端产品两大市场。
对于自动化领域的从业人员,了解32位微控制器的结构、特点,掌握其使用方法,是很有必要的。
一、关于学习方法此前,我们已经学习过《C语言程序设计》、《微机原理》、《单片机原理及应用》等相关课程。
这些课程的学习是系统的、完整的、全面的,是有老师讲授的。
这种学习方法,适合在学校学习一些重要的基础理论课程。
在工作中,我们常常会遇到新的东西,需要以已有的知识作为基础,去解决问题、完成任务。
这就需要不同于前述的另一种学习方法。
这种方法是建立在自学基础上的,以解决实际问题为目的,允许通过局部的、模仿性的手段,来实现既定目标。
这种方法在工程实践中的应用是非常普遍的。
“白猫黑猫,能抓住老鼠就是好猫”。
能解决问题的方法就是好方法。
本次实训采取的方法是:将参考资料发给同学,同学自学其中需要的部分。
在指导教师引导下,体验各个控制项目、理解各组成部分,再以原控制软件为基础进行修改和移植,获得要达到的控制效果。
在本次实训中,我们使用的微控制器型号为STM32F103RB。
STM32F103RB是STM32微控制器系列中的一种,内部具有128KB程序存储器、20KB随机读写存储器、1个16位高级定时器、3个16位通用定时器、2个SPI、2个I2C、3个USART、1个USB、1个CAN、2个ADC。
芯片为64引脚LQFP封装,有51个I/O引脚。
嵌入式系统设计实验指导书(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,编译、调试程序,单步运⾏和全速运⾏,观察实验结果。
嵌入式系统实验指导书
《嵌入式系统原理与设计》实验指导书学院:班级:指导教师:实验一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)。
《嵌入式系统设计》实验指导书-
电子科技大学微机课程组嵌入式系统设计实验指导书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)。
嵌入式系统实验指导王艳春英一劲松实验一嵌入式微处理器系统的开发环境一、实验环境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…”图标按钮,即可进行工程的地址设置、输出文件设置、编译选项等,如图1-5所示。
在“ARM Linker”对话框设置连接地址,在“Language Settings”中设置各编译器的编译选项。
对于简单的软件调试,可以不进行连接地址的设置,直接点击工程窗口的“Make”图标按钮,即可完成编译连接。
若编译出错,会有相应的出错提示,双击出错提示行信息,编辑窗即会使用光标指出当前出错的源代码行,编译连接输出窗口如图1-6所示。
同样,您可以在【Project】菜单中找到相应的命令。
图1-5连接器选项设置图1-6 output选项卡OUTPUT 选项卡:该选项卡用来控制连接器进行连接操作的类型。
其中Linktype 选项组中的单选按钮确定使用的连接方式。
这里选择Simple,连接器将根据连接器选项中指定的地址映射方式,生成简单的ELF 格式的映像文件,所生成的映像文件中的地址映射关系比较简单.当选择Simple 连接类型时,需要设置下列的连接器选项,如图1-5所示。
RO Base 文本框中填入0x40000000。
地址0x40000000 是开发板上SDRAM 的真实地址,是由系统的硬件决定的;RW Base 文本框中填入0x40003000 指的是系统可读写存的地址。
也就是说,在0x40000000-0x40003000 之间是只读区域,存放程序的代码段,从0x40003000 开始是程序的数据段。
Layout 选项卡:该选项卡在连接方式位Simple 时有效,它用来安排一些输入段在映像文件中的位置。
Place at beginning of image 选项组用于指定将某个输入段放置在它所在的运行时域的开头。
包含复位异常中断处理程序的输入段通常放置在运行时域的开头。
这里,在Object/Symbol 文本框中指定目标文件的名称init.o,在Section 文本框中指定输入段的名称init,从而确定了init.s 源文件中的init 输入段位指定的输入段。
如图1-7所示。
图 1-7 Layout 选项卡中连接器选项(6) 选择【Project】->【Make】,或者按下快捷键F7,将编译整个工程。
如图 1-8所示为工程窗口中的图标按钮,通过这些图标按钮,可以快速的进行工程设置,编译连接,启动调试等等.它们从左到右分别为图1-8 工程窗口中的图标按钮A)DebugRel Settings… 工程设置;B)Synchronize Modification Dates 同步修改日期;C)Make 编译连接;D)Debug 启动ADX 进行调试;E)Run 启动ADX 调试,并直接运行;F)Project Inspector 工程检查,查看和配置工程中源文件的信息;对于简单的软件调试,直接点击工程窗口的”Make”图标按钮,即可完成编译.编译连接输出窗口如图1-9所示。
图1-9编译连接输出窗口(7) 选择【Project】->【Debug】,或者按下快捷键F5。
IDE环境就会启动AXD调试软件,接着可以执行单步、全速运行调试。
图1-10 AXD调试窗口注意:本实验使用软件仿真,所以要在AXD中选择【Options】->【Configure Target…】菜单,然后在 Choose Target窗口中选用ARMUL软件仿真。
图1-11 目标环境选择五思考题1.工程模板有何作用?2.如何强行重新编译工程的所有文件?(提示:选择【Project】->【Remove Object Code…】删除工程中的*.obj文件)六参考程序AREA Example1,CODE,READONLY ; 声明代码段Example1ENTRY ; 标识程序入口CODE32 ; 声明32位ARM指令START MOV R0,#15 ; 设置参数MOV R1,#8ADDS R0,R0,R1 ; R0 = R0 + R1B STARTEND实验预作关键过程及结果图:实验二汇编指令实验一、实验环境PC机一台ADS 1.2集成开发环境一套二、实验目的1.了解ADS 1.2集成开发环境及ARMulator软件仿真方法;2. 掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序;3.掌握指令的条件执行和使用LDR/STR指令完成存储器的访问。
三、实验容1.使用LDR/STR指令完成存储器的访问。
2.使用数据处理指令实现数据传送和算术和逻辑运算。
3.使用ADS 1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(ProcessorRegisters)监视寄存器的值,打开存储器观察窗口(Memory) 监视存储器的值。
根据以上要求完成该操作:使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址……周而复此循环;使用ADS 1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0、R1的值,打开存储器观察窗口(Memory) 监视0x40003100上的值。
四、实验步骤(1) 启动ADS 1.2,使用ARM Executable Image工程模板建立一个工程Instruction1。
(2) 建立汇编源文件TEST2.S,编写实验程序,然后添加到工程中。
(3) 设置工程地址RO Base为0x40000000,RW Base为0x40003000。
设置调试入口地址Image entry point为0x40000000。
(4) 编译工程,选择【Project】->【Debug】,启动AXD进行软件仿真调试。
(5) 打开寄存器窗口(Processor Registers),选择Current 项监视R0,R1 的值。
打开存储器观察窗口(Memory),设置观察地址为0x40003100,显示方式Size 为32Bit,监视0x40003100 地址上的值。
图2-1 Memory 窗口显示格式设置寄存器显示格式与之类似。
使用鼠标左键选择某一个寄存器,然后点击鼠标右键,Format项中选择显示格式Hex,Decimal 等等。
如图2-2 所示。
图2-2设置寄存器显示格式(6)单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,调试时观察寄存器和0x40003100地址上的值。
图2-3 调试程序窗口六、思考题1.LDR伪指令与LDR加载指令的功能和应用有何区别,举例说明?2.LDR/STR指令的前索引偏移指令如何编写?指令是怎样操作的?3.在AXD调试时如何复位程序?(提示:选择【File】->【Reload Current Image】重新加载映象文件) 七、参考程序COUNT EQU 0x40003100 ; 定义一个变量,地址为0x40003100AREA Example2,CODE,READONLY ; 声明代码段Example2ENTRY ; 标识程序入口CODE32 ; 声明32位ARM指令START LDR R1,=COUNT ; R1 <= COUNTMOV R0,#0 ; R0 <= 0STR R0,[R1] ; [R1] <= R0,即设置COUNT为0LOOP LDR R1,=COUNTLDR R0,[R1] ; R0 <= [R1]ADD R0,R0,#1 ; R0 <= R0 + 1CMP R0,#10 ; R0与10比较,影响条件码标志MOVHS R0,#0 ; 若R0大于等于10,则此指令执行,R0 <= 0STR R0,[R1] ; [R1] <= R0,即保存COUNTB LOOPEND实验预作关键过程及结果图:单步运行观看寄存器和存储器的变化:具体指令讲解见指令手册。