文档库 最新最全的文档下载
当前位置:文档库 › ADS下简单ARM总汇编程序实验

ADS下简单ARM总汇编程序实验

ADS下简单ARM总汇编程序实验
ADS下简单ARM总汇编程序实验

实验一ADS下简单ARM汇编程序实验

实验目的:

1、熟悉ADS1.2下进行汇编语言程序设计的基本流程;

2、熟悉在ADS中创建工程及编写、编译和运行汇编语言程序的方法;

3、熟悉AXD中各种调试功能。

实验环境:

1、硬件:PC机。

2、软件ADS1.2。

实验容:

1、在ADS中新建工程,并设置开发环境。

2、在Code Warrior 环境中编辑、编译和汇编语言程序,并生成可执行文件。

3、在AXD中调试汇编程序;

4、使用命令行界面编辑、编译和汇编程序。

实验过程:

本实验要求在ADS环境下,编写一个汇编程序,计算S=1+2+3……+n的累加值。

把累加结果S存入到存储器的指定位置;在AXD中调试该程序,使用ARMulator模拟目标机。

1、新建工程。

打开Code Warrior,选择File->New(project)选项,使用ARM Executable Image模版新建一个工程。

2、设置编译和选项。

由于我们使用的是模拟机,设置汇编语言编译器的模拟处理器架构为Xscale;在ARM Linker中,选择output选项卡并选择Linktype为Simple类型,确认RO Base为0x8000,修改RW Base为0x9000,如下图所示。

3、为当前工程添加源程序文件。

ARM汇编程序源文件后缀名为S大小写均可。

确保添加入当前工程复选框选上。

4、编辑源程序代码。

参考程序add.s :

;armadd源程序

N EQU 7 ;累加次数;定义名为Adding的代码段

AREA Adding,CODE,READONLY

ENTRY

MOV R0,#0

MOV R1,#1

REPEAT ADD R0,R0,R1

ADD R1,R1,#1

CMP R1,#N

BLE REPEAT

LDR R2,=RESULT

STR R0,[R2]

HERE B HERE

定义名为Dataspace的数据段

AREA Dataspace,DATA,READWRITE

RESULT DCD 0

END

5、编译汇编源代码文件。

右击add.S文件,选择Compile,如果没有成功会弹出错误和警告窗口。

生成.O目标代码文件。

6、编译整个工程。

选择Project Make进行整个工程的编译。可以在目录空间查看是否生成了映像文件

add.axf。

7、确认调试目标设置。

设置目标处理器型号。

8、运行映像文件。

选择如图所示按钮运行映像文件,运行结果如下

9、调试准备

在AXD中,打开各个观察窗口,做调试准备。选择Processor Views Registers选项,打开ARM寄存器显示窗口。调整窗口大小,使得Corrent节点的R0~R2寄存器可见。选

择Processor Views Memory选项,打开ARM存储器显示窗口。在Start Address输入框中输入准备查看的存区域首地址0x9000。

10、调试映像文件。

点击鼠标所指图标

打开调试窗口。

为了便于调试,观察各个寄存器和存储器的变化情况,推荐调试窗口布局如图所示:

11、单步运行程序,观察并记录结果。

在AXD中,选择Execute Step选项,或者F10键,单步运行程序,查看相关寄存器和

存储器相应地址上的变化,请把每一步的结果填入下表中。

运行结果如图所示:

分析源程序可以看出,我们的程序仅对少数几个寄存器进行了读写操作,所以观察时应注意红色框中的容变化。

序号执行指令执行后的变化情况

寄存器(十六进制)存储器(十六进制)

R0 R1 R2 PC 0x9000

1 MOV R0,#0

2

3

4

5

6

7

注意:如果错过记录的时机可以选择File Reload Current Image重新加载映像文件。

实验思考:

1、有没有办法让AXD中寄存器和存储器单元的值直接显示为十进制?

基于STM32F103嵌入式实验指导书

