ARM入门笔记(1)

发布者:SereneSerenity最新更新时间:2015-04-20 来源: eechina关键字:ARM  入门笔记 手机看文章 扫描二维码
随时随地手机看文章
前言

如果您是一个单片机爱好者,当见到一款功能强大、性价比高的处理器时,一定会有一股很想掌握它、运用它的冲动,起码我是这样。5年前第一次接触单片机(标准的51系列),就被它强大的功能所吸引,而痴迷于它,一直到今天。在这期间的不同时期,各种增强型51,PIC、AVR,DSP和ARM 等不同程度的吸引和诱惑着我。有的已经玩过了,有的则没有,但很想玩的这股冲动一直存在心里,特别是对ARM。记得2002年我就知道了ARM这个东东,眼睁睁地看着它一天天的火热,但由于对其开发工具及开发过程的不了解等原因一直只处于认识的阶段,尽管也曾玩过ZLG的2104开发板!可能是ZLG团队做的太出色的原因吧(详细的教材与源码,还有非常方便的工程模板),没过多久、没费多少劲就把里面的实验做完了,然后由于自已性格上的缺陷把它给扔在了一边,导致不到一个月就把大部分的东东还给了周老师。直到前段时间,让我有机会真真正正的玩起了ARM!像最初玩8051那样的尽兴(出现问题时,吃不下饭、睡不着觉的那种痛苦和解决问题后的那种畅快)。

这篇文档就是记录了我在前段时间学习、调试目前最低价的ARM核处理器—— AT91SAM7Sxx时出现的问题与解决方法。它尽量完整地记录了我从开始不懂ARM,到最终完成AT91SAM7S64各种外围实验的各个环节及整个过程,包括我在开始一个实验前的一些想法,实验目的,以及各个实验中,我以单片机的思维去思考时遇到的各种问题,和这些问题的解决方法。现将自己的一点经验以及体会拿出来与大家共同分享,一来是希望能够为那些在ARM门口徘徊迷茫的人提供一些借鉴,使他们顺利越过这道门槛;二来是希望能够抛砖引玉,以结识更多有共同爱好的朋友。由于我也是新手上路,文章中难免疏漏与错误,希望大家不吝指正,如果在调试AT91SAM7Sxx时有什么问题,欢迎大家共同讨论。

第一章  开发工具与调试环境

一.目标板

所用实验板是参考ATMEL公司官方网站上发布的《AT91SAM7S-EK Evaluation Board User Guide》设计的,相当于AT91SAM7Sxx评估测试板,主要用于各种外围实验,结构框图如图1-1所示。大家可以自己搭板子,或者直接购买现成的 AT91SAM7Sxx评估板。

1.jpg 
图1-1. 结构框图

实验板主要以AT91SAM7S64微控制器为核心,外部扩展4路模拟量输入,4个按钮和4个LED, I2C接口存储器,两个UART接口(其中一个可作程序下载的DBUG接口),1个USB设备接口。

AT91SAM7S 系列微控制器是ATMEL公司最近推出的全球首个起步价低于3美元的ARM7内核闪存控制器,共有AT91SAM7S32/64/128/256四个型号,内部分别具有32KB/64KB/128KB/256KB的Flash ROM和8KB/16KB/16KB/32KB的SRAM,无需扩展存储器;除AT91SAM7S32外,其它都集成了USB 2.0 Device,另外还有10位的ADC、12路的DMA、I2C、SPI、PWM、实时时钟等众多外围部件,功能强大,特别适合具有8位单片机基础转学 32 ARM的用户。

二.开发工具

在8位单片机的开发过程中,都会用到诸集成调试环境和仿真器。同8位单片机一样,ARM也有自己的集成开发环境和硬件访真器。本次实验就是使用ADS1.2集成开发环境和技创的TecorICE并口JTAG仿真器,使用时类似于51的仿真器直接挂接在 keil下使用那样。
我个人认为无论是ARM、DSP还是51或PIC等,其开发工具和开发过程都是类似的。简单的讲都是先在集成开发环境中编辑用户程序,然后经过编译、连接产生目标文件,再通过硬件仿真器进行仿真调试。而对于普通51仿真器与ARM仿真器,使用起来并没明显的不同,主要的差别大概在于仿真接口(或者说是仿真头)。普通51仿真器是使用与目标单片机管脚兼容的仿真头替代目标单片机,用户程序是在仿真器内部的仿真芯片上运行。 ARM核处理器内置ICE(仿真调试模块),该模块通过标准的JTAG接口引脚与ARM仿真器相连,此时ARM仿真器作为上位调试软件与ARM核芯片之间的协议转换器。用户的目标调试文件被下载到目标板上的存储器(可以是外部的或ARM处理器内部的存储器)中,通过控制目标芯片的仿真模块实现仿真调试。
关键字:ARM  入门笔记 引用地址:ARM入门笔记(1)

上一篇:ARM入门笔记(2)
下一篇:内嵌ARM核的FPGA芯片EPXA10及其在图像驱动和处理方面的应用

推荐阅读最新更新时间:2024-03-16 13:59

