哈工大 嵌入式系统实验指导04

合集下载

哈工大嵌入式操作系统课件—4_vxworks嵌入式操作系统

哈工大嵌入式操作系统课件—4_vxworks嵌入式操作系统

Watchdog Timers Calls
wd***()函数
WDOG_ID wdCreate (void) 创建一个看门狗定时器
返回值:如果成功则返回该看门狗定时器的ID, 否则返回ERROR。
wd***()函数
STATUS wdStart ( WDOG_ID wdId, int delay, FUNCPTR pRoutine, int parameter)
STATUS msgQSend ( MSG_Q_ID msgQId, char * buffer, UINT nBytes, int timeout, int priority)
发送一个消息到消息队列 msgQId :接收消息的队列ID buffer:待发送消息存放的缓存 nBytes:消息长度(字节) timeout:任务期望等待的tick数
将写全局和变量的代码作为临界区,使用互斥 机制进行保护。
Task Variables
任务间通信
共享数据结构 互斥机制 信号量 消息队列 管道 基于网络的任务间通信 信号
共享数据结构
Global variables Pointers Linear buffers Ring buffers Linked lists
抢占锁
Less restrictive form of mutual exclusion. 除ISR外,任务调度被禁止。 在调用taskLock()的函数离开临界区前,任何
其他任务都不能执行,除非该任务进入等待态。
信号量
VxWorks提供的最快速的任务间通信机制。 存在3类信号量:
- Binary - Mutual exclusion - Counting
A subroutine is reentrant if a single copy of the routine can be called from several task contexts simultaneously without conflict.

专业实验嵌入式系统实验指导书2010版

专业实验嵌入式系统实验指导书2010版

实验一嵌入式系统ARM驱动编程一、实验目的1.熟悉ARM环境,学会ARM 仿真器的使用。

使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。

2.掌握非嵌入式操作系统模式下的ARM编程。

3.了解LCD 基本概念与原理,熟悉用ARM 内置的LCD 控制器驱动LCD,掌握延时函数的使用方法,可以设计动态ARM程序。

二、实验内容(2学时)1.本次实验使用ADS集成开发环境。

学习ARM 仿真器的使用和开发环境的设置。

下载已经编译好的文件到嵌入式控制器中运行。

学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。

2.学习LCD 显示器的基本原理,理解其驱动控制方法。

掌握两种LCD 驱动方式的基本原理和方法。

并用编程实现控制LCD显示的ARM程序。

三、预备知识C 语言的基础知识、程序调试的基础知识和方法。

四、实验设备及工具硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机。

软件:PC 机操作系统Win2000、ARM ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序五、实验原理1.ARM程序的在线仿真与调试ADS1.2可以进行ARM程序的编写和调试。

打开ADS1.2的编辑界面后,可以以工程的方式编写和组织源代码。

执行菜单Project | Make 可对工程进行编译连接。

在出现的错误/警告窗口中选择某错误/警告信息,ADS 会自动打开相应源文件并用箭头指向出错的文本行。

如果某个源文件被修改,重新编译时ADS 会自动同步各文件的日期信息。

ARM程序调试步骤如下:(1)在ADS 中执行菜单Project | Debug 启动ADS1.2 的调试工具AXD。

(2)在AXD 中执行菜单Options | Configure Target 对AXD 进行设置。

如图1B-13 所示。

选择ADP 即远程调试,点Configure 按钮进一步设置具体参数,如图1B-14 所示。

嵌入式实验四实验报告

嵌入式实验四实验报告

嵌入式实验四实验报告实验四:嵌入式编程设计
实验设计目的:
1. 学习使用嵌入式开发工具进行编程设计;
2. 学习使用C语言编写嵌入式程序;
3. 学习使用GPIO模块进行输入输出;
4. 学习使用中断处理函数。

实验器材:
1. 嵌入式开发板;
2. USB数据线;
3. 电脑;
4. LED灯;
5. 电阻;
6. 蜂鸣器;
7. 其他必要的电路元件。

