arm实验指导书(2014-8)
机器人实验实验报告

成绩中国农业大学课程论文(2013-2014学年秋季学期)论文题目:机器人创新实验(1)实验报告课程名称:机器人创新实验(1)任课教师:班级:姓名:学号:机器人创新实验(1)实验报告关键字:ARM TKStudio集成化编程 C语言传感器舵机控制摘要:机器人创新实验课引导我们综合利用机械扩展、电子扩展、软件扩展及传感器扩展能力,以创新为主题,自主完成从机器人的机构组装到编程控制。
通过这门课程,我初步掌握了有关机器人技术的基本知识和机器人学所涉及的技术的基本原理和方法,加深了对理论知识的理解和掌握。
一、认知实验:了解探索者机器人实验一这门课用到的教学材料是探索者教学机器人创新套件。
通过这个实验平台,我们可以完成机器人的创新设计、组装以及编程控制。
在前期的认知实验中,我们搭建了一个二轮驱动的自动避障小车,并且实现了对它的控制,从而对探索者有了很好的了解。
(一)机械部分探索者的机械零件包括金属件、塑胶件、舵机、零配件四部分。
其中金属件共有29种,具有相同的壁厚和丰富的扩展孔。
舵机分为圆周舵机和标准舵机两种。
同学们在创新设计的过程中可以根据零件的特点,灵活运用,合理搭配,从而实现自己所设计的机械结构以及运动方式。
(二)控制部分我们使用的Robotway ARM7 LPC2138 主控板采用32位高性能实时嵌入式芯片,支持用户自定义开发,开放电路图、源代码、库函数。
探索者套件中包含了触碰传感器、触须传感器、近红外传感器、声控传感器等八种传感器,可以实现寻线、避障、声光等多种控制。
(三)编写和烧录程序我们使用的编译环境是TKStudio。
由于我们并没有学习过单片机,所以编程对我们来说是一个难点。
我们先从实验指导书上简单的例程开始学习,结合C 语言的知识,逐渐掌握了ARM的编程方法。
烧写程序的时候,我们用到的是Philips Flash Utility软件。
使用的过程是:1、选择端口;2、读取主控板的ID号;3、擦除主控板中原有的程序;4、选择自己的程序;5、上传。
实验指导书08SDK的设置

实验八SDK的设置实验学时:2实验目的:使学生掌握设置SDK的过程,如果用户想要用自己定制的ZZY2410平台开发应用程序,并利用eMbedded Visual C++4.0编写应用程序,则必须定制SDK。
SDK是EVC编程在WINCE 上运行的一个平台。
实验器材:装有XP操作系统的PC机一台,硬盘至少有20GB空间,内存1GB,在实验4中定制的ZZY2410内核已经编译成功。
实验步骤:第一部分:启动工程第1步:启动PB,打开ZZY2410工程,并已经编译完成的工程。
第2步:选择菜单中Platform->SDK->New SDK第3步:在出现的对话框中选择“下一步”。
第4步:输入产品名称及厂商名称(可以自定义),其他为默认,完成后,选择“下一步”。
第5步:默认选项,选择“下一步”。
第6步:单击“finish”按钮第二部分:设置参数第1步:在“Platform Builder”中选择PlatForm->SDK->Configure SDK第2步:在弹出的对话框中,Install选项卡中可以默认选项,也可以选择输出SDK的目录及平台名称。
第3步:在CPU选项卡中,选择“Configurations”列表框中ARMV4I选项,单击Edit在弹出的对话框中,选择“SamSung SMDK2410:ARMV4I_Release”,单击OK按钮,回到SDK Settings对话框单击确定第三部分:编译第1步:再次选择Platform->SDK->Buid SDK,开始编译第2步:最后,编译完成选择Done。
第3步:我们最后到“c:\WINCE500\PBWorkspaces\ZZY2410\SDK”中查看是否存在“ZZY2410_SDK.msi”文件,编译成功后,会存在该文件,否则,编译失败。
实验小结:使学生掌握设置SDK的过程。
课后作业:完成实验报告。
ARM培训实验指导书(第一版)