达人教你如何选择嵌入式操作系统
嵌入式操作系统是ARM CPU的软件基础,从8位/16位单片机发展到以arm CPU核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统的由手工编制的监控程序或调度程序,成为重要的基础组件。更重要的是嵌入式操作系统对应用程序可以起到屏蔽的作用,使应用程序员面向操作系统级开发应用软件,并易于在不同的arm核的嵌入式处理器上移植。   嵌入式操作系统都具有一定的实时性,易于裁剪和伸缩,可以适合于从ARM7到Xscale各种ARM CPU和各种档次的应用,嵌入式操作系统可以使用广泛流行的ARM开发工具,如arm公司的SDT/ADS和RealView等,也可以使用开发软件,如GCC/GDB、KDE或Eclipe开发环境,市场上还有专用的开
[嵌入式]
ARM异常---一个Uart中断的触发处理过程
首先给出一些定义: //2440addr.inc INTOFFSET EQU 0x4a000014 ;Interruot request source offset //option.inc _ISR_STARTADDRESS EQU 0x33ffff00 //2440init.s MACRO $HandlerLabel HANDLER $HandleLabel $HandlerLabel sub sp,sp,#4 ;decrement sp(to store jump address) stmfd sp!,{r0} ;PUSH the work regi
[单片机]
ARM基础知识连载之八
***************************************************** ARM编译器中预定义的宏 ***************************************************** ARM编译器预定义了一些宏,这些预定义宏对应一定的数值,有些预定义宏没有对应数值,见下表: _arm _ 使用编译器armcc,tcc,armcpp,tcpp时 _ARMCC_VERSION Ver 代表编译器版本号,其格式为: PVtbbb,其中: P为产品编号(1代表AD
[单片机]
基于ARM及CAN总线的汽车行驶记录仪的开发
引言 汽车行驶记录仪是传统汽车仪表系统的技术革新产品,涉及许多技术领域。 其核心概念及主要研究内容包括:仪表信息数字化、车内总线通讯与全车信息共享、整车统一调度以及基于全车信息的故障诊断等几个方面。相信今后汽车将会越来越多地采用各种用途的电子化仪表,功能强大的电子仪表将成为发展趋势。 汽车行驶记录仪的系统结构 如图1所示,本系统由主机和上位机管理分析软件两部分组成。其中主机部分包括:信号输入、数据保存和处理、数据显示、数据通信、复位电路和掉电保护电路等。上位机软件实现数据统计、查询、分析等功能。整个系统作为汽车CAN网络的一个节点,可以实现与其他CAN节点之间的通讯及数据传输等。 汽车行驶记录仪的硬件设计 主处理器的选择
[单片机]
DCS控制器中采用ARM处理器的冗余设计
在自动化的许多领域,有效性的要求越来越高,因而对自动化系统的容错水平的要求也变得越来越高,尤其在设备停机代价非常大的场合。为了满足这些严格的要求,在DCS系统中通常采用冗余技术,这样才能够满足这些领域所需要的安全性、可靠性和有效性的标准。 在DCS控制系统中,分布处理单元是系统关键的部分。当前这些分布处理单元的控制器往往是基于86系列CPU建构的,这种架构目前被广泛采用。但是由于86系列分布处理单元的特点,导致现在的控制器处理单元存在很多的缺点,如放热量大等。而且在封闭的环境中,这些问题始终很难解决。随着很多低功耗技术的发展和低功耗控制器的出现,分布处理单元的CPU可以有更多的选择,尤其是低功耗的控制器产生很少的热量,且可以使系统
[嵌入式]
基于ARM9的18B20温度传感器程序
18B20温度传感器,典型的时序操作器件,用51单片机写很方便,可是把这现成的程序移植到FPGA、ARM、430上面,还需要一定的翻译功底。 //------------------------------------------------------------------------------------- //函数名称:dmsec //入口参数:count //函数功能:延时子程序 //------------------------------------------------------------------------------------- void dmsec(uint count) { uchar
[单片机]
ARM学习1-LED流水灯
通过近段时间的不懈努力终于找到一个可以用来编译ARM 的Keil ,再利用Protuse软件进行模拟仿真。 开始了我的ARM学习之路 本实例是我学习ARM的第一个实例,仿真软件是利用的是Porteus,编译软件用的是Keil的RealView.MDK.3.2。 本程序是花样流水。一共有三个花样,可以通过按键选择不同的花样。通过此程序学习了ARM GPIO的处理和按键处理。 原理图: 程序代码: /*********************************************/ /* */ /* led.c: 花样流水
[单片机]
<font color='red'>ARM</font>学习1-LED流水灯
ARM为智能卡应用推出SecurCore SC300处理器
基于Cortex-M3处理器的CPU具有先进的安全特性及功耗效率 中国上海,2007年11月14日 ——ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)今日在法国巴黎举行的CARTES & Identification 2007上发布了特别为非接触式和USB智能卡以及嵌入式安全应用而设计的ARM SecurCore SC300 处理器。这一新产品是基于广受欢迎的Cortex-M3处理器,结合了目前被全球智能卡最为广泛授权使用的32位RISC CPU ——ARM SecurCore处理器已获证明的安全特性,以及Thumb-2指令集架构的代码效率,将功耗效率和性能提高了一倍。 通过与三个领先的非接触式IC供应商的合作,Se
[安防电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved