第一篇:ARM嵌入式创新实验室建设方案书_图文.
ARM9/10
兼容系列嵌入式教学实验箱硬件框架图 硬件参数及功能描述 ARM9 2410核心板
标配ARM9 2440核心板 选配 √ A/D输入接口 1 √ 64M SDRAM 32M×2 √ AC97音频接口 1 √ 128M Nand Flash 64M×2 √ RS232串口 2 √ 内部集成了 MMX 指令集 1 √ RS485接口 1 √ 外围电路扩展插槽 1 √ CAN 接口 1 √ 4*4键盘 √ 100M 网络接口 1 √ 可编程LED(跑马灯)√ VGA 接口 1 √ 蜂鸣器 √ 总线式摄像头接口 1 √ 外部中断测试按键 1 √ 红外接口 1 √ 可调A/D接口 1 √ PS2键盘接口 1 √ D/A接口 1 √ PS2鼠标接口 1 √ 8段数码管 6 √ 直流电机 1 √ IIC 总线接口 1 √ 步进电机 1 √ 温度传感器接口 √ 8英寸 TFT彩色液晶 触摸屏 1 √ CF 卡接口 1 √ 四线电阻式触摸屏 1 √ IDE 接口 1 √ 标准20针JTAG 调试口 1 √ SD 卡接口 1 √ ARM 简易仿真器 1 √ PCMCIA 接口 √ 一个USB 从接口 1 √ 并行打印机接口.1 √ 一个USB2.0标准 OTG 接口 1 √ 扩展选配模块一览表 FPGA 扩展模块 选配 DSP 扩展模块 1 选配 100M 网卡模块 1 选配 GPRS 扩展模块 1 选配 工业传感器模块 1 选配 GPS 扩展模块 1 选配 接触式IC 卡模块+ 1 选配 指纹识别模块 1 选配 ZIGBEE 通信模块 1 选配 蓝牙通信模块 1 选配 WI-FI 选配 射频非接触式IC 卡模块 1 选配
ZIGBEE 通信模块
工业传感器模块 指纹识别模块 IC 卡模块
嵌入式软件开发基础实验 嵌入式开发环境实验
√ ARM 汇编语言编程实验 √ C 语言与汇编语言编程实验 √ 基本接口实验(ADS或ADT 环境 数码管显示实验
√ WATCHDOG 实验 √ 串口通讯实验 √ LCD 显示实验 √ 中断实验 √ 触摸屏控制实验 √ DMA 操作实验
√ 键盘输入与IO 实验 √ PWM 实验 √ 数字音频接口实验 √ A/D采样实验 √ IIC 总线实验 √ USB 通信实验 √ PCMCIA 接口实验 √ 实时时钟实验 √ TFTP 以太网通讯实验 √ 红外接口实验 √ BOOTLOADER 实验
BootLoader(u-boot)基础实验
√ BootLoader 移植实验 √ BootLoader(u-boot)文件系统实验 JFFS2/CRAMFS √
嵌入式实时操作系统(RTOS)实验
1、μC/OS-II操作系统 μC/OS-II移植实验
√ 图形用户界面μC/GUI移植实验 √ μC/OS-II下任务间通讯和同步实验 √ μC/OS-II下基本GUI 编程实验 √ μC/OS-II下软件定时器实验 √ μC/OS-II基本图形控件GUI 编程实验 √ μC/OS-II下内核裁剪实验
√ μC/OS-II下多通道数据采集 √ μC/OS-II下4*4小键盘驱动程序实验 √ μC/OS-II下贪食蛇游戏设计实验 √ μC/OS-II下多任务编程实验
√ μC/OS-II下俄罗斯方块游戏设计实验 √
2、Linux操作系统
Linux 内核移植实验
√ Linux 下的定时器实验 √ Linux 基本应用程序编写实验 √ Linux 下以太网驱动实验 √ Linux 文件系统实验
(JFFS2/CRAMFS/RAMDISK)√ Linux 下SOCKET 通信实验 √ Linux 多线程应用程序设计实验 √ Linux 下USB 接口实验 √ Linux 下红外接口实验 √ Linux 下PCMCIA 接口实验 √ Linux 驱动程序编写实验 √ Linux 下录音/放音实验 √ Linux 下串口通讯实验 √ Linux 下的MP3解码播放实验 √ Linux 下中断处理实验 √ Linux 下的MPEG4解码实验 √ Linux 下I/O编程及看门狗实验 √ Linux 下的动态WEB 服务器建立 √ 嵌入式Linux 图形用户界面实验 √
MiniGUI 图形应用程序编写实验
√ Linux 下触摸屏驱动及应用实验 √ MiniGUI 图形系统移植实验 √
3、WinCE操作系统
WinCE 集成环境构建实验 √ WinCE 下应用程序实验
√ WinCE 内核定制实验 √ WinCE 多媒体播放实验 √ WinCE 和桌面系统通讯实验 √ WinCE 驱动程序实验 √ WinCE 网络通信程序设计 √
4、VxWorks操作系统 VxWorks 移植实验
√ VxWorks 串口驱动程序编写实验 √ VxWorks 网络驱动程序编写实验 √ VxWorks 应用程序编写和调试实验 √ VxWorks 多任务应用程序编写实验 √ VxWorks 网络通信程序设计 √ VxWorks 下FLASH 文件系统实验
√
高级应用实验(可选
GPRS 基础实验
√ GPRS 短消息发送实验 √ GPRS 电话功能(主叫)实验 √ GPRS 短消息接收实验 √ GPRS 电话功能(被叫)实验
√
GPS 全球卫星定位实验 √
武 汉 创 维 特 信 息 技 术 有 限 公 司 A R M 2 4 4 0 嵌 入 式 优 势 比 较 一 览 表
类型
项 目 武汉创维特 CVT-ARM-2440 优势说明
核心处理器 S3C2410S3C2440PXA270经典三核处理器兼容主板设计,外围接口全兼容。
可升级性能优越!集成开发环
境(IDE 免费赠送有自主知识产权的集成开发环境ADT,中英文版本。完全兼容ARM 公司的ADS。(见附件软件著作权证书
正版软件享有的最好的技术支持与售后服务,终生免费的软件升级。中英文版本更适合需求。
操作系统
成功移植了四个操作系统:μC/OS-II、Linux、WinCE 和VxWorks,并配套完整实验指导书与实验源码。
四个系统全部集成,按键切换。VxWorks 大学计划 美国风河公司与贵院共建VxWorks 嵌入式操作系统实验室, 可联合授牌.(见风河中国大学计划授权书及申请表等)
免费提供价值20多万元的正版VxWorks 实时操作系统软件教学,提供师资培训及项目合作
物联网 应用软件
图形界面支持Linux 内核QT2.2或QT4.5 zigbee 协议分析、创新方案、web 服务器等软件
配套ZigBee 模块,支持物联网节点模块;满足嵌入式和物联网专业。硬件配置
8寸真彩液晶屏触摸屏、100M 以太网接口、USB HOST、USB DEVICE、支持 SD MMC 卡、CF卡、PCMCI 卡、内置开关电源、独立RTC 电路、4*4键盘、数码管、LED跑马灯、并行打印口、VGA等。
接口更全,更丰富。兼顾多种专业的需求。设 备 扩展模块
ZigBee 模块、FPGA模块、GPRS模块、GPS模块 指纹识别、蓝牙、WiFi模块、DSP54xxx模块
3G 通信模块、工业传感器、UHF-900MA射频模块 13.56M-HF 射频模块、可接触式IC 卡模块
种类丰富
产品来源 华中科技大学一线老师教学实验与科研成果转化。来源于教学,更贴近、合适教学。配套 教学资料
提供实验例程加实验模板,源代码,硬件原理图。详尽的PPT 教学讲稿、实验课件以及视频教学A VI 动画。48个课时的嵌入式系统培训讲座录相。实验例程供老师教学参考、实验模板由学生实验,便于更加快捷地上手。视频教学更生动,方便学生自主学习。教程出版
《ARM 嵌入式技术及Linux 高级实践教程》 《ARM 嵌入式Vxworks 实验教程》 《ARM 嵌入式技术实验教程》
已由北航出版社出版发行, 为高院校通用教材。可提供word 档方便老师按教学需求重新编制,提供完善的实验指导书及实验代码、硬件原理图。
配 套 资 源 及 服 务 师资 培训服务 免费的不限人数的师资培训,为南京大学、解放军信息工程大学等高校定制相关系统的培训服务。
由我公司核心研发工程师来贵校进行本地化的培训。也可去武汉培训。总结
我公司该系统是目前国内市场占有率最大的产品之一。全国有包括南京大学,武汉大学,山东大学,华中科技大学,四川大学,西南交通大学,国防科技大学,湖南大学,西安电子科技大学在内的300个实验室用户。
实 验 室 共 建 方 案
针对贵校学院嵌入式系统教学及科研的特点。我们决定在为贵院配置的嵌
入式实验室方案中,增加了基于世界上时实性最好、稳定性最强的嵌入式时实操作系统VxWorks 上的相关教学及实验项目。这样在教学实验配置中,可用于学习的操作系统将达到四个,分别是:VxWorks、WinCE、linux和μC/OS-II,再加上无操作系统下基于ARM 内核和相关接口的实验项目,努力将实验室办出自己的特色,拉大与其他专业在软件方面的差距。这样不仅可以满足硬件教学要求,又增强了软件配置,在相当长的时期内也不会过时。重要的是提供的针对专业的嵌入式系统教学解决方案更先进、更全面,而且节省了购置成本。一举数得。
我公司是美国风河系统公司(Wind River)大学计划在中国区的战略合作伙伴。如贵校选中我公司的嵌入式教学实验系统作为嵌入式实验室教学平台。我公司和美国风河系统公司将与贵校共建嵌入式系统实验室,免费提供价值达20多万的正版VxWorks 嵌入式实时操作系统软件用于教学。并提供完整的教学解决方案、完全免费的师资培训及合作举办面对社会市场的收费培训班。贵院将是本地区能够进行基于VxWorks 嵌入式实时操作系统教学的极少数嵌入式系统实验室之一。并直接跨入了国内领先的嵌入式高端教学行列,此举将有助于大幅度提升贵院在国内嵌入式教学领域的知名度,实质性提升贵院的教学及科研水平,使学生的知识面更广,面对激烈的就业市场竞争,优势更明显。
武汉创维特信息技术有限公司 2012年5月1日 大 学 计 划
1.我公司和美国风河系统公司与贵院共建嵌入式系统实验室(可联合授牌,免 费提供价值达20多万的正版VxWorks 嵌入式实时操作系统软件用于教学,并提供完整的教学解决方案及相关的技术培训服务。A.提供正版VxWorks 嵌入式实时操作系统 B.提供正版的Tornado 集成开发环境
C.提供基于ARM 的VxWorks 的BSP 板级支持包
D.提供ARM 及VxWorks 的教学解决方案(《ARM嵌入式Vxworks 实验教程》及教学大纲、课件
2.与贵院相关老师进行嵌入式物联网系统科研项目方面的合作。
3.免费师资培训。贵校可派人(不限名额到华中科技大学参加我们定期举办的 全国ARM 嵌入式师资培训班,也可由华中科技大学与我公司派相关教授与高级工程师来贵校做专题培训。
4.联合举办嵌入式技术培训班。面向社会的技术培训。
5.嵌入式技术的学术交流。组织华中科技大学与国内相关院校的专家、学者与 开发人员进行嵌入式技术方面学术研讨与交流。
6.我公司可对接受培训的老师与学生颁发中国软件协会嵌入式系统分会的认 证的嵌入式开发从业人员证书。7.我公司可以与贵院共建实习基地。
8、为学校定制面向不同专业、不同应用要求的教学课件及解决方案。武汉创维特信息技术有限公司 2012年5月1日 售 后 服 务 承 诺 书
1、每台产品均建立用户档案,实时跟踪产品使用状况,定期的(每个学年)用户回访。不定期的电话回访。
2、提供不限人数的免费师资培训(具体时间及方式由贵院老师根据,本校的实际情况决定。任何便利于贵院合理的师资培训要求都是可以接受的)。对贵院老师进行培训的师资,由 本系统的培训由直接研发人员担任。
3、嵌入式教学实验平台提供三年的免费维修,并上门维护。ARM 专业级实时在
线仿真器提供三年免费维修;ADT IDE集成开发环境提供终身免费升级。
4、设备在质保期、维保期内发生故障,我方在收到通知后4小时内内维修响应,48小时内修复。如24小时内不能修复,我方免费提供备用设备。否则将相应延长质保期和维修期。3年质保期满后,再加2年免费上门服务(零部件另外收费)。
5、同一硬件三个月内连续3次出现同一故障无法完全修复,无偿更换同一档次 的设备或部件。免费质保期一年内,同一类型部件发生故障次数超过该供货部件总数的60%,需免费更换该型号的所有供货部件。提供满足货物3年正常使用的备品备件。
6、提供售后服务联系电话及联系人。免费质保期内,接到报障电话4小时内派
工程技术人员上门维修,且在24小时(连同报障电话时间计算)内修复完毕。规定时间内未处理完毕的,提供不低于同等档次货物供用户使用至故障货物能正常使用为止。如果需要更换配件的,更换的配件跟被更换的品牌、类型相一致或者是同类同档次的替代品,征得用户方管理人员同意。协助解决增加非投标方的货物和配件。
7、设备到达使用单位后,我方在收到通知三日内,派出合适的技术人员前往使
用单位进行安装调试,并由我方提供方案。
8、设备安装调试后,我方负责安装质量,由用户负责组织验收。
9、我方负责对用户进行操作、保养、维护培训。
10、质保期满后,若有零部件出现故障,经权威部门鉴定属于寿命异常问题(明
显短于该零部件正常寿命)时,则由我方负责免费更换及维修。
11、配套提供完整的实验室方案、教学大纲、实验教程、PowerPoint课件(带
视频动画)、用户手册,为您的教学计划顺利实施,扫清了一切障碍。武汉创维特信息技术有限公司 2012年5月1日 产 品 质 量 承 诺
1、教学实验开发系统为我公司自主开发,为原装正品。提供厂家完善的售后 服务及技术支持。
2、产品所用的所有模块、芯片、元器件、液晶屏、PCB、接插件,连接线均 选用原装正品。
3、产品由国内知名的军工企业(七三三厂)生产线组装完成。
4、出厂产品均经过严格检验、测试。包括四十八小时连续烤机检验。
5、每台产品均提供产品质量合格证及保修卡及详细装箱单。
6、全部货物均应按标准保护措施进行包装,确保货物安全无损运抵现场。
7、保证提供的产品为全新的未曾使用过的原装正品,保证开箱合格率为
100%,外观和内在质量都无问题。
8、完全优于招标方的软硬件技术指标要求。
9、产品到货后,我方派技术人员上门与用户方一起对产品进行安装调试、验 收。保证产品外观完好,配套的备件/附件/实验教程齐全。提供的实验,源代码及原理图等软件与标书技术指标一致。
10、保证提供的货物不侵犯任何第三方的专利、商标或版权。武汉创维特信息技术有限公司 2012年5月1日 部 分 成 功 案 例
学校名称:暨南大学 院系:计算机学院 负责人:孟小华 项目名称:共建ARM 实验系统30套
学校名称:五邑大学 院系:信息工程学院 负责人:陈 鹏 项目名称:共建ARM 实验系统40套
学校名称:华南师范大学 院系:物理电信学院 负责人:潘中良
项目名称:共建ARM 实验系统36套
学校名称:广州第二师范学院 院系:计算机系 负责人:张渝荣 项目名称:共建ARM 实验系统33套
学校名称:华南农业大学 院系:信息学院 负责人:徐东风 项目名称:共建ARM 实验系统50套
学校名称:湖南大学 院系:软件学院 负责人:金敏 项目名称:共建ARM 实验系统40套
学校名称:湖南师范大学 院系:数学与计算机学院 负责人:马天智 项目名称:共建ARM 实验系统26套 学校名称:吉首大学 院系:数学与计算机学院 负责人:饶伟栋
项目名称:共建ARM 实验系统30套
学校名称:湖南人文科技学院 院系:通信控制系 负责人:王道铸 项目名称:共建ARM 实验系统30套
学校名称:湖南城市学院 院系:计算机系 负责人:曾立波 项目名称:共建ARM 实验系统40套
学校名称:湖南第一师范学院 院系:电子系 负责人:彭善琼 项目名称:共建ARM 实验系统20套
学校名称:华中科技大学 院系:电信学院 负责人:谢瑞和 项目名称:共建ARM 实验系统36套
学校名称:武汉理工大学 院系:计算机学院 负责人:郭小兵 项目名称:共建ARM 实验系统78套
学校名称:中国地质大学 院系:电子信息实验中心 负责人:王广君 项目名称:共建ARM 实验系统35套
学校名称:武汉大学 院系:国际软件学院 负责人:董红斌
项目名称:共建ARM 实验系统20套
学校名称:华中师范大学 院系:计算机系 负责人:谭连生 项目名称:共建ARM 实验系统35套
学校名称:南京大学 院系:计算机学院 负责人:俞建新
项目名称:共建ARM 实验系统 36套
学校名称:河海大学 院系:计算机信息学院 负责人:黄凤辰 项目名称:共建ARM 实验系统30套
学校名称:上海大学 院系:自动化与信息 负责人:黄伟 项目名称:共建ARM 实验系统26套
学校名称:中国矿业大学 院系: 物理网研究中心 负责人:王刚 项目名称:共建ARM11实验系统30套
学校名称:南京航空航天大学 院系:自动化学院 负责人:肖纪立
项目名称:共建ARM 实验系统22套 学校名称:南京农业大学 院系:信息工程学院 负责人:徐焕良
项目名称:共建ARM 实验系统33套
南 京 大 学 计 算 机 系 实 验 室 方 案 用户:南京大学计算机系 课程: 《嵌入式系统及嵌入式操作系统-VxWorks》 硬件平台:JXARM9-2410-1 40 套 教学方向:本方案主要介绍嵌入式系统的基础知识,实验环节以 Vxworks 操作系统为例重在介绍嵌入式系统开发的基本过程。初期由研究生开设实 验课程,并完成一些课程设计题目。从 2007 年下学期开始本科教学,目 前正在进行四个学年的教学工作。实验指导书: 《Vxworks 常规实验指导书》,由武汉创维特和南京大学计算 机系合编 理论教材: 《嵌入式系统基础教程》,俞建新等编著,机械工业出版社出版 实验视频:由武汉创维特总工刘尚军主讲,七天的培训内容,七张 DVD。培训内容包括《嵌入式系统及嵌入式操作系统-VxWorks》及 Linux、Windows CE、uC/OS-II 操作系统的开发流程等。实验设置: 实验 1 BootRom 实验 实验 2 基于目标板的 Bootable 工程建立 实验 3 利用 u-boot 下载 VxWorks 操作系统 实验 4 Target Shell 的建立 实验 5 Tornado WindShell 的建立 实验 6 配置 VxWorks 组件的实验 实验 7 裁减 VxWorks 的映像文件实验 实验 8 VxWorks 操作系统 Cache 试验 实验 9 利用 BootRom 下载 VxWorks 操作系统 实验 10 BSP 的调试 实验 11 Cross Wind 工具实验 实验 12 VxWorks 交叉开发环境的建立 实验 13 基于模拟器的 Bootable 工程的建立 实验 14 基于模拟器的 Downloadable 工程的建立 实验 15 基于目标板的 Downloadable 工程的建立 实验 16 Tornado Browser 的使用 实验 17 实时多任务实验 实验 18 Tornado WindView 的使用 部分课程设计题目: ● 游戏_华容道_含移植说明书 ● 游戏_捉小鸡_含实验报告 ● 模拟器_路口交通信号灯_含实验报告 ● 游戏_俄罗斯方块_含实验报告 实验 19 VxSim 模拟器编程实验 实验 20 Tornado 开发环境实验 实验 21 VxWorks 中断驱动实验 实验 22 VxWorks 串口驱动实验 实验 23 VxWorks 键盘驱动实验 实验 24 VxWorks 应用程序编写和调试实验 实验 25 VxWorks 网络驱动程序编写实验 实验 26 VxWorks 网络通信程序设计 实验 27 VxWorks 移植实验 实验 28 VxWorks 定时器编程实验 实验 29 VxWorks 触摸屏驱动实验 实验 30 VxWorks 文件系统实验 实验 31 VxWorks 液晶屏显示驱动实验 实验 32 VxWorks 多任务应用程序编写实验 实验 33 VxWorks GUI 程序设计实验 实验 34 GPS 模块通信实验 实验 35 GPRS 模块通信实验
湖 南 大 学 软 件 学 院 实 验 室 方 案 用户:湖南大学软件学院 课程: 《嵌入式系统及嵌入式操作系统-VxWorks》 硬件平台:JXARM9-2410-1 40 套 教学方向:本方案主要介绍嵌入式系统的基础知识,实验环节以 Vxworks 操作系统为例重 在介绍嵌入式系统开发的基本过程从 2007 年上学期开始本科教学,已经完成多年的教学工 作,并取得了很多二次科研开发的成果。实验指导书:由武汉创维特定制 实验设置: 实验 1 实验 2 实验 3 实验 4 实验 5 VxWorks 组件的裁剪与配置 Watchdog Timer 实时时钟 A/D、D/A 接口访问 串口驱动访问 实验 6 实验 7 实验 8 实验 9 实验 10 USB 驱动访问 Nor&Nand Flash 的读写访问 嵌入式 WEB 服务器 图形系统的移植和使用 图形系统下界面的编写 解 放 军 信 息 工 程 大 学 实 验 室 方 案 用户:解放军信息工程大学 课程: 《嵌入式系统》 硬件平台:JXARM9-2410-1 20 套 教学方向:本方案主要介绍嵌入式系统的基础知识,实验环节以无操作系统以及 uC/OS-II 操作系统为例重在介绍嵌入式系统开发的基本过程。目前该课程已经开设四个学年教学。实验指导书:由武汉创维特进行定制 理论教材:由武汉创维特进行定制,内容包括: 第 1 章 ARM 构架 第 2 章 ARM 指令系统 第 3 章 ARM 嵌入式开发流程和开发工具(含 ADS 与 Multi ICE 简介)第 4 章 ARM9 硬件平台设计 第 5 章 uCOS-II 嵌入式操作系统介绍与移植 实验设置: 实验 1 实验 2 实验 3 实验 4 实验 5 实验 6 ARM 编译调试环境的安装及使用 BOOTLOADER 启动代码的设计 LCD、键盘、触摸屏实验 uC/OS-II 移植及应用编程实验 uC/OS-II平台下 LCD 操作、网络编程实验 Linux、WinCE 操作系统实验演示
中 国 矿 业 大 学 实 验 室 方 案 用户:中国矿业大学计算机学院 课程: 《嵌入式系统》 硬件平台:JXARM9-2410-1 70 套 教学方向: 本方案主要介绍嵌入式系统的基础知识,实验环节以无操作系统以为例重在介绍 嵌入式系统开发的基本过程。目前该课程已经开设了五个学年的教学工作。实验指导书: 《ARM9 嵌入式技术及 Linux 高级实践教程》 实验设置: 实验 1 数码管显示实验 实验 2 串口通讯实验 实验 3 中断实验 实验 4 步进电机实验 实验 5 LCD 显示实验 高 职 高 专 实 验 室 方 案 培养目标: 与相关企业进行订单式培养,面向嵌入式技术应用领域,中高级研发工程师、技术支持 工程师、嵌入式技术高级人才及从事产品设计开发工作的专业人才。培养方式: 通过基础理论教学与大量的实践操作环节相结合,利用先进的教学实验平台及集成开发 环境,使学生了解 32 位嵌入式系统的基本体系结构,并获取用嵌入式系统开发智能产品所 需的基本技能。如移动通讯、信息家电、智能玩具、工业控制、数控设备及音、视频技术等; 作为未来嵌入式软件工程人才,我们所培养的学生应具有解决工程问题的能力、自我知识学习和更新能力、交流沟通能力。重点培养学生首先必须并选择其中二、三个行业或典型产品 介绍使学生掌握其控制原理和方法以达到举一反三效果。嵌入式系统技术专业课程体系设置: 计算机技术专业通用基础知识与技能的课程,适度的可持续发展基础课程; 嵌入式系统与工程应用的专业知识与技能 相关应用方向的领域知识(移动通信服务终端、智能玩具、数字小设备等)知识体系结构: 基础知识+基本技能+项目实践+技术讲座 主要基础课程: 电子技术(数电)、计算机组成及接口、操作系统、数据结构、C/C++、网络技术、通 信技术,自动控制等 主要专业课程: 单片机系统、ARM 及系统组成、嵌入式操作系统、嵌入式系统设计、应用软件设计 实验实训环境选择:ARM 嵌入式系统教学实验平台,配套的开发工具: IDE 软件开发环 境,面向应用的扩展模块:GPS,GPRS,蓝牙通讯模块,摄像头模块、指纹识别模块等。典型应用案例: 常州轻工职业技术学院、苏州职业大学、芜湖职业技术学院、淮安信息职业技术学院等。
资 质 文 件 培 训 研 讨
第二篇:实习总结-嵌入式ARM
实训总结
班级 卓越1301姓名***
通过这段时间的学习使我学到了很多知识,并且了解到ARM的应用以及对开发板的应用,为以后的学习奠定了一定的基础。
嵌入式系统一般定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统这是从技术角度。从系统角度上是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。
广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。如各类单片机和DSP系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于他们没有操作系统,管理系统硬件核软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现。从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的嵌入式系统。
嵌入式的应用也比较广泛涉及军事国防、工业控制、消费电子和网络。在家用方面更是数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。
在ARM指令集中了解到ARM的寻址方式以及它的的特性,具有高效、快速的特点,还有Thumb指令集具有灵活、小巧的特点。
在这次实训中做了两个项目,一个是LED灯,实现LED灯的点亮是比较简单的,通过查找手册可以很快的了解到要使用的寄存器和方法,另一个项目是DS18B20这个比较复杂,除了要掌握对寄存器的使用,还要对了解对串口的初始化,读写字节等等。
感谢这次实训,通过这次的实训项目,使我大体了解制作项目的步骤,了解了嵌入式技术的掌握是需要一个过程的。实事求是的说,嵌入式技术的全面掌握是有相当难度的,通过积累和动手总会有收获的,从实验中也明白了一个大的项目并不是一个人可以完成的,团队协作很重要。
姓名:***
年级:卓越1301
2014-7-5
第三篇:嵌入式系统ARM实验报告
南京邮电大学通信与信息工程学院
实验报告
实验名称:实验一基于ADS开发环境的设计
实验二嵌入式Linux交叉开发环境的建立 实验三嵌入式Linux环境下的程序设计
课程名称嵌入式系统B
班级学号B13010711 姓名马俊民
开课时间 2015/2016学年第1学期
实验一基于ADS开发环境的程序设计
一、实验目的
1、学习ADS开发环境的使用;
2、学习和掌握ADS环境下的汇编语言及C语言程序设计;
3、学习和掌握汇编语言及C语言的混合编程方法。
二、实验内容
1、编写和调试汇编语言程序;
2、编写和调试C语言程序;
3、编写和调试汇编语言及C语言的混合程序;
4、编写程序测试多寄存器传送指令的用法。
三、实验原理
ADS全称为ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具。现在常用的ADS版本是ADS1.2,它取代了早期的ADS1.1和ADS1.0。
ADS用于无操作系统的ARM系统开发,是对裸机(可理解成一个高级单片机)的开发。ADS具有极佳的测试环境和良好的侦错功能,它可使硬件开发工作者更深入地从底层去理解ARM处理器的工作原理和操作方法,为日后自行设计打基础,为BootLoader的编写和调试打基础。
1.ADS软件的组成
ADS由命令行开发工具、ARM运行时库、GUI开发环境(CodeWarrior和AXD)、实用程序、支持软件等组成。
2.GUI开发环境
ADS GUI开发环境包含CodeWarrior和AXD两种,其中Code Warrior是集成开发工具,而AXD是调试工具。
使用汇编语言进行编程简单、方便,适用于初始化硬件代码、启动代码等。汇编语言具有一些相同的基本特征:
1.一条指令一行。
2.使用标号(label)给内存单元提供名称,从第一列开始书写。3.指令必须从第二列或能区分标号的地方开始书写。4.注释必须跟在指定的注释字符后面,一直书写到行尾。
在ARM汇编程序中,每个段必须以AREA作为段的开始,以碰到下一个AREA作为该段的结束,段名必须唯一。程序的开始和结束需以ENTRY和END来标识。嵌入式C语言设计是利用基本的C语言知识,面向嵌入式工程实际应用进行程序设计。为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序调用的基本规则。
四、实验过程与关键代码分析
1.创建项目工程
在File菜单中选择New命令,打开一个新建工程对话框。在Project选项卡下,选择ARM Executable Image, 然后在Project name文本框里输入项目名称,点击确定。弹出工程窗口。
选择File菜单中的New命令,选择File标签页,在File name文本框中输入要创建的文件名。汇编程序以.s结尾,c程序以.c结尾。在Location文本框中指定文件的存放位置,选中Add to Project,在Targets中选中DebugRel,单击确定关闭窗口。
2.用汇编语言设计程序实现10的阶乘
AREA EXAMPLE, CODE, READONLY ENTRY start MOV R0, #10 MOV R1, #1 LOOP MUL R0, R0, R1 SUB R0, R0, 1 CMP R0, #1 BHI LOOP END 在这个程序中,我们首先对R0和R1赋值,将R0作为一个变量,而R1作为一个存贮阶乘值的寄存器。在每进行一次乘法之后,将R0减1。同时在做完减法后进行判断,如果此时R0大于1,则返回继续乘法,否则结束程序,输出结果。
3.用调用子程序的方法实现1!+2!+3!+„+10!,代码如下: asmp.s
AREA JC, CODE, READONLY
EXPORT JCP
ENTRY JCP
ADD R3, R0, #1
MOV R2, #1
MOV R1, #1 LOOP MUL R0, R1, R2
MOV R1, R0
ADD R2, R2, #1
CMP R2, R3
BNE LOOP
NOP
NOP
MOV PC, LR
END
PROGC.c #include
int main(){ int res=0;int m=10;int i;for(i=1;i<=m;i++)
res=res+JCP(i);printf(“The result =%dn”,res);return 0;} 在这个程序中,主程序由c语言完成作求和,子程序由汇编语言写成作阶乘。
5.实现字符串的逆序复制TEXT1=“HELLO”=>TEXT2=“OLLEH”
AREA invstring, CODE, READONLY start
ADR R1,TEXT1
ADR R2,TEXT2
MOV R3, #0 LOOP
LDRB R0,[R1], #1
ADD R3,R3,#1
CMP R0,#0
BNE LOOP
SUB R1,R1,#2
LOOP1
LDRB R0,[R1], #-1
STRB R0,[R2], #1
SUB R3,R3, #1
CMP R3,#1
BNE LOOP1
MOV R5,#&55
TEXT1
TEXT2 NOP =“HELLO”,0 ALIGN =“OELLH” END
五、实验小结
在这次实验中,学会了如何使用汇编程序进行编程。对汇编程序编程一些基本的要求有了一定的了解,学习了C语言的语法和在其中调用汇编程序的方法。学会了利用CodeWarrior IDE开发C和ARM汇编代码。学会了在AXD中进行代码调试的方法和过程,对AXD的调试有初步的了解。,实验二嵌入式Linux交叉开发环境的建立
一、实验目的
1、掌握嵌入式Linux交叉开发环境的建立方法
2、学习和掌握Linux常用命令
3、学习和掌握vi编辑器的使用
二、实验内容
1、搭建嵌入式Linux交叉开发环境
2、熟悉Linux的常用命令
3、熟悉vi编辑器的常用命令
三、实验原理
Linux系统是UNIX系统的分支,是UNIX的微机版。Linux具有异常丰富的驱动程序资源,支持各种主流的硬件设备与技术。Linux包含了现代的UNIX操作系统的所有功能特性,这些功能包括多任务、虚拟内存、虚拟文件系统、进程间通信、对称所处理器、多用户支持等。
Vi编辑器是所有UNIX和Linux下的标准编辑器。它包含3种工作模式。嵌入式系统是专用的计算机系统,它对系统的功能、可靠性、成本、体积、功耗等有严格的要求。大部分嵌入式系统没有大容量存储设备,一般不能安装大型开发软件,系统的开发需要采用交叉开发模式。
四、实验过程与关键代码分析
实验用的是UP-NetARM2410-S试验箱,里面配有三星的芯片S3c2410X。打开电脑上VMWare软件,在Windows系统下启动虚拟机里的Linux系统。接着需要
1.宿主机的环境搭建
下载并运行VMWare,根据向导创建一台新虚拟机并选择Linux作为客户操作系统,再根据向导安装RedHat Linux 9.0。
2.虚拟机中启动Linux操作系统
使用root登陆,用户名为root,密码为123456。之后对共享文件设置进行调整:打开settings界面,打开shared folders功能,同时将路径设置到有课前下载的软件的目录下。
3.开发工具软件的安装(1)安装gcc 打开Linux后,打开终端窗口,在共享的目录下找到install.sh并运行,命令如下: ls./ install.sh 安装程序将自动建立/arm2410s目录,并将所有的开发软件包安装到/arm2410s 目录下,同时自动配置编译环境,建立合适的符号链接。安装完成后在目录/opt/host/armv4l/bin/下应该能看到主编译器。(2)配置PATH路径
vi.bash.profile 将里面PATH变量改为PATH=$PATH:$HOME/bin:/opt/host/armv41/bin/;存盘后执行
source.bash_profile 以后armv4l-unknown-linux-gcc将被自动搜索到
4.宿主机上的开发环境配置(1)配置IP地址
ifconfig eth0 192.168.0.121 命令配置了宿主机的IP地址。然后打开网络配置窗口,重新探测MAC地址。重新激活。(2)关闭防火墙
单击“Red”菜单→“系统设置”→“安全级别”→打开“安全级别配置”窗口,选择“无防火墙选项。”(3)配置NFS。
单击“Red”菜单→“系统设置”→“服务器设置”→“服务”,在“服务配置”窗口中勾选nfs,单击“开始”(4)NFS设置
单击“Red”菜单→“系统设置”→“服务器设置”→“NFS服务器”,打开“NFS服务器配置”窗口,设置NFS共享。
然后在NFS服务器中增加主机IP地址的链接许可和目录。完成配置。
5.目标机的信息输出
Windows系统下,“开始”→“所有程序”→“附件”→“通讯”→“超级终端”,新建一个通信终端。区号、电话号码随意输入。设置每秒位数为“115200”,数据位为“8”,无奇偶校验,停止位为“1”,无数据流控制。单击“确定”。
6.程序的运行
打开超级终端,启动Linux,屏幕显示:
[/mnt/yaffs] 在超级终端上执行挂载命令:
[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 挂载成功后可执行程序。
五、实验小结
在这次实验中,学会建立Linux交叉开发环境,学会了ls和vi,cd等常用的Linux命令,并掌握了Vi编辑器的使用方法。同时知道了如何在搭建失败时寻找错误进行排错。
实验三嵌入式Linux环境下的程序设计
一、实验目的
1、掌握嵌入式Linux环境下的程序设计方法
2、学会编写Makefile文件
二、实验内容
1、熟悉嵌入式教学实验箱的使用
2、编写C程序和Makefile文件
3、编译程序产生可执行程序
4、完成主机的挂载和程序的执行
三、实验原理
在嵌入式Linux环境下的程序设计方法有一下几个步骤:
1.编写源程序
2.编写Makefile文件 3.编译程序
4.运行和调试程序
5.将生产的可执行文件加入文件系统。
前三个步骤在宿主机上完成,后面的步骤在目标机上完成。
四、实验过程与关键代码分析
1.建立工作目录
mkdir hello cd hello
2.编写源程序
用vi编辑器编辑Hello.c文件
vi Hello.c 在Vi中输入源程序如下:
#include
printf(“hello world n”);}
3.编写Makefile文件
vi Makefile 在vi中编辑Makefile文件如下:
CC= armv4l-unknown-linux-gcc EXEC = hello OBJS = hello.o CFLAGS += LDFLAGS+=-static all: $(EXEC)$(EXEC):(OBJS)$(CC)$(LDFLAGS)–o $@ $(OBJS)clean:
-rm –f $(EXEC)*.elf *.gdb *.o
4.编译程序
在hello目录下运行“make”来编译程序。
make clean
make 编译成功后,生成可执行文件Hello.o。
5.下载调试
在宿主机上启动nfs服务,并将/arms2410s设置为共享目录。接下来启动超级终端,建立通讯,挂载。
[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 挂载成功后,进入/mnt/nfs,再进入/mnt/nfs/hello,直接运行刚刚编译生成的可执行文件Hello.o,查看运行结果
cd hello./hello 可以看见“Hello world”
只需要挂载一次便可,只要实验箱没有重启,就可以一直保持连接。反复修改、编译、调试,直至程序调试通过。
6.可执行文件加入文件系统
程序调试通过后,可以把可执行文件拖放到usr/bin目录下,然后使用mkcramfs制作工具生成新的文件系统。当系统启动后,就可以在相应目录下执行可执行程序hello.五、实验小结 在这次实验中,学会了在嵌入式Linux环境下设计程序。同时知道了如何对目标机进行挂载。以及如何在发现挂载不成功寻找错误进行修改。另外在编译文件时需要注意的也都有所了解。
实验四多线程程序设计
一、实验目的1、2、二、实验内容1、2、3、4、三、实验原理
四、实验过程与关键代码分析
五、实验小结
3+
第四篇:ARM嵌入式基础教程知识点总结
1、举出书本中未提到的嵌入式在每种异常模式下都有一个对统:嵌入式μCLinux、Windows 系统的例子:红绿灯控制,数字应的物理寄存器——程序状态CE、VxWorks、μC/OS-II 空调,机顶盒、键盘、鼠标、扫保存寄存器SPSR。当异常出现
18、ARM是什么样的公司?它是描仪 时,SPSR用于保存CPSR的状态,一家微处理器行业的知名企业,2、嵌入式系统:嵌入到对象体以便异常返回后恢复异常发生该企业设计了大量高性能、廉系中的专用专用计算机应用系时的工作状态。价、耗能低的RISC处理器。特统。特点:嵌入性、内含计算机、12、ARM7TDMI 产生异常的条点是只设计芯片,而不生产。它专用性。件?ARM的异常有哪几种,各进将技术授权给世界上许多著名
3、嵌入式处理器:为完成特殊入何种工作模式?他们退出各的半导体、软件和OEM厂商,并的应用而设计的特殊目的的处采用什么指令? 提供服务。理器。嵌入式处理器分为三类:答:当正常的程序被暂时中止,19、RISC是精简指令集计算机的1)注重尺寸,能耗,价格2)关处理器就进入异常模式。1)复缩写。CISC是复杂指令集计算机注性能3)关注全部四个需求。位异常(管理模式);2)未定的缩写。集体分为四类:嵌入式微处理义指令异常(未定义模式);3)20、ARM处理器核:ARM7系列、器、嵌入式微控制器、嵌入式DSP 软件中断异常(管理模式);4)ARM9系列、ARM10系列、ARM1130、寄存器CPSR,SPSR的功能
各是什么?
答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存 CPSR的状态,以便异常返回后恢复异常发生时的工作状态。
31、LPC2000系列ARM7微控制器具有哪两种低耗模式?如何降处理器、嵌入式片上系统
4、嵌入式操作系统:是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的发展而来的。首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。
5、ARM7TDMI中的T高密度 16 位的Thumb指令集扩展、D支持片上调试、M64 位乘法指令、Embedded ICE 硬件仿真功能模块
6、ARM7TDMI采用三级流水线(取指 译码 执行)。存储器编址方式:使用了冯·诺依曼结构,指令和数据共用一条32 位总线。
7、处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。
8、ARM的处理器模式:用户模式(usr)-正常程序执行的模式。快中断模式(fiq)-FIQ异常响应时进入此模式。中断模式(irq)-IRQ异常响应时进入此模式。、管理模式(svc)-系统复位和软件中断响应时进入此模式。中止模式(abt)-用于虚拟存储及存储保护。未定义模式(und)-未定义指令异常响应时进入此模式。系统模式(sys)-与用户类似,但有直接切换到其它模式等特权。状态:ARM状态,32 位,这种状态下执行的是字方式的ARM 指令。Thumb状态,16 位,这种状态下执行半字方式的 Thumb 指令。
9、堆栈指针R13(SP):用于保存堆栈的出入口地址,保存待使用寄存器的内容。链接寄存器R14(LR):当使用BL指令调用子程序时返回地址将自动存入R14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址,其他时候为通用寄存器。程序计数器R15(PC):R15总是指向正在“取值”的指令。
10、ARM状态和Thumb状态的寄存器之间的关系:1)R0-R7相同;2)CPSR相同,Thumb状态无SPSR。Thumb状态下不能更新CPSR中的ALU标志位。Thumb指令对R8-R15寄存器访问受限。
11、ARM7TDMI(-S)寻址方式: 1)寄存器寻址2)立即寻址3)寄存器移位寻址4)寄存器间接寻址5)基址寻址6)多寄存器寻址7)堆栈寻址8).相对寻址.寄存器CPSR,SPSR的功能各是什么?答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2)指令预取中止异常(中止模式);系列、Intel的XScale系列和5)数据访问中止(中止模式);MPCore系列。6)快速中断请求(FIQ模式);
21、LPC2000系列器件有几种常7)外部中断请求(IRQ模式)。见的封装形式和其封装特点?异常返回指令:1)SWI,未定义常见的封装有64脚封装,144脚的返回:MOVS PC,R14;2)IRQ,FIQ,封装,功耗低,有多个32位定预取中止的返回:SUBS 时器,多达9个外部中断,16KPC,R14,#4;3)数据中止返回并字节静态RAM,1/128/256k字节重新存取:SUBS PC,R14,#8异常片Flash存储器,128为宽度接中断的优先级:复位(最高优先口加速器,4路10位ADC或8路级)--> 数据异常中止--->FIQ 10位ADC(64脚和144脚封装),---> IRQ--->预取指异常中止46或76~112个GPIO(64脚和--->SWI---->未定义指令(包括144脚封装)。缺协处理器)。
22、简要说明一下LPC2000系列
13、小端存储器组织是较高的有器件片内存储器的特点?片内效字节存放在较高的存储器地存储器分为片内Flash和片内静址,较低的有效字节存放在较低态RAM。片内Flash通过128位的存储器地址(同同小)。大端宽度的总线与ARM内核相连,具存储器组织是较高的有效字节有很高的速度,特有的存储器加存放在较低的存储器地址,较低速功能,可以将程序直接放在的有效字节存放在较高的存储Flash上运行。SRAM支持8位、器地址(正反大)。16位和32位的读写访问。
14、描述一下LPC2210的PO.14、23、存储器重映射是为了实现引P1.20、P1.26、BOOT1和BOOT0导块和异常向量表地址的固定。引脚在芯片复位时分别有什么重映射引导块,有利于用户调用作用?并简单说明LPC2000系列其中的某些程序,增加代码的可ARM7微控制器的复位处理流程。移植性;异常向量表重映射为了 P0.14的低电平强制片内引能让ARM内核通过访问0x0000~导装载程序复位后控制器件的0x003F地址访问到其他存储区操作,即进入ISP 状态。P1.20域的向量表。的低电平使 P1.25~P1.16复
24、LPC2000系列ARM7微控制器位后用作跟踪端口。P1.26的对向量表有什么要求(向量表中低电平使 P1.31~P1.26复位的保留字)? 后用作一个调试端口。当RESET 向量表中有一个空隙以确保软为低时,BOOT0 与BOOT1 一同控件能与不同的ARM结构兼容;表制引导和内部操作。引脚的内部中异常入口地址处放置的是跳上拉确保了引脚未连接时呈现转指令,已转向中断子程序。FIQ高电平。外部复位输入:当该引地址要放在向量表的最后。脚为低电平时,器件复位,I/O25、FLASH是128位宽度的接口,口和外围功能进入默认状态,处通过存储器加速模块提高其访理器从地址0 开始执行程序。复问速度。位信号是具有迟滞作用的TTL
26、FIQ、IRQ有什么不同?向量电平。IRQ和非向量IRQ有什么不同?
15、LDR/STR指令的偏移形式有FIQ是快速中断,具有最高优先哪4种?LDRB和LDRSB有何区级,中断处理转入FIQ模式;IRQ别? 是普通中断,优先级低于FIQ,1)零偏移;2)前索引偏移;3)中断处理转入IRQ模式。向量IRQ程序相对偏移;4)后索引偏移。支持16个向量IRQ中断,16个LDRB:读出指定地址的数据并存优先级,能为每个中断源设置服入指定寄存器,LDRSB:读出指务程序地址;非向量IRQ支持一定地址的数据,并高24位用符个非向量IRQ中断,所有中断都号位扩展,再存入指定寄存器。共用一个相同的服务程序入口
16、ARM7TDMI指令集包括1)ARM地址。指令集:指令32位,效率高,27、LPC2000系列芯片共有共有代码密度低,所有ARM指令都是4个外接中断输入,它们既可以可以有条件执行的。Thumb指令是IFQ也可以是IRQ。集:指令16位,代码密度高,28、LPC2000系列芯片常用的开Thumb指令仅有一条指令具备条发工具:ADS、IAR、JATG、ISP 件执行功能保持ARM的大多数性
29、嵌入式处理器的最小系统是能上的优势,是ARM指令集的子指提供嵌入式处理器运行所必集。须的条件的电路与嵌入式处理
17、广泛使用的三种类型的操作器共同构成的系统。嵌入式处理系统:多道批处理操作系统、分器的最小系统的基本电路包含:时操作系统以及实时操作系统。时钟系统、供电系统、复位及其常见的4种嵌入式实时操作系配置系统、存储器系统(可选)、调试测试系统(可选)。
低系统的功耗?空闲和掉电。目前大多数电路采用CMOS工艺,静态功耗很小,可以忽略,起主要作用的是动态功耗,因此降低功耗主要从降低动态功耗入手。低功耗设计技术:低功耗器件、低功耗电路形式、降低或动态改变处理器的时钟频率、降低持续工作电流、减少处理器工作时间、采用快速算法。
32、内部寄存器特点:ARM7TDMI处理器内部有37个用户可见的寄存器,31个通用32位寄存器,6个状态寄存器。这些寄存器不能在同一时间被访问,究竟何时才能访问上述寄存器完全取决于处理器状态和模式。
33、用户模式CPSR模式位的值:1000034、系统模式CPSR模式位的值:1111134、列举异常向量的向量地址。复位 0x00000000未定义 0x00000004软件中断 0x00000008
中止 0x0000000c中止(数据)0x00000010保留 0x00000014IRQ 0x00000018FIQ0x0000001c35、异常优先级顺序:复位数据中止FIQIRQ中止未定义 SWI36、最大中断延时27个周期,最小中断延时4个周期 N负标志位、运算结果的第31位值,记录标志设置的结果Z零标志位、如果标志设置操作的结果为0,则置位。C进位标志位、记录无符号加法溢出,减法无错位,循环移位。V溢出标志位、记录标志设置操作的有符号溢出。控制位:I、F、T、M【4:0】中断禁止位:I、F(I=1:禁止IRQ中断F=0:禁止FIQ中断)标志位:T反映处理器的运行状态。T=1时,程序运行Thumb状态,否则运行于ARM状态。模式控制位:M【4:0】决定了处理器的运行模式
总线就是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共
路。总线的主要参数有:总线的带宽、总线的位宽、总线的工作时钟频率。
预分频功能:通过设置某个常量来控制pclk(定时器的时钟源)的分频。匹配功能:当定时器值等于预设的匹配值时,从引脚输出特定的信号。捕获功能:如果输入信号满足设定的要求,将触发捕获动作,将定时器的计数值保存到捕获寄存器中。
。除了用户模式外,其他模式均可视为特权模式。后五个为异常模式。
第五篇:ARM与嵌入式实验报告
ARM与嵌入式技术
实验报告
专业班级:通信工程
姓名:**** 学号:******
实验日期:2012年6月7日 指导老师:*****
一、实验目的
1.学习使用Embest IDE开发环境及ARM 软件模拟器;
2.掌握简单ARM 汇编指令,进一步加强对嵌入式的熟悉和了解。
二、实验设备
硬件:PC 机
软件:Embest IDE 开发环境
三、实验内容
例3:实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中; 例2:编写程序将R2的高8位传送到R3的低8位(不考虑R3的其它位); 例7:编写一段程序计算10!;
例8:串拷贝(R1指向源数据串的首地址,R0指向目的数据串的首地址)。
四、实验步骤
1)新建工程:
运行Embest IDE 集成开发环境,选择菜单项File → New Workspace,如图一,系统弹出一个对话框,键入文件名“沈”,如图二,点击OK 按钮。将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程.。
2)建立源文件:
点击菜单项File → New,如图三,系统弹出一个新的文本编辑窗,输入源文件代码。编辑完后,保存文件“沈.s”后缀,如图四。
3)添加源文件:
选择菜单项Project → Add To Project → Files,在工程目录下选择刚才建立的源文件.s后缀文件,如图五,图六。
4)基本配置:
选择菜单项Project → Settings,弹出工程设置对话框。在工程设置对话框中。① 选择Processor 设置对话框,按照图七所示,进行配置:
图七
② 选择Remote设置对话框,按照下图八所示,进行配置:
图八 ③ 选择最右边一个进行编译,显示如图九,则编译成功。
图九
④ 选择Project → Settings → Debug设置对话框,按照图十所示,进行配置:
图十 ⑤
选择
5)选择菜单项Debug →Remote Connect 进行连接软件仿真器,将存储器地址改为0x1000,如图十一,执行Debug →Download 命令下载程序,并打开寄存器窗口。打开memory 窗口,按F10进行单步跟踪,观察寄存器的数据变化并分析。最右边一个进行编译,显示如图九,则编译成功。
图十一
五、各实验的参考程序及运行结果
实验一:(例3)实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中; 1.程序代码如下:
.global _start
.text _start:
mov R0,#11
/*R0=11*/ mov R1,#22
/*R1=22*/ mov R2,#33
/*R2=33*/ mov R3,#44
/*R3=44*/ ADDS R0,R0,R2
/*R0等于低32位相加,并影响标志位*/
ADC R1,R1,R3
/*R1等于高32位相加,并加上低位进位*/ stop:
b stop.end
2.分析调试:
①download下载:
② 读入数据:
③ r0+r2→r0(低32位):
④ r1+r3→r1(带进位的加法):
实验二:(例2)编写程序将R2高8位传送到R3的低8位(不考虑R3的其它位);
1.程序代码如下:
.global _start _start: ldr r2,=0x23453401 ldr r3,=0xabcd1200 and r2,r2,#0xff000000 /*保留R2的高8位,屏蔽低24位*/ and r3,r3,#0xffffff00 /*保留R3的高24位,屏蔽低8位*/
orr r3,r3,r2,lsr #24
/*将R2的高8位传送到R3的低8位*/ stop:
b stop.end
2.分析调试:
①download下载:
②保留r2的高8位,屏蔽低24位:
③保留r3的高24位,屏蔽低8位:
④将R2的高8位传送到R3的低8位:
实验三:(例7)编写一段程序计算10!
1.程序代码如下:
.global _start.text.equ num,10 _start: mov r0,#num mov r1,r0 s1: subs r1,r1,#1
/*把r1-1放入r1*/ mul r0,r1,r0
/*r0*r1放入r0*/ cmp r1,#1
/*比较R1与1的大小*/ beq stop
bne s1 stop: b stop.end
2.分析调试:
① download下载:
② 第一次执行S1,r1=10-1=9,10*9=90,换成16进制是5a。
③ 第二次执行S1,r1=9-1=8,10*9*8=720,换成16进制是2d0。
④ 依次执行S1,到r1=1,停止,10*9*8„„*1=3628800,换成16进制是375f00。
实验四:(例8)串拷贝(R1指向源数据串首地址,R0指向目的数据串的首地址)。1.程序代码如下:.global _start.text.EQU NUM,8 _start:
LDR R0,=srcstr
/*指向源数据串R0*/
LDR R1,=dststr
/*指向目标数据串R1*/
mov R3,#NUM
/*R3=8*/
mov LR,PC
/*返回*/
B strcopy
/*调用串拷贝子程序*/ stop: b stop
strcopy:
LDRB R2,[R0],#1
/*装载字节同时更新地址*/
STRB R2,[R1],#1
/*存储字节同时更新地址*/
SUBS R3,R3,#1
CMP R3,#0
/*判断是否结束*/
BNE strcopy
/*不是,则继续*/
MOV PC,LR
/*返回*/.data
srcstr:.long 1,2,3,4,5,6,7,0
/*定义源数据串*/
dststr:.long 5,3,2,1,4,6,8,0
/*定义目的字符串*/
2.分析调试:
①单步跟踪后的结果及存储器的结果显示:
②寄存器的结果显示:
六、实验心得
今天在实验室里,学习使用Embest IDE开发环境及ARM 软件模拟器,掌握简单ARM 汇编指令,进一步加强了对嵌入式的熟悉和了解。郑老师在兢兢业业的向我们传授实践知识的同时也向我们提问相关理论问题,让我们在学习的过程加深对实践和理论两者之间的联系,知道每一个步骤的发生的原因及产生相应的结果,即对实验的来龙去脉有了更清楚的认识,为今后的学习打下了一定的基础。相信在接下来的实验中,我们会在郑老师的引导下,做起实验来更能得心应手,轻车熟驾!