NXP 大学计划指定民大实验教材ARM与嵌入式技术版本:2008年1月第一版目录实验一熟悉Embest IDE集成开发环境 (1)实验二ARM汇编指令实验(1) (4)实验三ARM汇编指令实验(2) (9)实验三存储器实验.................................................................................... 错误!未定义书签。
实验四I/O接口实验............................................................................... 错误!未定义书签。
实验五中断实验........................................................................................ 错误!未定义书签。
实验六串口通信实验................................................................................ 错误!未定义书签。
实验七数码管(LED)显示实验 ............................................................ 错误!未定义书签。
实验八RTC及数码管显示实验(设计性实验).................................... 错误!未定义书签。
实验九液晶显示实验................................................................................ 错误!未定义书签。
实验十键盘控制实验................................................................................ 错误!未定义书签。
实验一 ARM汇编指令实验

大连理工大学软件学院《嵌入式系统原理与设计》实验报告(每组一份,打印)姓名:刘华一学号:201492405 班级:软1411姓名:李军学号:201493076 班级:软日1401实验时间:16年9月30日实验室:嵌入式实验室指导教师:邱铁成绩:实验一:ARM汇编指令一、实验目的和要求1. 熟悉ARM Developer Suite v1.2集成开发环境2.ARM汇编语言指令功能训练二、实验原理和内容RAM是32位体系结构,每个内存单元是32位的,对于64位的数需要两个字才能存储。
题目:熟悉ARM Developer Suite v1.2集成开发环境逐条试验ARM汇编语言指令功能,并观寄存器\存储器的变化三、主要仪器设备及软件编程环境硬件:PC机软件:ARM Developer Suite v1.2集成开发环境,Windows 98/2000/NT/XP四、实验步骤与编程1.打开软件ARM Developer Suite v1.2,选择file中的新建,在project中选择第一个,输入project name2.在同一个界面选择file,建立一个.s文件,打开此文件后就可以在里面进行编写汇编指令3.输入示例代码后,在原有的project对话框中鼠标右键连接到你所建的工程文件下的.s文件,再点击编译。
4.在新弹出的界面中,打开左边的寄存器列表,再点击单步调试,就可以看到每条指令执行时相应寄存器的变化以及相应要执行的下一条指令。
五、实验数据与结果分析数据传送类指令:算数运算类指令:逻辑运算类指令:比较指令:乘法指令:六、讨论、建议由于对于软件尚未熟悉,且windows系统兼容性原因,在开始配置阶段浪费了较多时间,由于时间有限,只是大体练习了一遍,在批量读取及存储方面仍存在较大问题,需要回去后勤加练习。
嵌入式开发实验手册

嵌入式系统原理与应用实验栗华编着山东大学信息科学与工程学院二零一四年三月目录第一章实验硬件平台1.1北京博创UP-TECH三合一实验箱简介本实验指导书所依赖的硬件平台为北京博创兴盛科技有限公司生产的一种ARM9/Xscale经典三核心教学科研平台(型号:UP-TECHS2410/S2440/P270),本平台兼容PXA270核心CPU及S3C2410、S2440核心CPU的全部功能,是北京博创多年来嵌入式教学产品开发经验的结晶。
这里选配的是S3C2440核心板。
图1-1UP-CUP三合一实验箱外观应用案例:※支持Linux、WinCE、Vxworks、μC/OS-Ⅱ4套操作系统;※核心板可更换,同时拥有ARM9(S3C2410和S3C2440)和XScale(PXA270);※中国电子学会嵌入式工程师认证考试和师资培训指定平台;硬件资源:软件资源结构说明图1-2UP-TECH三合一实验箱实物结构图1-2UP-TECH三合一实验箱框图结构图1-3UP-TECH三合一实验箱框图结构版图1.2跳线设置参考说明:◆PCB上所有“EXPORT”丝印字符表示168Pin扩展槽◆JP1401RESET-SEL:设置复位电路,位置JTAG20插座下方。
1-2:ICE的ICE-TRST复位信号可以控制系统复位信号RESET。
2-3:ICE的ICE-TRST复位信号不可以控制系统复位信号RESET。
◆JP1402JTAGSEL:选择JTAG电路,位置JTAG20插座下方。
1-2:使能板载的UP-LINKJTAG电路。
2-3:使用外部的JTAG电缆或者ARMICE仿真器。
◆JP1103TXD1-SEL◆JP1104RXD1-SEL:UART1选择扩展槽或者RS232的DB9插座。
1-2:UART1连接RS232-1,从DB9串口插座输出。
2-3:UART1连接到扩展槽。
◆JP1101TXD2-SEL◆JP1102RXD2-SEL:UART2选择跳线,分别为RS485、IrDA、扩展槽1-2:UART2连接到RS485总线上。
arm实验指导书(2014-8)

嵌入式系统及应用实验指导书陈力平上海第二工业大学2014.8目录实验一、MDK入门操作 (1)实验二、GPIO实验(1) (15)实验二、GPIO实验(2) (23)实验三、DMA实验 (36)实验四STM32中断系统实验 (46)实验五、ADC实验(1) (57)实验五、ADC实验(2) (69)实验五、ADC实验(3) (78)实验六、DAC实验(1) (87)实验六、DAC实验(2) (95)实验七、定时器实验(1) (103)实验七、定时器实验(2) (110)实验七、定时器实验(3) (119)实验七、定时器实验(4) (128)实验七、定时器实验(5) (142)实验八、USART实验(1) (153)实验八、USART实验(2) (169)实验八、USART实验(3) (174)附录1:STM32F107VR引脚定义表 (184)附录2:GPIO初始化库函数分析 (192)附录3:实验箱电路原理图 (199)实验一、MDK入门操作一、实验目的1.掌握MDK集成开发环境应用;2.学会新建一个MDK工程;3.学会组织和管理源文件;4.学会配置MDK参数选项。
二、实验设备硬件:PC机,嵌入式ARM开发实训平台;软件:WindowsXP 操作系统,RealViewMDK (Keil μVision4) 集成开发环境,STM32固件库函数等。
三、实验内容与操作步骤1.创建一个MDK工程(1)创建一个Demo文件夹在Demo文件下,分别建立:a)创建子文件夹User,用于存放源程序;b)创建子文件夹Project,KEIL工程文件;在Project下依次创建Obj和List子文件夹,存放编译过程中产生的中间文件。
图1 创建文件夹(2)复制源代码到Demo文件夹a)把Libraries文件夹整体复制到Demo文件夹下。
这是ST的标准库,是以源代码形式提供的。
提示:ST的固件库可以从ST官方网站免费下载( stm32f10x_stdperiph_lib.zip),Libraries文件夹通过解压固件库得到,本指导书中的实验所使用的标准库版本为3.1.2,随嵌入式ARM开发实训平台提供。
ARM实验指导书