实验步骤:
1. 连接开发板和计算机,安装开发板驱动程序;
2. 打开嵌入式开发工具,创建一个新的工程;
3. 在工程中添加一个C文件,编写程序;
4. 编写程序实现以下功能:
- 使用GPIO模块控制LED灯的亮、灭;
- 使用GPIO模块读取按键状态;
- 使用GPIO模块控制蜂鸣器的开、关;
- 使用Timer模块计时;
- 使用中断处理函数处理外部中断;
- 其他必要的功能;
5. 编译程序,下载到开发板;
6. 运行程序,测试功能是否正常。

实验结果与分析:
实验结果应当是LED灯、蜂鸣器、按键正常工作,可以通过按键控制LED灯的亮、灭、蜂鸣器的开、关。

实验总结:
通过本次实验,我学会了使用嵌入式开发工具进行编程设计,掌握了使用C语言编写
嵌入式程序的方法。

通过实验,我深入理解了嵌入式系统的原理和实现方法,对嵌入
式系统的应用有了更加深入的了解。

在今后的学习和工作中,我将能够更好地运用嵌
入式技术解决实际问题。

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

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

实验一熟悉嵌入式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)、实验中遇到的问题与解决过程。

哈工大计组实验指导4

哈工大计组实验指导4
与cpu配合方式与80808085cpu配合与80868088cpu配合普通全嵌套方式特殊全嵌套方式自动循环方式特殊循环方式优先权固定方式优先权循环方式设置优先权方式普通中断结束方式特殊中断结束方式自动中断结束方式非自动中断结束方式中断屏蔽方式普通屏蔽方式特殊屏蔽方式中断触发方式边沿触发方式电平触发方式数据线连接方式缓冲方式非缓冲方式边沿触发方式中断请求输入端出现上升沿为有效的中断请求信号电平触发方式中断请求端出现高电平为有效的中断请求信号与cpu配合方式与80808085cpu配合与80868088cpu配合普通全嵌套方式特殊全嵌套方式自动循环方式特殊循环方式优先权固定方式优先权循环方式设置优先权方式普通中断结束方式特殊中断结束方式自动中断结束方式非自动中断结束方式中断屏蔽方式普通屏蔽方式特殊屏蔽方式中断触发方式边沿触发方式电平触发方式数据线连接方式缓冲方式非缓冲方式缓冲方式对8259a的数据线输出中断向量加缓冲器予以隔离和驱动spen引脚作为输出端输出允许信号用以关闭或开启缓冲器非缓冲方式在8259a级连时用它选择该芯片充当主片或从片初始化编程用户必须对8259a进行初始化编程
• 特殊全嵌套方式——允许同级中断嵌套(用于级连主片) • 优先权自动循环方式——最高优先权自动转移到相邻的低优先级 中断源,如IR3被响应后,IR3最低,IR4最高。 • 优先权特殊循环方式——优先权由OCW2设置哪个IR最低,其他 的随之确定。
8259A的工作方式
级连方式
级连 不级连
与8080/8085 CPU配合 与8086/8088 CPU配合 优先权固定方式 优先权循环方式 自动中断结束方式 非自动中断结束方式 普通屏蔽方式 特殊屏蔽方式 边沿触发方式 电平触发方式 缓冲方式 非缓冲方式 普通全嵌套方式 特殊全嵌套方式 自动循环方式 特殊循环方式 普通中断结束方式 特殊中断结束方式

《嵌入式系统导论》实验指导书

《嵌入式系统导论》实验指导书