实验一、STM32的开发环境与简单工程 一、实验目的 1、熟悉STM32开发板的开发环境; 2、熟悉MDK创建和配置STM32工程项目的基本流程; 3、熟悉STM32官方库的应用; 4、规范编程格式。 二、实验内容 本次实验配置MDK集成开发环境,新建一个简单的工程文件,添加STM32官方库并配置工程,编译运行这个工程文件。下载已经编译好的文件到开发板中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。 三、预备知识 基本单片机硬件知识、单片机软件编程语言、程序创建和调试的基本方法。 四、实验设备及工具 硬件:STM32开发平台 软件:STM32官方库;PC机操作系统Windows 98、Windows 2000或Windows XP;KEIL MDK 集成开发环境;串口转usb驱动。 五、实验步骤 1、在准备存放工程文件的目录下创建一新文件夹,命名为Proj_GPIO;在Proj_GPIO 文件夹里面分别再创建四个文件夹:CMSIS、USER、LIB、OBJ。如图1。 其中CMSIS(Cortex Microcontroller Software Interface Standard)用于存放Cortex-M 处理器系列的与供应商无关的软件抽象层和启动相关的代码文件; USER用于存放我们自己编写的代码文件(含自己移植的底层驱动),还有MDK工程; LIB存放所有的官方底层驱动库文件; OBJ用于工程输出的过程文件和最终的二进制文件。 图1

2、将官方库STM32F10x_StdPeriph_Lib_V3.5.0.rar解压。 1)把STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的所有文件和STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下的所有文件都到第一步所创建的CMSIS文件夹中; 2)把STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver目录下的文件(目录inc和scr)复制到第一步创建的LIB文件夹中; 3)把STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template目录下的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h三个文件复制到USER文件夹中。 3、打开MDK软件,新建一个工程Proj_GPIO保存到Proj_GPIO/USER中。CPU选择STM32F103ZE,如图2; 图2 4、新建一个空文档main.c保存到USER中,然后根 据绝对路径将文件对应添加到工程中,如右图。 5、配置工程属性,右键点击工程文件中的Target 1选择Options for Target ‘Target 1’打开工程选项对话框。做如下修改: 1)Output选项勾选Create HEX File,然后点击Select Folder for Objects按钮定位输出文件保存目录到工程的OBJ文件; 2)Listing选项,同样点击Select Folder for Listings定位输出文件保存目录到工程的OBJ 文件; 3)C/C++选项,Define中填入 STM32F10X_HD, USE_STDPERIPH_DRIVER系统的两个基 本宏定义;配置Include Paths属性,加入工 程中包含头文件的目录;如右图

arm实验8

实验八 IIC 接口实验 1.实验目的 (1)熟悉S3C2410A 处理器的硬件I2C 接口的使用。 (2)了解CAT1025 EEPROM 的操作方法及注意事项。 2.实验设备 PC 机一台;MagicARM2410 教学实验开发平台一套 ADS 1.2 集成开发环境 3.实验内容 使用I2C 接口主模式向CAT1025 写入10 字节数据,然后读出校验,若校验通过则蜂鸣器 响一声,否则不断地蜂鸣报警。I2C 接口操作采用查询方式。 4.实验原理 S3C2410A 具有1 个硬件I2C 接口,可以配置为主发送、主接收、从发送和从接收等4种 操作模式。I2C 接口共包含4 个寄存器,控制寄存器IICCON 用于设置I2C 总线时钟和中断(标志)使能,还有1 位中断标志位;状态寄存器IICSTAT 除了指示当前I2C 总线状态外,还有2 位I2C 操作模式控制位和总线启动/结束控制位;数据寄存器IICDS 用来发送数据或接收数据;从机地址寄存器IICADD 用来保存S3C2410A 作I2C 从机时的器件地址。对I2C 接口进行初始化时,首先要设置相应I/O 为IICSDA、IICSCL 功能引脚,然后通过IICCON 寄存器来设置I2C 总线时钟,并使能I2C 中断(标志),通过IICSTAT 寄存器来设置I2C 接口为主发送模式。 在进行每一次数据传送之前,都需要产生IIC 总线启动信号。先把要访问的IIC 器件的 地址写入IICDS 寄存器当中,然后将IICSTAT 寄存器的d5 位置位,即可产生结束总线信号,并且将从机地址发送出去。通过读取IICCON 寄存器的值来等待总线启动和发送从机地址,通过读取IICSTAT 寄存器的值判断是否有从机应答,如果没有从机应答,则只能进行结束总线操作。 启动总线后,就可以进行多个数据的发送或接收操作。进行I2C 数据发送时,将待发送 数据写入IICDS 寄存器,然后还要写IICCON 寄存器清除I2C 中断标志,总线才开始发送数据。通过读取IICCON、IICSTAT 寄存器的值判断数据是否发送完成。 进行IIC 数据接收时,通过读取IICCON、IICSTAT 寄存器的值判断是否接收到数据,如 果接收到数据,则可以从IICDS 寄存器中读出数据。接收完一字节数据后,需要写IICCON 寄存器清除I2C 中断标志(同时,可以控制输出应答或非应答信号),总线才允许接收下一字节数据。