ARM嵌入式系统实验指导书第3章实验项目3.1 ADS 1.2 集成开发环境练习3.1.1 实验目的了解 ADS 1.2 集成开发环境的使用方法。
3.1.2 实验设备硬件:PC 机一台软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境3.1.3 实验内容1. 建立一个新的工程;2. 建立一个 C 源文件,并添加到工程中;3. 设置编译连接控制选项;4. 编译连接工程。
3.1.4 实验预习要求仔细阅读本书第 2.2 节 ADS 工程编辑的内容。
3.1.5 实验步骤1. 启动 ADS1.2 IDE 集成开发环境,选择【File】->【New…】,使用 ARM Executable Image工程模板建立一个工程,工程名称为 ADS,见图 3.1。
图 3.1 建立 ARM 指令代码的工程2. 选择【File】->【New…】建立一个新的文件 TEST1.S,设置直接添加到项目中,见图3.2。
输入如程序清单 3.1 所示的代码,并保存,见图 3.3。
图 3.2 新建文件 TEST1.S程序清单 3.1 TEST1.S 文件代码AREA Example1,CODE,READONLY; 声明代码段 Example1ENTRY ; 标识程序入口CODE32 ; 声明 32 位 ARM 指令START MOV R0,#15 ; 设置参数MOV R1,#8ADDS R0,R0,R1 ; R0 = R0 + R1BSTARTEND图 3.3 添加了 TEST1.S 的工程管理窗口3. 选择【Edit】->【DebugRel Settings…】,在 DebugRel Settings 对话框的左边选择ARMLinker 项,然后在 Output 页设置连接地址(见图 3.4),在 Options 页设置调试入口地址(见图3.5)。
图 3.4 工程连接地址设置图 3.5 工程调试入口地址设置4. 选择【Project】->【Make】,将编译连接整个工程。
嵌入式系统原理与应用实验指导书(合稿+习题)