《嵌入式系统导论》实验指导书安阳工学院计算机科学与信息工程系飞思卡尔MCU实验中心编写目录前言 (2)一认识DG128开发开发环境 (3)1.HCS12实验系统概述 (3)1.1HCS12系列微控制器与DP256/DG128 (3)1.2实验系统组成 (5)1.3HCS12实验系统使用方法与步骤概述 (5)2.HCS12实验系统硬件说明 (7)2.1开发子板 (7)2.2BDM调试器与BDM电缆 (7)2.3I/O母板 (8)2.4其它 (9)3.编译工具说明 (10)3.1概述 (10)3.2CODEWARRIOR使用方法 (10)4.BDM调试器使用方法 (15)4.1BDM调试器基本工作原理 (15)4.2BDM调试命令及使用方法 (15)二实验项目 (19)实验1 熟悉实验用软件开发平台——CODEWARRIOR (19)实验2 用超级终端和监控程序通讯调试程序 (19)实验3 键盘编程实验 (26)实验4 SCI串行口实验 (29)实验5 C程序的建造与调试 (33)实验6 用TIMER实现精密定时 (34)实验7 A/D转换实验 (39)实验8 动态LED数码管显示 (44)前言该实验指导书是为安阳工学院计算机科学与信息工程系《计算机科学与技术》本科专业嵌入式专业方向开设的《嵌入式系统导论》课程而撰写的配套实验指导书。

《嵌入式系统导论》是一门专业方向必修课,该课程的主要教学目的是教会学生设计嵌入式小系统的能力。

其中包括汇编语言程序的设计能力以及简单的嵌入式系统硬件设计能力。

设计能力属于工程技术能力,它要求学生在拥有扎实的基础理论和专业知识基础上,进一步形成设计能力,要求学生会分析问题,能解决问题。

这种能力的培养除了要求上理论课以外,还要要求学生参加一定量的工程实践训练。

工科学生的实验课,尤其是设计性的实验课,它是标准化的和模块化的工程实践训练环节。

本门课程的实验在整个课程中的地位十分重要,它一方面可以使学生深入理解和把握专业理论知识,另一方面使学生学会运用理论来解决实际中遇到的问题。

哈工大《嵌入式系统设计》复习题参考答案

哈工大《嵌入式系统设计》复习题参考答案

诺依曼体系和哈佛体系的区别就是程序空间和数据空间是否是一体的。

早期的微处理器大多采用冯诺依曼结构,典型代表是Intel公司的取指和取操作数都在同一总线上,通过分时服用的方式进行的。

缺点是在高速运行要将系统描述为一组并发执行的任务,可以使用表达并发进程模型的语言来描述,然后根据这个描述生成实现。

实现是系统功能在硬件处理器上的一种映射,其中系统功能用一个或多个计算模型来表达,并用一种或多种语言来编写。

程序语言的选择与实现无关,使用某种语言可能是因为这种语言能表达用于描述系统的计算模型,选择某种实现则可能是因为这种实现能满足功率、时序、性能和成本等系统要求。

一旦得到最后的实现,设计者就可以执行该系统,观察其行为,测量其所关注的设计指标,并决定该实现是否可行,最后的实现也可以作为最终产品大批量生产时的蓝图或雏形。

发明进程的原因是,有些系统的行为实际上是由多个独立的自行为构成的。

而要用时序模型把这几个部分描述为单个时序程序会相当困难。

在此,使用多个时序程序分别描述多个部分,表明其可以并发执行。

但不想要多个完全独立的程序。

因为多个程序实际上要进行通信。

并发进程模型可以达到这个目标,在这个模型中,进程就是多个时序程序中的一个程序。

进程的传统定义是一个执行单位,一个进程与模型中的其他进程并发执行,通常被看作是一个无穷循环,不断地执行其时序语句。

7. 简述NOR 技术和NAND 技术闪存的特点。

NOR 和NAND 是现在市场上两种主要的非易失闪存技术。

NOR 技术 Flash Memory 具有以下特点:NOR 技术闪速存储器是最早出现的Flash Memory ,目前仍是多数供应商支持的产品,它源于传统的EPROM 器件。

与其它Flash Memory 技术相比,具有可靠性高、随机读取速度快的优势,但擦除和写的速度较NAND Flash 慢。

在擦除和编程操作较少而直接执行代码(XIP , eXecute In Place )的场合,尤其是代码(指令)存储的应用中广泛使用。

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

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