嵌入式ADS实验指导书

实验一嵌入式微处理器系统的开发环境 一、实验环境 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、熟练掌握基于SST89E554RC微控制器的Keil C51集成开发工具的操 作及调试程序的方法(包括:仿真调试与脱机运行间的切换方法);掌握 其他相关微控制器集成开发工具的使用及调试方法; 2、熟练掌握基于SST89E554RC单片机核心板及I/O扩展实验系统的电 路结构原理、设计与应用;掌握其他相关微控制器最小系统设计与应用; 3、熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下的基于51 单片机控制器数字接口电路的硬件、软件设计方法与功能调试; 4、完成本实验课程所要求的全部实验容,并写出实验报告。 二、微机原理与接口技术综合实验室资源简介 实验室为以下实验活动提供条件: 1、基于唐都实验系统的微机原理与接口技术实验(包括汇编语言、C 语言/C++语言软件编程实验和16位/32位微机接口电路应用实验); 2、基于SST89E554RC微控制器技术软/硬件实验(提供支持汇编语言、 C语言编程的Keil C51集成开发工具、最小核心板+唐都实验系统箱); 3、基于DSP2407、DSP2812、DSP28335微控制器技术软件/硬件实验(提 供支持C语言编程的TI公司的CCS集成开发工具、DSP系列学习开发板、直流电机、步进电机、液晶); 4、基于Freescale的16位MC9S12XS128微控制器技术应用实验(提 供支持C语言编程的CodeWarrier 5.0 For S12集成开发工具、 HF-MC9S12XS128EVB-A 核心板); 5、基于ARM的16/32位ARM7LPC2103TDMI-S微控制器技术基础实验(提供 支持C、C++语言编程的ARM公司推出的ARM微控制器ADS 1.2集成开发工具、EasyARM2103开发板); 6、基于ARM Cortex?-M3先进核的LM3S1138微控制器技术基础实验(提

ARM实验指导

ADS 集成开发环境及EasyJTAG 仿真器应用 ADS 集成开发环境是ARM 公司推出的ARM 核微控制器集成开发工具,英文全称为ARM Developer Suite,成熟版本为ADS1.2。ADS1.2 支持ARM10 之前的所有ARM 系列微控制器,支持软件调试及JTAG 硬件仿真调试,支持汇编、C、C++源程序,具有编译效率高、系统库功能强等特点,可以在Windows98、Windows XP、Windows2000 以及RedHat Linux上运行。 这里将简单介绍使用ADS1.2 建立工程,编译连接设置,调试操作等等。最后还介绍了基于LPC2100 系列ARM7 微控制器的工程模板的使用,EasyJTAG 仿真器的安装与使用。 一、ADS 1.2 集成开发环境的组成 ADS 1.2 由6 个部分组成,如表1 所示。 表1 ADS 1.2 的组成部分 由于用户一般直接操作的是CodeWarrior IDE 集成开发环境和AXD 调试器,所以这一章我们只介绍这两部分软件的使用,其它部分的详细说明参考ADS 1.2 的在线帮助文档或相关资料。 1. CodeWarrior IDE 简介

ADS 1.2 使用了CodeWarrior IDE 集成开发环境,并集成了ARM 汇编器、ARM 的C/C++编译器、Thumb 的C/C++编译器、ARM 连接器,包含工程管理器、代码生成接口、语法敏感(对关键字以不同颜色显示)编辑器、源文件和类浏览器等等。CodeWarrior IDE 主窗口如图1所示。 2. AXD 调试器简介 AXD 调试器为ARM 扩展调试器(即ARM eXtended Debugger),包括ADW/ADU 的所有特性,支持硬件仿真和软件仿真(ARMulator)。AXD 能够装载映像文件到目标内存,具有单步、全速和断点等调试功能,可以观察变量、寄存器和内存的数据等等。AXD 调试器主窗口如图2 所示。

嵌入式系统实验指导书

《嵌入式系统原理》实验指导书 目录 《嵌入式系统原理》实验指导书 (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.创建一虚拟机MYLINUX 1)从桌面上单击“VMWARE WORKSTAION”启动虚拟机软件,单击新建虚拟 机,指定保存路径“D:\MYLINUX”,选择虚拟机操作系统类型:linux,然后 完成虚拟机的创建; 2)双击虚拟机中CDROM,选择将虚拟机光驱连接修改为:使用ISO映像,并指 定映像文件为共享磁盘:I:\redhat-disk-1.iso。 3)单击虚拟机中启动虚拟机,开始从光盘上启动系统并安装linux。 2.安装linux 注意: 在虚拟机和主机之间进行切换方法:鼠标单击虚拟机,可以进入;要回到主机,请用CTRL+ALT 1)输入回车,进入图形化安装;也可以linux text进入文本界面安装; 2)选择Skip(跳过CD检查),回车 3)点击NEXT(下一步) 4)安装语言,选择简体中文;或选择English 5)安装类型,选择定制:Custom 6)分区选择:自动分区