嵌入式系统原理与应用实验指导书南航金城学院2013.2目录目录 (1)第一部分试验箱硬件结构 (2)第二部分实验 (11)实验一ADS1.2集成开发环境练习 (11)实验二汇编指令实验1 (17)实验三汇编指令实验2 (20)实验四汇编指令实验3 (23)实验五ARM微控制器工作模式实验 (28)实验六 C语言程序实验 (33)实验七 C语言调用汇编程序实验 (36)实验八GPIO输出控制实验 (39)实验九GPIO输入实验 (46)实验十外部中断实验 (50)实验十一UART通讯实验 (56)实验十二I2C接口实验 (64)实验十三定时器实验 (75)实验十四PWM DAC实验 (81)实验十五ADC实验 (87)实验十六RTC实验 (94)实验十七步进电机控制实验 (101)实验十八直流电机控制实验 (105)附录1 DeviceARM2410 专用工程模板 ..................................................... 错误!未定义书签。
第一部分试验箱硬件结构MagicARM2410教学实验开发平台是一款可使用μC/OS-II、Linux和WinCE操作系统、支持QT、MiniGUI图形系统、集众多功能于一身的ARM9教学实验开发平台。
采用Samsung公司的ARM920T内核的S3C2410A微处理器,扩展有充足的存储资源和众多典型的嵌入式系统接口。
MagicARM2410实验箱参考如图1.1所示。
图1.1 MagicARM2410实验箱外观图MagicARM2410实验箱功能框图如图1.2所示。
图1.2 MagicARM2410实验箱功能框图1.1 S3C2410A芯片简介S3C2410A是Samsung公司推出的16/32位RISC处理器(ARM920T内核),适用于手持设备、POS机、数字多媒体播放设备等等,具有低价格、低功耗、高性能等特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统及应用实验指导书陈力平上海第二工业大学2014.8目录实验一、MDK入门操作 (1)实验二、GPIO实验(1) (15)实验二、GPIO实验(2) (23)实验三、DMA实验 (36)实验四STM32中断系统实验 (46)实验五、ADC实验(1) (57)实验五、ADC实验(2) (69)实验五、ADC实验(3) (78)实验六、DAC实验(1) (87)实验六、DAC实验(2) (95)实验七、定时器实验(1) (103)实验七、定时器实验(2) (110)实验七、定时器实验(3) (119)实验七、定时器实验(4) (128)实验七、定时器实验(5) (142)实验八、USART实验(1) (153)实验八、USART实验(2) (169)实验八、USART实验(3) (174)附录1:STM32F107VR引脚定义表 (184)附录2:GPIO初始化库函数分析 (192)附录3:实验箱电路原理图 (199)实验一、MDK入门操作一、实验目的1.掌握MDK集成开发环境应用;2.学会新建一个MDK工程;3.学会组织和管理源文件;4.学会配置MDK参数选项。
二、实验设备硬件:PC机,嵌入式ARM开发实训平台;软件:WindowsXP 操作系统,RealViewMDK (Keil μVision4) 集成开发环境,STM32固件库函数等。
三、实验内容与操作步骤1.创建一个MDK工程(1)创建一个Demo文件夹在Demo文件下,分别建立:a)创建子文件夹User,用于存放源程序;b)创建子文件夹Project,KEIL工程文件;在Project下依次创建Obj和List子文件夹,存放编译过程中产生的中间文件。
图1 创建文件夹(2)复制源代码到Demo文件夹a)把Libraries文件夹整体复制到Demo文件夹下。
这是ST的标准库,是以源代码形式提供的。
提示:ST的固件库可以从ST官方网站免费下载( stm32f10x_stdperiph_lib.zip),Libraries文件夹通过解压固件库得到,本指导书中的实验所使用的标准库版本为3.1.2,随嵌入式ARM开发实训平台提供。
图2 复制库文件夹b)复制演示程序到Demo\User文件夹。
提示:演示程序由指导教师提供。
图3 复制演示代码文件(3)新建一个Keil MDK工程a)启动Keil uVision4,点击菜单 New uVision Project,新建一个工程,命名为new_project。
图4 创建工程文件b)选择CPU类型为 STM32F107VC (是ARM开发实训平台选用的CPU型号)。
图5 选择芯片c)当提示是否复制启动代码时,选择否。
提示:否表示用库中的启动代码,不用Keil软件自带的启动文件代码。
d)右单击Target1/执行Add Group....命令,功能是添加Group ,添加后参照下图更改名称,目的便于代码管理。
图 6 创建GROUP且更改名称提示:User : 存放源代码;RVMDK : 存放启动代码文件(汇编语言);StdPeriph_Driver : 存放ST标准库函数文件;CMSIS : 存放CMSIS接口文件(属于库的一部分)。
e)在上述文件夹创建以后,依次添加文件。
参照下图示进行添加:在User文件夹下添加文件;文件路径:Demo\Libraries\CMSIS\Core\CM3\startup\arm图7 右单击菜单命令选项图8 添加的文件在RVMDK文件夹下添加文件文件路径:Demo\Libraries\CMSIS\Core\CM3\startup\arm。
图9 选择汇编文件(*. s)在stdPeriph_Driver文件夹下添加文件设备驱动函数文件路径:Demo\Libraries\STM32F10x_StdPeriph_Driver\src图10 选择设备文件在CMSIS文件下夹添加文件CMSIS接口文件路径:Demo\Libraries\CMSIS\Core\CM3图11 选择接口文件(4)源代码程序(main.c 文件),应用程序示例。
#include "stm32f10x.h"/* 为了使用编程书写方便,定义几个控制LED开关的宏*/#define LED1_ON( ) {GPIO_SetBits(GPIOD, GPIO_Pin_7);}/* PD7 = 1 点亮LED1 */#define LED1_OFF( ) {GPIO_ResetBits(GPIOD, GPIO_Pin_7);}/* PD7 = 0 熄灭LED1 */#define LED2_ON() {GPIO_SetBits(GPIOD, GPIO_Pin_13);}/* PD13 = 1 点亮LED2 */#define LED2_OFF() {GPIO_ResetBits(GPIOD, GPIO_Pin_13);}/* PD13 = 0 点亮LED2 */#define LED3_ON() {GPIO_SetBits(GPIOD, GPIO_Pin_3);}/* PD3 = 1 点亮LED3 */#define LED3_OFF() {GPIO_ResetBits(GPIOD, GPIO_Pin_3);}/* PD3 = 0 点亮LED3 */#define LED4_ON() {GPIO_SetBits(GPIOD, GPIO_Pin_4);}/* PD4 = 1 点亮LED4 */#define LED4_OFF() {GPIO_ResetBits(GPIOD, GPIO_Pin_4);}/* PD4 = 0 点亮LED4 *//* 延迟函数*/void Delay(__IO uint32_t nCount){ /* __IO 就是volatile, 加上这个后可以避免延迟函数被编译器优化掉*/ for(; nCount != 0; nCount--);}/* 主函数*/int main(void){/*是ST库中的函数,函数实体在Libraries\CMSIS\Core\CM3\system_stm32f10x.c配置内部Flash接口,初始化PLL,配置系统时钟的频率系统时钟缺省配置为72MHz */SystemInit();/* 配置GPIO, 将连接LED1-4的GPIO设置为推挽输出*/{ GPIO_InitTypeDef GPIO_InitStructure; /* 定义1个结构体变量*/ /* 打开GPIOD 时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);/*初始化*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_13| GPIO_Pin_3 | GPIO_Pin_4;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/* 推挽输出模式*/GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOD, &GPIO_InitStructure);/* 调用库函数初始化GPIO */}/* while循环实现简单的跑马灯功能。
*/while (1){LED1_ON(); /* 点亮LED1 */Delay(0xAFFFF); /* 插入延时*/LED2_ON(); /* 点亮LED2 */Delay(0xAFFFF);LED3_ON(); /* 点亮LED3 */Delay(0xAFFFF);LED4_ON(); /* 点亮LED4 */LED1_OFF(); /* 关闭LED1 */Delay(0xAFFFF);LED2_OFF(); /* 关闭LED2 */Delay(0xAFFFF);LED3_OFF(); /* 关闭LED3 */Delay(0xAFFFF);LED4_OFF(); /* 关闭LED4 */} }(5)配置工程, 右单击选“Options for ——”按钮a)切换到Output。
单击,选择Object文件夹且选中Create Hex File 。
图12 配置Output页b)切换到Listing。
单击,选择Listings文件夹。
图13 配置Listing页c)切换到C/C++添加两个预编译宏STM32F10X_CL, USE_STDPERIPH_DRIVER(ST库用到的两个宏)修改Includes路径图14 配置C/C++页(1)图15 配置路径d)切换到Debug选择硬件调试器(缺省是软件仿真),选择Cortex-M/R J-LINK/J-Trace调试且选中Run to main。
图16 配置Debug 页e)切换到Utilities选择调试器类型,选择Cortex-M/R J-LINK/J-Trace点击settings按钮,添加Flash编程算法,选择STM32连接型器件,Flash容量256K字节图17 配置Utilities页f) 配置完毕后,单击或执行编译,编译后若存在错误,需要修改,直至OK 。
提示:①(即命令Build target ),功能为编译并链接后生成提供给下载运行的二进制代码。
②(即命令ReBuild all target files ),功能为重新编译所有的源文件并链接后生成提供给下载运行的二进制代码。
g) 按照图18连接J-Link ,连接无误后打开电源。
h) 单击,下载代码,然后按实验平台上的Reset 按钮观察实验现象。
图18 J-Link ARM JTAG 仿真器连接图提示:实验过程中可以通过下表观察 J-Link ARM JTAG仿真器的现象四、思考题1.在教程中,有需要设置include选型,为什么要进行此项设置?如果不设置,程序能否编译通过?2.能否自己动手,写一个不基于固件库的,直接操控寄存器的程序来实现LED流水灯。
实验二、GPIO实验(1)一、实验目的1.掌握MDK集成开发环境应用;2.熟练掌握新建一个MDK工程与相关参数配置;3.了解关于GPIO配置寄存器方法的应用;二、实验设备硬件:PC机,嵌入式ARM开发实训平台,JLINK;软件:WindowsXP 操作系统,RealViewMDK (Keil μVision4) 集成开发环境,STM32固件库函数等。
三、部分实验电路图1 LED硬件连接四、实验主要操作步骤(一)MDK配置1.创建一个GPIO_1文件夹①新建子文件夹User,存放源程序②新建子文件夹RVMDK,存放启动代码③新建子文件夹Project,存放自行创建的工程文件④在Project下依次创建Obj和List子文件夹,存放编译过程中产生的中间文件。