嵌入式系统实验指导王艳春李英一张劲松实验一嵌入式微处理器系统的开发环境一、实验环境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个实验)

嵌入式系统实验指导书(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的方波。

嵌入式本系统第四次实验共40页PPT

嵌入式本系统第四次实验共40页PPT
嵌入式本系统第四次实验
56、极端的法规,就是极端的不公。 ——西 塞罗 57、法律一旦成为人们的需要,人们 就不再 配享受 自由了 。—— 毕达哥 拉斯 58、法律规定的惩罚不是为了私人的 利益, 而是为 了公共 的利益 ;一部 分靠有 害的强 制,一 部分靠 榜样的 效力。 ——格 老秀斯 59、假如没有法律他们会更快乐的话 ,那么 法律作 为一件 无用之 物自己 就会消 灭。— —洛克
谢谢!

60、人民的幸福是至高无个的法。— —西塞 罗
61、奢侈是舒适的,否则就不是奢侈 。——CocoCha nel 62、少而好学,如日出之阳;壮而好学 ,如日 中之光 ;志而 好学, 如炳烛 之光。 ——刘 向 63、三军可夺帅也,匹夫不可夺志也。 ——孔 丘 64、人生就是学校。在那里,与其说好 的教师 是幸福 ,不如 说好的 教师是 不幸。 ——海 贝尔 65、接受挑战,就可以享受胜利的喜悦 。——杰纳勒 尔·乔治·S·巴顿

哈尔滨工程大学计算机学院ARM3000实验指导书(老版)

哈尔滨工程大学计算机学院ARM3000实验指导书(老版)

博创科技目 录第一章嵌入式开发系统概况和设备驱动安装 (3)第二章嵌入式系统开发环境简介 (17)实验一A:ARM SDT2.5开发环境 (18)实验一B:ADS1.2开发环境 (30)实验一C:超级终端设置及BIOS功能使用 (41)第三章嵌入式系统硬件驱动基础开发案例 (45)实验二ARM的串行口实验 (46)实验三键盘及LED驱动实验 (55)实验四D/A接口试验 (64)实验五ARM的A/D接口实验 (68)实验六电机转动控制实验 (75)实验七LCD的驱动控制实验 (86)实验八触摸屏驱动实验 (95)实验九CAN总线通讯实验 (103)第四章嵌入式系统核心开发案例 (110)实验十定时器中断和驱动程序实验 (111)实验十一B OOT L OADER实验 (118)实验十二A U COS-II在ARM微处理器上的移植及编译 (121)实验十二B完善的U COS-II开发框架 (131)第五章基于UCOS-II操作系统的开发案例 (133)实验十三音频实验 (134)实验十四绘图的API函数 (144)实验十五系统的消息循环 (147)实验十六文件的使用 (151)实验十七列表框控件的使用 (155)实验十八文本框控件的使用 (159)实验十九多任务和系统时钟 (162)实验二十UDP通讯实验 (172)第六章嵌入式系统综合开发案例 (182)实验二十一综合实验 (183)实验二十二模拟电子画板实验--触摸屏应用 (186)实验二十三基于ARM的多通道仪表数据采集实验——多任务与A/D转换 (189)第七章图形界面MINIGUI入门案例 (193)实验二十四M INI GUI到U COS-II-----H ELLO W ORLD程序 (194)实验二十五M INI GUI到U COS-II-----LOADBMP位图操作 (204)第八章嵌入式系统扩展板开发案例 (207)扩展实验一GPRS扩展板通信实验 (208)扩展实验二基于ARM7的FPGA实验 (213)第九章汇编实验开发案例 (228)汇编实验一汇编实现步进电机控制 (229)汇编实验二汇编实现键盘及LED驱动实验 (234)附录一嵌入式系统应用编程API函数 (238)1.显示部分D ISPLAY.H (239)2.操作系统的消息相关函数OSM ESSAGE.H (245)3.控件的相关函数C ONTROL.H (247)4.文件相关函数OSF ILE.H (254)5.双向链表相关函数L IST.H (255)6.触摸屏相关函数TCH S CR.H (256)7.键盘相关函数K EY B OARD16.H (256)8.液晶显示相关函数L CD320.H (257)9.USB相关函数OS USB.H (258)10.系统时间相关函数R TC.H (258)11.串行口相关函数U HAL.H (260)12.字符串相关函数U STRING.H (260)13.系统图形相关函数F IGURE.H (261)14.系统启动时相关函数L OAD F ILE.H (262)15.系统附加任务相关函数OSA DD T ASK.H (263)16.TCP/IP相关函数I NTERNET.H&S OCKETS.H (263)17.中断相关函数I SR.H (265)附录二嵌入式系统参考电路原理图 (266)附录三 ARM汇编指令集 (275)Ⅰ ARM指令集 (275)Ⅱ ARM汇编器所支持的伪指令 (288)第一章嵌入式开发系统概况和设备驱动安装一、开发平台硬件资源1)CPU:ARM7TDMI结构芯片S3C44B0X,工作频率60MHz;2)BIOS:2M,NOR FLASH;3)内存:8M,SDRAM;4)海量存储器:16M,NAND Flash;5)键盘:17键数字小键盘;6)显示:320×240 象素、256色LCD,带四线电阻式触摸屏;7)USB接口:D12芯片,USB 1.1标准;8)串口:2路,最高波特率115200 b/s;9)网络接口:RTL8019,10M以太网;10)CAN接口:波特率125Kb、250Kb、500Kb、1Mb;11)调试接口:JTAG,14针、20针;12)电机:直流电机(有刷),步进电机(带1/64减速器);13)A / D:ARM自带8路10位A /D,满量程2.5V,4路电位器,4路扩展;14)D / A:10位,满量程4.096V;15)LED:8个,共阴极,与键盘共同由ZLG7289芯片驱动;16)音频输出:IIS总线,UDA1341芯片,44.1KHz音频;17)扩展插槽:2个,提供系统总线以及其他空余资源接口;18)FPGA扩展板(可选件):ACEX 1K系列,扩展100I/O,与系统总线相连;19)GPRS扩展板(可选件):SIMCOM的SIM100-E模块,支持双道语音通信;20)配套JTAG仿真器、电源适配器、通信线缆若干。