arm实验报告最终版

ARM与嵌入式技术 实验报告 专业班级:10通信工程1班 姓名:万洁 学号:100103011125 实验日期:2013年5月28日 指导老师:郑汉麟

1、 通过实验掌握ARM 指令的特点和寻址方式; 2、 掌握简单的ARM 汇编语言的程序设计; 3、 了解集成开发环境 Embest IDE 及其开发软件的应用; 、实验环境 Embest IDE 应用于嵌入式软件开发的新一代图形化的集成开发环境,它包括一套完备 的面向嵌入 式系统的开发和调试工具。其开发软件 Embest IDE for ARM 是集编辑器、编译 器、调试器、工程管理器( projectma nager )于一体的高度集成的窗口环境,用户可以在 Embest IDE 集成开发环境中创建工程、编辑文件、编译、链接、运行,以及调试嵌入式应 用程序。 三、实验步骤 1)新建工程: 运行Embest IDE 集成开发环境,选择菜单项 File 宀New Workspace ,如图一,系统弹 出一个对话框,键入文件名“ wj ”,如图二,点击 0K 按钮。将创建一个新工程,并同时创 建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程 .。 (老师提醒:不要放入Bin 文件夹中) ■ Emb?t QE Pre 亠 Educat 「販]£dii_Vww Buid frtbug D if** Qri+W 诊 Open-" Qrl*O 2)建立源文件: 点击菜单项 File T New ,如图三,系统弹出一个新的文本编辑窗,输入源文件代码。 编辑完后,保存文件“ wj.s ”后缀,如图三,四。 Hr* Open Workspace.? 图一 ■■ rflJO IUU rl jil rd f rfl,rl Clop : h Ho. .end 图 tut vUrl:

《嵌入式系统开发实训》实训指导书V1.0

《嵌入式系统开发实训》指导书 一、实训的目的和作用 实训是培养和锻炼学生在学习完《嵌入式系统开发》后综合应用所学理论知识解决实际工程设计和应用问题的能力、进行工程实训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《嵌入式系统开发》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的实训,使学生学会系统地综合运用所学的技术理论知识,提高学生在嵌入式应用方面的开发与设计本领,系统的掌握嵌入式系统设计方法。 本实训是配合课堂教学的一个重要的实践教学环节,不仅要培养学生的实际动手能力,检验学生对本课程学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过本实训使学生深入了解嵌入式系统开发的步骤与方法,掌握嵌入式系统的软硬件协同开发要点及使用方法。掌握能够根据实际问题综合应用嵌入式软件、硬件的基本技能,编写相应的程序。巩固和强化理论教学内容,综合课程教学中的实验环节,培养和锻炼学生的工程实践能力,具备嵌入式系统软硬件协同开发应用程序的能力。 二、实训主要内容与要求 要求每个学生(或小组)都要自己动手独立设计完成一个典型的嵌入式应用小系统。设计题目可以在给出的参考题目中选,也可以自己选设计题目,但难度不应小于参考题目,需经指导教师审查后方可确定是否采纳或修改设计题目。 一般以1~2人为一个小组,分工协作,可以进行充分的讨论和互助。完成所选课题的硬件和软件的设计与调试。独立解决设计和调试过程中遇到的基本问题。总结整个实践过程,写出实训报告(包括方案选择比较、总体思路、理论分析、系统设计,软件流程图,加注释的源程序,调试过程中遇到的问题及解决办法,总结与体会,参考文献)。 实训是在教师指导下,各组可以集体讨论,但实训报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师查资料、给数据、定答案。同组同学要发扬团队协作精神,积极主动的提出问题、解决问题、讨论问题,互相帮助和启发。 实训报告每个学生一份,由课代表收齐后统一交给指导教师。实训成绩评定由3部分组成:验收答辩情况30%,实训作品质量40%,实训报告书30%。