嵌入式系统实验指导书

嵌入式系统实验指导书

第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 设备。

哈工大嵌入式系统设计4

哈工大嵌入式系统设计4
第四章 LPC1100外设:GPIO




4.1 LPC1100的引脚配置 4.2 LPC1100的GPIO编程 4.3 GPIO的应用
4.4 程序实例
微电子科学与技术系
LPC1100的引脚配置



受体积和成本的限 制,物理管脚(pin) 的数量有限 芯片功能模块的种 类和数量所要求的 引脚数远大于物理 管脚个数 多个功能复用物理 管脚
GPIO的应用

控制一个或多个指示灯
微电子科学与技术系
GPIO的应用

读取一个或多个按键的输入
微电子科学与技术系
GPIO的应用

矩阵扫描式键盘
微电子科学与技术系
GPIO的应用


数字量输出
在工业现场往往需要使用数字量信号来驱动外部的执行机 构、显示灯等负载。数字量输出 的含义是指这种类型的输出信号只有简单的两种状态:高 电平和低电平,也可以理解为开( ON)或者关( OFF) 两种状态。
微电子科学与技术系
LPC1100的引脚配置

标准 I/O 管脚内部结构
微电子科学与技术系
LPC1100的引脚配置

IOCON_PIOn_m寄存器控制着管脚功能( GPIO或外设功 能)、输入模式和所有GPIOn_m管脚的滞后特性。另外, 它可以为不同的I2C总线模式配置I2C总线管脚。如果管脚 用作ADC输入管脚,也可以通过IOCON_PIOn_m寄存器 配置管脚为模拟输入模式。 IOCON_PIOn_m 寄存器位域描述
微电子科学与技术系
LPC1100的GPIO编程