嵌入式实验指导书 (修改6)20161025

嵌入式系统技术及应用 实验指导书 (第3版) 郑普亮编写 西安建筑科技大学信控学院 智能建筑与楼宇自动化实验室 2014年5月

目录 1课程简介、实验项目及学时安排 (1) 1.1课程简介 (1) 1.2实验项目及学时安排 (1) 2实验仪器仪表设备简介 (2) 2.1嵌入式系统实验箱 (2) 2.2其它实验设备 (2) 3嵌入式系统技术及应用课程实验 (3) 3.1实验1系统认识实验 (3) 3.2实验2定时器实验 (10) 3.3实验3PWM发生器实验 (14) 3.4实验416*16LED点阵显示汉字实验 (16)

1课程简介、实验项目及学时安排 1.1课程简介 嵌入式系统广泛应用于仪器仪表、工业控制、汽车电子等多个领域,是一个综合性的快速发展的技术方向。课程以ARM Cortex-M3系列处理器为主,着重介绍了嵌入式系统设计的基本概念、基于ARM处理器的体系结构、ARM微处理器的编程模型与指令系统、嵌入式操作系统及相关的接口技术。 通过对本课程的学习,能够使学生深刻了解ARM处理器的工作原理,熟练掌握ARM 微处理器的指令系统,以及嵌入式系统软硬件设计基本方法,进而加强学生独立设计能力和创新能力的培养。 1.2实验项目及学时安排 本课程的实验目的是使学生掌握ARM指令系统及基于C语言和驱动程序库的程序设计方法,掌握ARM微处理器各组成部分工作原理及应用,培养学生对ARM微处理器的应用程序与硬件电路的设计能力,提高学生分析和解决实际问题的能力,从而为学生今后走向工作岗位、从事相关专业领域的科学研究和技术开发打下扎实的基础。所以安排了验证性、设计性和综合性不同属性的实验项目。 序号实验项目学时 实验性质 验证综合设计 1系统认识实验2√ 2定时器实验2√ 3PWM发生器实验2√416*16LED点阵显示汉字实验2√ 注:实验项目根据实验教学安排选取。

嵌入式系统实验指导指导书完整版

嵌入式系统实验指导王艳春英一劲松

实验一嵌入式微处理器系统的开发环境 一、实验环境 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…”图标按钮,即可进行工程的地址设置、输出文件设置、编

嵌入式linux实验指导书

嵌入式linux实验指导书 实验一:arm裸机实验 实验条件: pc ADS开发环境FL2440开发套件SecureCRT串口超级终端 实验目的: 熟悉arm裸机开发基本步骤,掌握ADS集成开发环境的使用,能够编写简单的裸机程序并下载到开发板运行测试。 实验原理: ADS 全称为ARM Developer Suite ,是ARM 公司推出的新一代ARM 集成开发工具。ADS 由命令行开发工具、ARM 实时库、GUI 开发环境(Code Warrior 和AXD) 、实用程序和支持软件组成。有了这些部件,用户就可以为ARM 系列的RISC 处理器编写和调试自己开发的应用程序了。本次实验利用ADS集成开发环境建立基于arm9 S3C2440的实验工程,完成工程搭建、代码编写和编译,生成可执行文件并下载到开发板进行运行测试。 实验步骤: 1、首先打开ADS软件CodeWarrior,点击File 菜单下的New 来创建新工程。Project 对话框中选择ARM Executable Image 。在Project name 中输入工程名,例:2440_led,点击“Location:”文本框的“Set...”按钮,选择要将工程保存的路径,然后点击确定即可建立一个新的工程。工程建立之后会出现一个24 40_led.mcp 窗口。 2、创建源文件,点击File 菜单下的New,选择标签页File,在File name 中输入要建立的文件名,如:Init.s (.s 文件为arm 中的汇编文件),若此时选上了Add to Project,创建的文件会自动添加到工程中,选择target方式为DebugRel,点击确定关闭窗口,文件创建完成后编写代码。(可将arm_linux文件夹下的裸机例程代码复制到工程中进行修改,如:复制裸机程序中的led程序init.s led.c 到建立的工程文件目录中,点击Project 菜单下的Add Fils 将源文件添加到工程中)

嵌入式应用开发实验指导书 (1)

实验一基本接口实验(一) [实验设备] 1.JXARM9-2410教学实验箱 2.ADT1000仿真器和ADT IDE集成开发环境 3.串口、并口连接线 [实验目的] 1.掌握ARM的串行口工作原理,编程实现ARM的UART通讯; 2.掌握嵌入式系统中断的处理流程和ARM中断编程; 3.在ADT环境下如何建立工程,对工程进行正确的设置。添加相应文件(汇编、脚本、.c 源文件等) [实验内容一] 实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。 [预备知识] 1.了解ADT集成开发环境的基本功能 2.学习串口通讯的基本知识 3. 熟悉S3C2410串口有关的寄存器 [基础知识] 串行通信接口电路组成 1.可编程的串行接口芯片 2.波特率发生器 3.EIA与TTL电平转换器 4.地址译码电路 通信协议: 1.异步协议 2.同步协议 异步串行通讯 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。 数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。 接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。 在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。 异步串行通信中的字符传送格式

开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0” 作为起始位,然后出现在通信线上的是字符的二进制编码数据。 每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。 最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。 至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。 每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为110,150,300,600,1200,2400,4800,9600 等。 DB-25 DB-9引脚定义 DB-25 DB-9引脚说明

嵌入式linux实验指导书

目录 实验一 linux常用指令练习 (3) 1、在线帮助指令 (3) 2、linux开关机及注销指令。 (3) 重启指令: (3) 1)、reboot命令 (3) 2)、init 6命令 (3) 关机指令: (3) 1)、halt命令 (3) 2)、poweroff命令 (4) 3)、init 0命令 (4) 4)、shutdown命令 (4) 注销指令: (4) 3、用户管理命令 (4) 1)、用户切换su命令 (4) 2)、添加用户命令adduser/useradd (5) 3)、删除用户及更改用户属性 (5) 4)、设置用户密码 (6) 5)、查看用户信息 (6) 4、文件目录操作指令 (7) 1)、改变当前工作目录命令(cd) (7) 2)、显示当前路径pwd (7) 3)、查看当前目录下的文件命令ls (7) 4)、新建目录指令mkdir (8) 5)、删除目录命令rmdir (8) 6)、新建文件命令touch (8) 7)、删除文件指令rm (8) 8)、文件和目录的复制命令cp (8) 9)、文件和目录的移动命令mv (9) 10)、更改文件或目录的使用权限chmod (9) 11)、查看文件的命令cat (9) 12)、文件链接命令ln (9) 13)、文件压缩解压命令 (10) 5、网络相关命令 (11) 6、磁盘管理命令 (11) 7、挂载文件命令mount (12) 8、其他系统命令 (12) 练习1: (13) 练习2: (15) 练习3: (16) 练习4: (21) 实验二 VI文本编辑器的使用 (24) 1、练习使用VI指令 (24) 2、利用VI编写一个hello.c文件 (24)

《嵌入式系统》实验报告指导书(含答案)

实验一熟悉嵌入式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服务器(设置需要共享的目录)

嵌入式设计与开发实验指导书

嵌入式设计与开发 实 验 指 导 书 内蒙古工业大学信息学院计算机系 2016年3月

目录 实验一、嵌入式Linux开发入门 (3) 实验二文件及进程控制编程 (5) 实验三进程间通信程序设计 (7) 实验四网络通信程序设计 (8)

实验一、嵌入式Linux开发入门 一、实验目的 1、掌握GCC编译器的使用 2、掌握如何通过gdb调试应用程序 3、掌握makefile文件的编写 4、掌握交叉编译工具的使用 二、实验内容 1、熟悉虚拟机linux开发工具的使用 2、使用gcc编译程序,gdb调试程序、编写makefile文件 3、通过nfs方式挂载实验箱,通过交叉编译工具编译基于ARM架构的程序,下载到实验箱并执行程序,分析程序执行结果。 三、实验要求: 1、编写一个C源程序,使用gcc进行编译,并分别使用-c、-g、-O、-O2等编译选项;使用gdb进行调试,调试中使用常用的gdb命令;记录调试过程,在实验报告中描述。 2、实现一个应用程序,该程序由两个或两个以上的C源文件构成,编写makefile文件,通过make工具完成该程序