所有 GPIO 寄存器都为 32 位,可以以字节、 半字和字的形式访问。 GPIO端口 0 寄存器的基址为 0x50000000; GPIO端口 1 的基址为 0x50010000; GPIO端口 2 的基址为 0x50020000; GPIO端口 3 的基址为 0x50030000。

嵌入式系统实验报告 哈工程

嵌入式系统实验报告 哈工程

嵌入式系统设计实验报告班级:20120616学号:姓名:成绩:指导教师:武俊鹏刘书勇1. 实验一1.1 实验名称博创UP-3000实验台基本结构及使用方法1.2实验目的1 通过本次实验对各个外设了解,为今后各个接口实验打下基础2 学习超级终端的基本使用1.3 实验环境硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。

1.4 实验内容及要求1 了解嵌入式系统开发流程2 熟悉UP-net3000实验平台的核心硬件电路和外设3 了解ARM,JTAG的安装与使用4 通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态1.5 实验设计与实验步骤在电脑上安装编译环境UP-NETARM3000 嵌入式开发平台支持ARM SDT2.5 和ADS1.2 两个编译环境。

超级终端是Windows 自带程序,在附件中的通讯目录下。

如果没有,则在控制面板中选择添加或删除程序,选择添加/删除Windows 组件,选择附件和工具一项,单击详细信息,可以在通讯一项中找到超级终端,确定添加后即可。

这里超级终端的作用是使平台与PC 机进行通信,在PC 机上监视系统状态或控制系统运行。

1.6 实验过程与分析1 运行Windows 系统下的超级终端,新建一个通信终端。

如果要求输入区号、电话号码等信息请随意输入。

2 在接下来的对话框中选择ARM 开发平台实际连接的PC 机串口(如COM1),按确定后设置通信的格式和协议。

这里波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。

按确定完成设置。

3 完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存。

4 启动开发板,按住开发板上键盘的任意按键,使开发板进入BIOS 设置状态。

哈工大 嵌入式系统实验指导01

哈工大 嵌入式系统实验指导01

实验一:汇编指令实验1.实验目的z了解Keil uVision集成开发环境及软件仿真功能使用。

z掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序。

z掌握指令的条件执行和使用LDR/STR指令完成存储器的访问。

z掌握基本的汇编程序调试。

2.实验设备z硬件:PC机一台z软件:WindowsXP系统,Keil uVision 4.0集成开发环境3.实验内容(1)使用LDR指令读取0x40000100地址上的数据,将数据加1。

若结果小于10,则使用STR指令把结果写回原地址;若结果大于等于10,则把0写回原地址。

(2)使用Keil uVision软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口监视R0和R1的值,打开存储器观察窗口监视0x40000100地址上的值。

4.实验预习要求(1)学习ARM指令系统的内容,重点掌握LDR/STR指令和指令条件执行;(2)查阅Keil uVision 软件的介绍,了解软件的功能和操作方法。

5.实验步骤(1)启动Keil uVision,新建一个工程ex01。

见图1-1、图1-2、图1-3。

图1-1 建立工程图1-2 选择目标芯片图1-3 不需要系统提供的Startup文件(2)建立汇编源文件ex01.s,编写实验程序,然后添加到工程中。

见图1-4、图1-5、图1-6、图1-7。

图1-4 建立新文件图1-5 保存扩展名为.s的汇编程序文件图1-6 把文件添加到工程图1-7 添加文件到工程后(3)设置工程选项,存储器映射。

见图1-8、图1-9。

图1-8 设置工程选项图1-9 设置存储器映射(4)编译链接工程。

见图1-10。

(5)进行软件仿真调试。

见图1-11、图1-12、图1-13、图1-14。

图1-11 调试运行图1-12 调试界面图1-13 设置断点图1-14 运行程序6.实验参考程序汇编指令实验的参考程序见程序清单1.1。

程序清单1.1 汇编指令实验参考程序COUNT EQU 0X40000100 ;定义一个变量,地址为0x40000100 AREA RESET, CODE, READONLY ;声明代码段RESETENTRY ;表示程序入口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 LOOPEND7.思 考(1)若使用LDRB/STRB代替程序清单中的所有加载/存储指令(LDR/STR),程序会得到正确的执行吗?(2)LDR伪指令与LDR加载指令的功能和应用有何区别,举例说明?(提示:LDR伪指令的形式为“LDR Rn,=expr”。

嵌入式系统实验指导书

嵌入式系统实验指导书

《嵌入式系统原理与设计》实验指导书学院:班级:指导教师:实验一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所示。

《嵌入式系统》课程实验指导书

《嵌入式系统》课程实验指导书

《嵌入式系统》课程实验指导书第一部分实验教学系统硬件介绍第二部分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)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

while(rADCCON & 0x1); //check if Enable_start is low while(!(rADCCON & 0x8000)); //check if EC(End of Conversion) flag is high
return ( (int)rADCDAT0 & 0x3ff ); }
(二)模数转换器(ADC)实验: (1) 本实验使用 S3C2440 片内模数转换器,见图 4-1。从结构图和芯片手册 可以知道,该 ADC 模块总共有 8 个通道可以进行模拟信号的输入,分别是 AIN0、
AIN1、AIN2、AIN3、YM、YP、 XM、XP。模拟信号从任一通道输入,然后设定寄 存器中预分频器的值来确定 AD 转换器频率,最后 ADC 将模拟信号转换为数字信 号保存到 ADC 数据寄存器 0 中(ADCDAT0),然后 ADCDAT0 中的数据可以通过中断 或查询的方式来访问。对于 ADC 的各寄存器的操作和注意事项请参阅数据芯片 手册。
具体步骤参考实验二。 (3)实验程序实现了一个用于控制读取 ADC 指定通道的值的函数: int ReadAdc(int ch); 在对 preScaler 变量初始化之后,即可通过调用该函数来多次采集连接在 ADC 上的模拟信号值。 (5) 编译链接工程。连接实验板电源、J-link 仿真器,进行仿真调试。单 步运行程序,并改变板上滑动变阻器 W1 的阻值,观察采集到的电压数值的变化。 参考:模数转换器控制寄存器
{
int tmp, ret;
tmp = a - b; if( tmp > 0)
ret = 1; else if( tmp == 0)
ret = 0; else
ret = -1;
return ret; }
int max( int a, int b) {
int tmp1;
if( compare( a, b) >= 0) tmp1 = a;
6.实验参考程序
C 语言实验的参考程序见程序清单 4.1、4.2。模数转换器实验的参考程序 见程序清单 4.3。
程序清单 4.1 C 语言实验参考程序(汇编部分)
Stack_Top EQU0x1000 - 4;end of ram
AREA RESET, CODE, READONLY
;声明代码段 RESET
8.选作内容
(1) 编程并观察 C 语言语句编译后对应的 ARM 汇编程序。 (2) 用板上滑动变阻器控制指示灯的闪烁速度。
if(prevCh!=ch)
{ rADCCON = (1<<14)|(preScaler<<6)|(ch<<3); //setup channel for(i=0;i<LOOP;i++); //delay to set up the next channel prevCh=ch;
}
rADCCON|=0x1; //start ADC
#define LOOP 10000 #define ADC_FREQ 1000000
volatile unsigned preScaler;
int ReadAdc(int ch) {
int i; static int prevCh=-1;
rADCCON = (1<<14)|(preScaler<<6)|(ch<<3); //setup channel
3.实验内容
(1)建立汇编-C 程序框架。 (2)使用 ADC 读取 Mini2440 实验板上的滑动变阻器产生的电压值。
4.实验预习要求
(1)学习 ARM 子程序调用相关的指令; (2)查阅 S3C2440 芯片手册,了解模数转换器系统的结构和原理。
5.实验步骤
(一)C 语言编程实验: (1)实验程序分为汇编语言和 C 语言两部分。汇编语言程序是处理器上电复 位后执行的第一段程序,负责最基础的硬件初始化,在本实验中主要是初始化栈 指针(SP)寄存器,为调用 C 语言函数做准备,然后跳转到 C 语言 main 函数执 行;从 main 函数开始,程序的编写结构和执行原理基本上与 PC 机上典型的 C 语言相同。 (2)启动 Keil uVision,新建一个工程 ex04-1。不需要系统提供的 Startup 文件。建立汇编源文件 ex04-1.s,编写实验程序,然后添加到工程中。设置工 程选项,存储器映射。设置工程调试选项。建立仿真初始化文件 RAM.ini。 具体步骤参考实验二。 (3) 建立 C 语言源文件 main.c,编写实验程序,然后添加到工程中。。 (4)编译程序,使用仿真器在目标板上调试运行程序,使用单步、设置断点, 观察程序执行的流程,观察函数调用过程中栈指针寄存器(R13,SP)的值的变 化。 (5)编程并观察 C 语言语句编译后对应的 ARM 汇编程序。
实验四:C 语言开发/模数转换(ADC)实验
1.实验目的
z 掌握 C 语言嵌入式开发的基本步骤和原理。 z 学习使用 C 语言操作外设的方法。 z 掌握模数转换器外设的操作原理和编程。
2.实验设备
z 硬件:PC 机一台 Mini2440 ARM 实验板一套 J-link 仿真器一套
z 软件:WindowsXP 系统,Keil uVision 4.0 集成开发环境
图 4-1 S3C2440 模数转换器结构图
图 4-2 Mini2440 实验板模数转换器接口与滑动变阻器
本实验使用通道 0 采集实验板上的滑动变阻器的分压电压值,见图 4-2。
(2)启动 Keil uVision,新建一个工程 ex04-2。不需要系统提供的 Startup 文件。建立汇编源文件 ex04-2.s,编写实验程序,然后添加到工程中。设置工 程选项,存储器映射。设置工程调试选项。建立仿真初始化文件 RAM.ini。
main() {
int v = 0; preScaler = 12000000/ADC_FREQ - 1;
//PCLK:12MHz
while(1) {
v = ReadAdc(0); //对应开发板上 W1 可调电阻; } }
7.思 考
(1)实验程序中 main()函数名是否可以改为其它名字? (2)如何校准模数转换器测量电压的精度?
Reset
;initialize stack pointer LDR R0, =Stack_Top MOV SP, R0
IMPORT main
LDR R0, =main
BX
R0
b.
;should never get here
END
程序清单 4.2 C 语言实验参考程序(C 语言部分)
int compare( int a, int b)
else tmp1 = b;
return tmp1; }
main() {
int v = 0;
v = max( v, 4); while(1) { } }
程序清单 4.3 模数转换器实验参考程序(C 语言部分)
#define rADCCON (*(volatile unsigned *)0x58000000) //ADC control #define rADCTSC (*(volatile unsigned *)0x58000004) //ADC touch screen control #define rADCDLY (*(volatile unsigned *)0x58000008) //ADC start or Interval Delay #define rADCDAT0 (*(volatile unsigned *)0x5800000c) //ADC conversion data 0 #define rADCDAT1 (*(volatile unsigned *)0x58000010) //ADC conversion data 1 #define rADCUPDN (*(volatile unsigned *)0x58000014) //Stylus Up/Down interrupt status
ENTRY
;表示程序入口
CODE32
;声明 32 位 ARM 指令
b Reset
Undef b Undef
SWI
b SWI
Pabort b Pabort
Dabort b Dabort
b.
IRQ
b IRQ
FIQ
b FIQ
;handler for Undefined mode ;handler for SWI interrupt ;handler for PAbort ;handler for DAbort ;reserved ;handler for IRQ interrupt ;handler for FIQ interrupt
相关文档
最新文档