的编译。 3、通过nfs挂载实验箱,将前面的程序通过arm_linux_gcc 进行编译,下载到实验箱执行,分析结果。

实验二文件及进程控制编程 一、实验目的 1、掌握采用系统调用的方式进行文件操作 2、掌握进程控制相关的调用:fork( )、exec( )、wait( )等。 二、实验内容 1、编写程序实现who命令的功能 2、进程控制程序设计 三、实验要求 1、编写程序实现who命令的功能。在终端里运行who命令,查看结果,分析其实现原理,然后用文件操作实现其功能。(提示:who是读取/var/run/utmp文件来得到输出信息的,utmp是二进制文件,里面保存的是结构体数组,这些数组是struct utmp结构体。) 2、编程使用fork( )、vfork( )创建子进程,分别在父进程、子进程中显示出进程的PID,父进程打印字符串”**********”,然后sleep一定的时间,子进程打印字符串”##########”,然后sleep一定时间。多次执行程序,分析fork的特点。

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子文件夹,存放编译过程中产生的中间文件。

《嵌入式ARM技术及应用》课程实验指导书实验6:外部中断实验,(2014.7.10)

地址异常类型进入时的模式 进入时 I 的状态 进入时 F 的状 态 0x00000000复位管理禁止禁止0x00000004未定义指令未定义I F 0x00000008软件中断管理禁止F 0x0000000C 中止(预取)中止I F 0x00000010中止(数据) 中止I F 0x00000014 保留 保留 -- 实验三 外部中断实验 一、实验目的 理解ARM 处理器中断原理; 掌握中断服务子程序,中断中现场的保护和恢复以及中断的返回程序的编写方法; 利用中断方式,实现键盘中断流程。 二、实验原理 本实验以键盘中断为例,介绍 ARM 微处理器中断处理过程。设定编程预期的实验现象:系统启动后,按 12345678 任意键,相应的八段数码管就会显示相应的数字。 三、主要实验设备 1.硬件:宿主机、ARM 教学试验箱; 2.软件:Windows 操作系统、ADS1.2集成开发环境。 四、实验内容 1.首先设置中断向量表,见表4.1。 表 4.1 ARM 中断向量表 每当一个中断发生后,ARM 处理器便强制把程序计数器(PC )指

针置为向量表中对应中断类型所对应的地址值。由于ARM微处理器每个中断向量中只有4个字节的大小,所以通常在中断向量位置存放1条跳转指令或存放1条直接对程序计数器(PC)寄存器赋值的指令,使程序能跳转到相应的异常中断处理程序中执行。如果中断处理程序所在的物理地址小于32MB,可使用B跳转指令;当跳转范围大于32MB 时,需使用LDR指令。对于程序中未使用的中断,可使中断异常跳转到一个只含返回指令的哑函数或跳转到自身标号地址处,以防止中断异常引起系统的混乱。比如: Undefined_Handler B Undefined_Handler 下面代码为 ARM 微处理器中断向量表的初始化过程。 B Reset_Handler ; //跳转复位 0x0000,0000 复位管理模式 B Undefined_Handler ; //跳转未定义指令 0x0000,0004 未定义指令未定义模式 B SWI_Handler ; //跳转软件中断 0x0000,0008 软件中断管理模式 B Prefetch_Handler ; //跳转预取指令 0x0000,000 C 预取指令中止模式 B DataAbort_Handler ; //跳转数据异常 0x0000,0010 中止模式 NOP ; //延时保留 B IRQ_Handler ; //跳转 IRQ(中断请求) 0x0000,0018 IRQ B FIQ_Handler ; // 跳转 FIQ(快速中断请求) 0x0000,001 C FIQ 从表4.1分析可知,NOP 一定不能去掉,必须要保证中断向量表正确建立。 当然,ARM 微处理器中断向量表的初始化工作也可以写成如下形式: LDR PC,=Reset_Handler ; //跳转复位 0x0000,0000 复位

嵌入式系统课程设计实验指导书

嵌入式系统应用技术课程设计实验指导书 1、课程设计背景和任务 1.1 课程设计背景 在电力检修、抢险救灾等户外工作领域,常常需要移动电源为现场电气设备提供电能。本课程设计即来源于这样的需求背景,以设计一个具有基本功能的移动电源系统为基本目标。 图一所示的是一套功能完善的移动电源系统。以该系统为例, 下对其组成和各模块所涉及的技术要点进行阐述。 该移动电源系统以锂电池为储能核心,分为充电部分和放电部分。 充电部分由光伏控制器和市电充电器构成,分别用以解决太阳能电池和市电两种形式的电源对锂电池的充电问题。光伏控制器涉及到充电时机检测、过充保护及太阳能电池最大功率跟踪等技术。市电充电器涉及到交直流变换、充电保护、快速充电策略等技术。 放电部分由逆变器、直流变换器和SOC 显示器构成,分别用以解决对交流设备供电、直流设备供电和锂电池电量显示的问题。逆变器和直流变换器都涉及到利用电力电子技术,实现高效率的、低成本的、高质量的电能变换技术。SOC 显示器涉及到对锂电池荷电状态的检测和估计等技术。 此外,该移动电源系统还涉及到控制面板、散热器件和保护装置等模块的设计和实现。

2.2 课程设计任务 本课程设计参考图一所示的移动电源系统,以完成一个简化的系统为基本要求。 该简化系统由图一中灰色的部分组成,即市电充电器、锂电池和逆变器。其工作原理是:市电充电器从市电获取交流电能,采用合适的充电策略对锂电池充电;逆变器从锂电池获取直流电能,将其转变为220V 工频交流电。 在完成基本目标的基础上,可以再对其他部分进一步地学习、研究和实践。本课程设计要求学生对电能变换理论、仿真技术、硬件设计与制作、控制理论和单片机实践等方面进行学习和实践,对其在电源类电子设计的综合能力提升有实际的意义。 2、市电充电器 2.1 锂电池的类别及其化学原理 锂电池主要分为两类,一次锂电池和可充电锂电池,一次锂电池只是用于某些特殊场合,这里不作特别介绍,可充电锂电池又分为锂离子电池(Li-ion )和锂聚合物电池(Li-polymer )。这里我们以锂离子电池为例,对可充电锂电池的组成及化学原理作一些介绍。 锂(Li )是元素周期表中原子量最小、电化学当量最小、电极电势最负的金属。用锂作为负极的锂电池具有开路电压高、比功率高、放电电压平稳、适用范围大和使用寿命长等优点。早期的锂电池直接在负极中使用金属锂,容易在充电过程中产生锂沉淀和锂结晶,并产生腐蚀现象,大大缩短了电池的循环次数及使用寿命,严重时可造成电池断路甚至爆炸。 为了解决这一问题,人们开发出了锂离子电池。所谓锂离子电池,是在正极和负极中采用可容纳锂离子的活性材料,使锂离子随着充放电从正极(电池阳极)转移到负极(电池阴极)或者从负极转移到正极。 一般锂离子电池的负极由碳(C )材料组成,正极由锂金属氧化物(2LiMO )构成,主要的化学反应如下: 负极反应式:66LiC C e Li ?++-+ 正极反应式:- +-++?xe xLi MO Li LiMO x 2)1(2 总反应式:62)1(26xLiC MO Li xC LiMO x +?+- 对于锂电池,使用不同的活性材料,包括电池的正极材料、负极材料和电解质,电池的性能特性也会有区别。 负极材料中,目前常见的有焦碳和石墨。锂离子电池的额定电压是3.6V (有的公司的产品是3.7V )。电池充满电时的电压(成为终止充电电压)与电池的负极材料有关。当负极材料为石墨时,终止充电电压为4.2V ;当负极材料为焦碳时,终止充电电压为4.1V 。另外,由于焦碳与石墨的内阻不同(焦碳阳极的略大),故其放电曲线也略有差别。正极材料中,主要以锂金属氧化物为主,目前常用的有锂钴氧化物(2LiCoO ),锂镍氧化物(2LiNiO )、锂锰氧化物(42O LiMn )以及纳米锰氧化物。锂电池中的电解质材料,通常为锂盐的有机溶液。目前使用的锂盐主要有4LiClO 、6LiAsF 、6LiPF 等。

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