收藏 分销(赏)

1-5章《ARM嵌入式C编程标准教程》PPT学习课件.ppt

上传人:天**** 文档编号:10245789 上传时间:2025-04-29 格式:PPT 页数:190 大小:4.25MB
下载 相关 举报
1-5章《ARM嵌入式C编程标准教程》PPT学习课件.ppt_第1页
第1页 / 共190页
1-5章《ARM嵌入式C编程标准教程》PPT学习课件.ppt_第2页
第2页 / 共190页
点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,高等学校嵌入式系统设计教材,ARM9,处理器,C,语言编程标准教程,侯殿有 才华 编著,人民邮电出版社,1,第一章,ARM,技术简介,1.1 ARM,处理器简介,ARM,处理器是一种低功耗高性能的,32,位,RISC(,精简指令系统,),处理器。本章将其从结构入手进行分析,基于目前流行的,ARM920T,核详细描述其硬件结构和编程。,ARM,处理器共有,31,个,32,位寄存器,而其中,16,个可以在任何模式下看到。它的指令为简单的加载与存储指令(从内存加载某个值,执行完操作后再将其放回内存)。,ARM,一个有趣的特点是它所有的指令都带有条件。例如用户可以测试某个寄存器的值,但是直到下次使用同一条件进行测试时,才能有条件地执行这些指令。另一个特征是可以在加载数值的同时进行算术和移位操作。它可以在几种模式下操作,包括通过使用,SWI,(,softwarinterrupt,软件中断)指令从用户模式进入到系统模式。,2,ARM,处理器是一个综合体,,ARM,公司自身并不制造微处理器。它们是由,ARM,的合作伙伴,(Intel,或,LSI),制造。,ARM,还允许将其处理器通过协处理器接口进行紧耦合。它还包括几种内存管理单元的变种,包括简单的内存保护到复杂的页面层次。,ARM,微处理器系列包括,ARM7,系列、,ARM9,系列、,ARM9E,系列、,ARM10E,系列、,SecurCode,系列和,Intel,的,Xscale,。其中,,ARM7,、,ARM9,、,ARM9E,和,ARM10E,为,4,个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。例,SecurCore,系列专门为安全要求较高的应用而设计。,3,1.1.1 ARM7,系列微处理器,ARM7,系列微处理器是低功耗的,32,位,RISC,处理器,最适合用于对价位和功耗要求较低的消费类应用。,ARM7,系列有如下特点:,具有嵌入式,ICE,RT(Internet Communications Engine-Route,因特网通信,),逻辑,调试开发方便。,极低的功耗,适合对功耗要求较低的应用,如便携式产品。,能够提供,0.9MIPS(Million Instructions Per Second,百万条,/,秒,)/MHz,的三级流水线结构。,对操作系统的支持广泛,如,Windows CE,、,Linux,、,Palm OS,等。,指令系统与,ARM9,系列、,ARM9E,系列和,ARM10E,系列兼容,便于用户的产品升级换代。,主频最高可达,130MHz,,高速的运算处理能力能胜任绝大多数的复杂应用。,4,ARM7,系列微处理器主要应用于工业控制、,Internet,设备、网络和调制解调器设备、,移动电话等多种多媒体和嵌入式应用。,ARM7,系列微处理器包括如下几种类型的核:,ARM7TDMI,、,ARM7TDMI-S,、,ARM720T,、,ARM7EJ,。其中,,ARM7TDMI,是目前使用最广泛的,32,位嵌入式,RISC,处理器,属低端,ARM,处理器核。,TDMI,的基本含义如下:,T,支持,16,位压缩指令集,Thumb(ARM,体系结构中一种,16,位的指令集,),。,D,支持片上,Debug,。,M,内嵌硬件乘法器(,Multiplier,)。,I,嵌入式,ICE,,支持片上断点和调试点。,5,1.1.2 ARM9,系列微处理器,ARM9,系列微处理器在高性能和低功耗特性方面提供最佳的表现。具有以下特点:,5,级流水,指令执行效率更高。,提供,1.1MIPS/MHz,的哈佛结构。,支持,32,位,ARM,指令集和,16,位,Thumb,指令集。,支持,32,位的高速,AMBA(Advanced Microcontroller Bus Architecture),总线接口。,全性能的,MMU,,支持,WindowsCE,、,Linux,、,Palm OS,等多种主流嵌入式操作系统。,MPU,支持实时操作系统。,支持数据,Cache(,高速缓冲存储器,),和指令,Cache,,具有更高的指令和数据处理力。,ARM9,系列微处理器主要应用于无线设备,仪器仪表,安全系统,机顶盒,高端打印机,数字照相机和数字摄像机等。,ARM9,系列微处理器包括,ARM920T,、,ARM922T,和,ARM940T,三种类型,以适用于不同的应用场合。,6,1.1.3 ARM9E,系列微处理器,ARM9E,系列微处理器的主要特点如下:,支持,DSP,指令集,适合于需要高速数字信号处理的场合。,5,级流水线,指令执行效率更高。,支持,32,位,ARM,指令集和,16,位,Thumb,指令集。,支持,32,位的高速,AMBA,总线接口。,支持,VFP9,浮点处理协处理器。,全性能的,MMU,,支持众多主流嵌入式操作系统。,支持数据,Cache,和指令,Cache,,具有更高的处理能力。,主频最高可达,300MHz,。,ARM9E,系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。,ARM9E,系列微处理器包含,ARM926EJ-S,、,ARM946E-S,和,ARM966E-S,三种类型,以适用于不同的应用场合。,7,1.1.4 ARM10E,系列微处理器,ARM10E,系列微处理器的主要特点如下:,支持,DSP,指令集,适合于需要高速数字信号处理的场合。,6,级流水线,指令执行效率更高。,支持,32,位,ARM,指令集和,16,位,Thumb,指令集。,支持,32,位的高速,AMBA,总线接口。,支持,VFP10,浮点处理协处理器。,全性能的,MMU,,支持众多主流嵌入式操作系统。,支持数据,Chche,和指令,Chche,,具有更高的处理能力。,主频最高可达,400MHz,。,内嵌并行读,/,学操作部件。,ARM10E,系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。,ARM10E,系列微处理器包括,ARM1020E,、,ARM1002E,和,ARM1026JE-S,三种类型,以适用于不同的应用场合。,8,1.1.5 ARM920T,简介,ARM920T,高缓存处理器是,ARM9 Thumb,系列中高性能的,32,位单片系统处理器。,而,ARM920T,系列微处理器包含如下几种类型的内核。,ARM9TDMI,:只有内核。,ARM940T,:由内核、高速缓存和内存保护单元,(MPU),组成。,ARM920T,:有内核、高速缓存和内存管理单元,(MMU),组成。,ARM920T,提供完善的高性能,CPU,子系统,包括以下方面:,ARM9TDMI RISC,整数,CPU,。,16K,字节指令与,16K,字节数据缓存。,指令与数据存储器管理单元(,MMU,)。,写缓冲器。,高级微处理器总线架构(,AMBA,)总线接口。,ETM,(内置追踪宏单元)接口。,9,ARM920T,中的,ARM9TDMI,内核可执行,32,位,ARM,及,16,位,Thumb,指令集。,ARM9TDMI,处理器是哈佛结构,有包括取指、译码、执行、存储及写入的,5,级流水线。,ARM920T,处理器包括以下两个协处理器。,CP14,:控制软件对调试信道的访问。,CP15,:系统控制处理器,提供,16,个额外寄存器来配置与控制缓存、,MMU,、系统保护、,时钟模式及其他系列选项。,ARM920T,处理器的主要特征如下。,ARM9TDMI,内核,,ARM v4T,架构。,两套指令集:,ARM,高性能,32,位指令集和,Thumb,高代码密度,16,位指令集。,10,5,级流水线结构,即取指(,F,)、指令译码(,D,)、执行(,E,)、数据存储访问(,M,)和写寄存器(,W,)。,16K,字节数据缓存,,16K,字节指令缓存。,写缓冲器:,16,字的数据缓冲器,,4,地址的地址缓冲器,软件控制消耗。,标准的,ARMv4,存储器管理单元(,MMU,):区域访问许可,允许以,1/4,页面大小对页面进行访问,,16,个嵌入域,,64,个输入指令,TLB,及,64,个输入数据,TLB,。,8,位、,16,位、,32,位的指令总线与数据总线。,11,1.1.6 SecurCore(,可靠内核技术,),系列微处理器,SecurCore,系列微处理器除了具有,ARM,体系结构各种主要特点外,在系统安全方面具有如下特点:,带有灵活的保护单元,确保操作系统和应用数据的安全。,采用软内核技术,防止外部对其进行扫描探测。,可集成用户自己的安全特性。,SecurCore,系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。,SecurCore,系列微处理器包含,SecurCore SC100,、,SecurCore SC110,、,SecurCore SC200,和,SecurCour SC210,四种类型,以适用于不同的应用场合。,12,1.1.7 StrongARM(,超强性能,ARM,技术,),系列微处理器,Intel StrongARM SA-1100,处理器是采用,ARM,体系结构高度集成的,32,位,RISC,微处理器。它融合了,Intel,公司的设计和处理技术,以及,ARM,体系结构的电源效率,采用在软件上兼容,ARMv4,体系结构,同时采用具有,Intel,技术优点的体系结构。,Intel StrongARM,处理器是便捷式通信产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。,13,1.2 ARM,体系结构的发展,1.2.1 ARM,体系结构的发展,在过去的十年中,,ARM,处理器经历了从简单的,ARM7TDMI,内核发展到最新,ARM11EJ-S,内核,,ARM,当前有,5,个产品系列,ARM7,、,ARM9,、,ARM9E,、,ARM10,、,SecurCore,和,ARM11,。从简单的三级流水线到先进的,8,级流水线结构。用单个时钟来进行比较,性能差别不大。,ARM11,是,ARM,家族中性能最强的一个系列。,ARM7TM,通常只能在,200MHz,以下的频率运行;,ARM11,系列处理器展示了在性能上的巨大提升,首先推出,350M500MHz,时钟频率的内核,在未来将上升到,1GHz,时钟频率。,ARM11,处理器在提供高性能的同时,也允许在性能和功耗间做权衡以满足某些特殊应用。通过动态调整时钟频率和供应电压,开发者完全可以控制这两者的平衡。在,0.13um,工艺,,1.2v,条件下,,ARM11,处理器的功耗可以低至,0.4mW/MHz,。,14,ARMv6,结构体系:,ARM11,处理器的超强性能是由一系列的架构特点所决定的。,ARMv6,是决定性能的基础。总的来说,,ARMv6,架构通过以下几点来增强处理器的性能:,多媒体处理功能扩展 ,MPEG4,编码,/,解码加快一倍 音频处理加快一倍 增强的,Cache,结构 实地址,Cache,减少,Cache,的刷新和重载 减少上下文切换的开销 增强的异常和中断处理 使实时任务的处理更加迅速 使数据共享、软件移植更简单,也有利于节省存储器空间,15,对绝大多数应用来说,,ARMv6,保持了,100%,的二进制向下兼容,使用户过去开发的程序可以进一步继承下去。,ARMv6,保持了所有过去架构中的,T,(,Thumb,指令)和,E,(,DSP,指令)扩展,使代码压缩和,DSP,处理特点得到延续;为了加速,Java,代码执行速度的,ARM Jazalle,技术也继续在,ARMv6,架构中发挥重要作用。,16,1.2.2ARM11,处理器的内核特点,ARM11,是为了更有效的提高处理器能力而设计的。该系列主要有,ARM1136J,、,ARM1156T2,和,ARM1176JZ,三个内核型号,,ARM11,处理器使用,130nm,工艺,在,2.2mm,芯片面积上和,0.24mW/MHz,的前提下主频高达,500MHz,。,ARM11,处理器以消费产品市场为目标,推出了许多新的技术,包括针对多媒体处理的,SIMD,(,Single instruction Multiple Data,单指令多数据流),用以提高安全性能的,TrustZone,(通过硬件和软件结合,为片上数据提供安全环境)技术,智能能源管理,IEM,(,In-Ear Monitoring,耳内监听),以及非常高的、超过,2600,倍,Dhrystone 2.1,标准(测量处理器的运算能力标准),MIPS,(百万条指令,/,每秒)性能的多处理器技术。,17,上面对几个,ARM,处理器内核做了简单的介绍。可以注意到,随着处理器内核技术的发展,处理器的速度越来越快,其主要得益于,ARM,流水线的技术发展。,ARM1176JZF-S,处理器专门用于包括数字电视、机顶盒、游戏机以及手机在内的家电产品和无线产品。这一处理器采用,ARM Java,加速技术、,ARM TrustZone,技术以及一个矢量浮点(,VFP,)协处理器,为嵌入式,3D,图像提供强大的加速功能。,18,1.2.3 DSP,功能,DSP,(,digital singnal processor,)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为,0,或,1,的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片 目前有很多应用要求多处理器的配置(多个,ARM,内核,或,ARM+DSP,的组合),,ARM11,处理器从设计伊始就注重更容易地与其他处理器共享数据,以及从非,ARM,的处理器上移植软件。此外,,ARM,还开发了基于,ARM11,系列的多处理器系统,MPCORE,(由二个到四个,ARM11,内核组成)。,19,1.3 ARM,体系结构的存储器格式,首先来了解,ARM,体系结构中的字长:,字(,Word,),在,ARM,体系结构中,字的长度为,32,位,而在,8,位,/16,位处理器体系结构中,字的长度一般为,16,位。,半字(,Half Word,),在,ARM,体系结构中,半字的长度为,16,位,与,8,位,/16,位处理器体系结构中字的长度一致。,字节(,Byte,),在,ARM,体系结构和,8,位,/16,位处理器体系结构中,字节的长度均为,8,位。,指令长度可以是,32,位(,ARM,状态下),也可以为,16,位(,Thumb,状态下)。,ARM920T,中支持字节(,8,位)、半字(,16,位)、字(,32,位),3,种数据类型,其中,字需要,4,字节对齐,半字需要,2,字节对齐。,ARM920T,体系结构将存储器看成是从零地址开始的字节的线性组合。从,0,字节到,3,字节放置第,1,个存储的字数据,从第,4,个字节到第,7,个字节放置第,2,个存储的字数据,依次排列。,20,作为,32,位的微处理器,,ARM920T,体系结构所支持的最大寻址空间位,4GB(2,字节,),。,ARM920T,体系结构支持两种方法存储字数据,即大端,(Big Enddian),格式和小端,(Little Enddian),格式。在大端格式中,字数据的高字节存储在低字节单元中,而字数据的低字节则存放在高地址单元中,如图,1.1,所示。在小端存储格式中,低地址单元存放的是字数据的低字节,高地址单元中,存放的是数据的高字节,如图,1.2,所示。,在基于,ARM920T,内核的嵌入式系统中,常用小端存储格式来存储字数据。,21,第一章习题与练习,1,,嵌入式控制系统按操作系统分,大致可分哪几类,每类的设计方法有什么不同?,2,,嵌入式控制不加嵌入式操作系统支持,遇到多线程或局域网问题如何解决?,3,,,ARM,体系中的字,半字和字节各占多少位(,bit,)?,4,什么是大端存储,(Big Enddian),格式和小端存储,(Little Enddian),格式,,ARM920T,内核的嵌入式系统中,常用哪种存储格式来存储字数据?,5,什么是,Thumb,指令集,?,它和,32,位,ARM,指令集的区别,?,22,第二章,ADS 1.2,开发环境创建与简介,2.1 ADS1.2,开发环境创建,2.1.1 ADS1.2,概述,ADS,是个集成开发环境,主要包括编译器、链接器、调试器、,C,和,C+,库等,是,ARM,公司推出的新一代,ARM,集成开发工具。最新版本是,ADS1.2,,该版本支持包括,Windows,和,Linux,在内的多种操作环境。,ADS1.2,的组成如下所述。,1.,编译器,ADS,提供多种编译器,以支持,ARM,和,Thumb,指令的编译,主要有:,armcc,:是,ARM C,编译器。,tcc,:是,Thumb C,编译器。,armcpp,:是,ARM C+,编译器。,tcpp,:是,Thumb C+,编译器。,armasm,:是,ARM,和,Thumb,的汇编语言编译器。,23,2.,链接器,armlink,是,ARM,链接器。该命令既可以将编译得到的一个或多个目标文件和相关的一个或多个库文件进行链接,生成一个可执行文件,也可以将多个目标文件部分链接成一个目标文件,以供进一步的链接。,3,符号调试器,armsd,是,ARM,和,Thumb,的符号调试器,能进行源码级程序调试。用户可以在用,C,或汇编语言写的代码中进行单步调试、设置断点、查看变量值和内存单元的内容。,24,4 fromELF,将,ELF,格式的文件转换为各种格式的输出文件,包括,BIN,格式映像文件、,Motorola32,位,S,格式映像文件、,Intel32,位格式映像文件和,Verilog,十六进制文件。,FromELF,命令也能够为输入映像文件产生文本信息,例如代码和数据长度。,5 armararmar,是,ARM,库函数生成器,它将一系列,ELF,格式的目标文件以库函数的形式集合在一起。用户可以把一个库传递给一个链接器以代替几个,ELF,文件。,25,6 CodeWarriorCodeWarrior,集成开发环境(,IDE,)为管理和开发项目提供了简单多样化的图形用户界面,用户可以使用,ADS,的,CodeWarriorIDE,为,ARM,和,Thumb,处理开发用,C,、,C+,或者,ARM,汇编语言编写的程序代码。,7,调试器,ADS,中含有,3,个调试器,即,AXD,、,Armsd,和,ADW/ADU,。在,ARM,体系中,可以选择多种调试方式,如,Multi-ICE,(,Multi-processor In-Circuit Emulator,)、,ARMulator,或,Angel,。,Multi-ICE,是一个独立的产品,是,ARM,公司自己的,JTAG,在线仿真器,不是由,ADS,提供的。,26,ARMulator,是一个,ARM,指令集仿真器,集成在,ARM,的调试器,AXD,中,提供对,ARM,处理器的指令集的仿真,为,ARM,和,Thumb,提供精确的模拟。用户可以在硬件尚未做好的情况下开发程序代码,利用模拟器方式调试。,Angel,是,ARM,公司常驻在目标机,Flash,中的监控程序,只需通过,RS-232C,串口与,PC,主机相连,就可以对基于,ARM,架构处理器的目标机进行监控器方式的调试。,C,和,C+,库,27,ADS,提供,ANSI C,库函数和,C+,库函数,支持被编译的,C,和,C+,代码。用户可以把,C,库中的与目标相关的函数作为自己应用程序中的一部分,重新进行代码的实现。这就为用户带来了极大的方便,针对自己的应用程序的要求,对与目标无关的库函数进行适当的裁剪。在,C,库中有很多函数是独立于其他函数的,并且与目标硬件没有任何依赖关系。对于这类函数,用户可以很容易地在汇编代码中使用。有了这些部件,用户就可以为,ARM,系列的,RISC,处理器编写和调试自己的开发应用程序了。,28,2.1.2 ADS1.2,的安装,ADS,全称为,ARM Developer Suite,,是,ARM,公司推出的新的一代,ARM,集成开发工具。现在,ADS,的最新版本是,1.2,,它取代了早期的,ADS1.1,和,ADS1.0,,该版本支持包,Windows,和,Linux,在内的多种操作系统。安装步骤如下:,在,ADS1.2,的安装盘中运行,setup.exe,,安装,ARM Developer Suite v1.2,。出现图,2-1,对话框和图,2-2,对话框,同意产权协义,选省缺安装路径,(C:Program FilesARMvADS1.2),和典型安装模式,(Typiflcation),,按,Next,进入下一步,出现选文件夹、编程语言和当前设定对话框,均按,Next,,开始安装,如图,2-3,示。,安装结束,安装许可文件(,Install License,),这一步可按安装向导进行,单击,“,下一步,”,按钮,会出现如图,2-4,和图,2-5,所示的对话框。,29,30,31,在图,2-5,对话框中选浏览(,Browser,)查许可文件,在,Program FilesARMADSV1_2license,中选,license.dat,文件并打开,单击,“,下一步,”,按钮,如图,2-6,,即可完成,ADS1.2,的安装。最后,程序还要注册,注册文件在,Program FilesARMADSV1_2,文件夹中,单击注册文件,即完成程序注册,如图,2-7,所示。,32,33,2.2 ADS,集成开发环境的使用,2.2.1,建立一个新工程,运行,ADS1.2,集成开发环境(,CodeWarrior for ARM Developer Suite,),点击,File|New,在,New,对话框中,共有,7,项,,ARM Executable Image,是,ARM,的通用模板。选中它即可生成,ARM,的执行文件,如图,2-8,所示。,34,还要在,Project name,栏中输入项目的名称,以及在,Location,中输入其存放的位置,按确定保存项目。,2.2.2,开发环境设置,在新建的工程中,选择,Debug,版本,如图,2-9,,使用,Edit|Debug Settings,菜单对,Debug,版本进行参数设置。,35,在如图,2-10,中,点击,Debug Setting,按钮,弹出,2-11,图,选中,Target Setting,36,项,在,Post-linker,栏中选中,ARM fromELF,项。按,OK,确定。这是为生成可执行的代码的初始开关。,3.,在如图,2-12,中,点击,ARM Assembler,,在,Architecture or Processer,37,栏中选,ARM920T,。这是项目选择的,CPU,类型。,4.,在如图,2-13,中,点击,ARM C Compliler,,在,Architecture or Processer,栏中选,ARM920T,。这是要编译的,CPU,核。,38,5.,在如图,2-14,中,点击,ARM linker,,在,outpur,栏中设定程序的代码段地址,以及数据使用的地址。图中的,RO Base,栏中填写程序代码存放的起始地址,,RW Base,栏中填写程序数据存放的起始地址。该地址是属于,SDRAM,的地址。,39,在,options,栏中,如图,2-15,,,Image entry point,要填写程序代码的入口地址,其他保持不变,如果是在,SDRAM,中运行,则可在,0 x30000000,0 x33ffffff,中选值,这是,64M SDRAM,的地址,但是这里用的是起始地址,所以必须把你的程序空间给留出来,并且还要留出足够的程序使用的数据空间,而且还必须是,4,字节对齐的地址(,ARM,状态)。通常入口点,Image entry point,为,0 x30000000,ro_base,也为,0 x30000000,。在,Layout,栏中,如图,2-16,,在,Place at beginning of image,框内,需要填写项目的入口程序的目标文件名,如,整个工程项目的入口程序是,2410init.s,,那么应在,Object/Symbol,处填写其目标文件名,2410init.o,,在,Section,处填写程序入口的起始段标号。它的作用是通知编译器,整个项目的开始运行,是从该段开始的。,40,41,42,6.,在如图,2-17,中,即在,Debug Setting,对话框中点击左栏的,ARM fromELF,项,在,Output file name,栏中设置输出文件名*,.bin,,前缀名可以自己取,在,Output format,栏中选择,Plain binary,,这是设置要下载到,flash,中的二进制文件。图,2-17,中使用的是,test.bin,。,43,7.,到此,在,ADS1.2,中的基本设置已经完成,可以将该新建的空的项目文件作为模板保存起来。首先,要将该项目工程文件改一个合适的名字,如,S3C2410 ARM.mcp,等,然后,在,ADS1.2,软件安装的目录下新建一个合适的模板目录名,如,,S3C2410 ARM Executable Image,,再将刚刚设置完的,S3c2410 ARM.mcp,项目文件存放到该目录下即可。,8.,新建项目工程后,就可以执行菜单,Project|Add Files,把和工程所有相关的文件加入,,ADS1.2,不能自动进行文件分类,用户必须通过,Project|Create Group,来创建文件夹,然后把加入的文件选中,移入文件夹。或者鼠标放在文件填加区,右键点击,如图,2-18,所示。,44,先选,Add Files,,加入文件,再选,Create Group,,创建文件夹,然后把文件移入文件夹内。读者可根据自己习惯,更改,Edit|Preference,窗口内关于文本编辑的颜色、字体大小,形状,变量、函数的颜色等等设置。如图,2-19,。,45,2.2.3 ADS1.2,下仿真、调试,在,ADS1.2,下进行仿真调试,首先需要一根仿真调试电缆和,JTAG,仿真器,用调试电缆把,JTAG,仿真器和上位机并口相连,,JTAG,仿真器的驱动程序为两个动态链接库,也要事先安装。,打开调试软件,AXD Debugger,。点击,File|load image,加载可执行文件,xx.axf,,打开超级终端,设置其参数为:波特率为,115200,,数据位数,8,,奇偶校验无,停止位无,1,,数据流控无。点击全速运行,在我们的例子程序中,出现图,2-20,的界面:,46,最后介绍调试按钮,调试按钮在程序进入,AXD Debugge,状态时会出现在主菜单项,主要几个调试按钮如图,2-21,所示。,图,2-21,,左起第一个是全速运行,第二个是停止运行,第三个跳入函数内部单步执行,第四个把一个函数做为一个语句单步执行,第五个跳出函数。,关于在,ADS1.2,下进行仿真调试,下面还要祥细介绍。,47,2.2.4,其他开发环境介绍,IAR,(瑞典爱亚软件技术咨询公司),Embedded Workbench for ARM,是,IAR Systems,公司为,ARM,微处理器开发的一个集成开发环境,下面简称,IAR EWARM,。比较其他的,ARM,开发环境,,IAR EWARM,具有入门容易、使用方便和代码紧凑等特点。故在这里做简单介绍。,IAR Systems,公司目前推出的最新版本是,IAR Embedded Workbench for ARM version 4.42,,并提供一个,32k,代码限制学习版或,30,天时间限制的免费评估版,可以到,IAR,公司的网站,EWARM,中包含一个全软件的模拟程序(,simulator,)。用户不需要任何硬件支持就可以模拟各种,ARM,内核、外部设备甚至中断的软件运行环境。从中可以了解和评估,IAR EWARM,的功能和使用方法。,48,IAR EWARM,中包含一个全软件的模拟程序(,simulator,)。用户不需要任何硬件支持就可以模拟各种,ARM,内核、外部设备甚至中断的软件运行环境。从中可以了解和评估,IAR EWARM,的功能和使用方法。,IAR Embedded Workbench for ARM version 4.42,是一个针对,ARM,处理器的集成开发环境,包含项目管理器、编辑器、编译连接工具和支持,RTOS,(嵌入式实时控制系统)的调试工具,在该环境下可以使用,C/C+,和汇编语言方便地开发嵌入式应用程序。,IAR EWARM,的主要模块如下:项目管理器功能强大的编辑器,高度优化的,IAR ARM C/C+Compiler,IAR ARM Assembler,1,个通用的,IAR XLINK Linker,IAR XAR,和,XLIB,建库程序和,IAR DLIB C/C+,运行库 ,IAR C-SPY,调试器(先进的高级语言调试器)命令行实用程序,49,以下介绍一下,EWARM 4.42,版本及其相关配套硬件的一些特点:,1,IAR EWAM,软件的特点,EWARM 4.42,版基本特点 完善的,ARM,内核支持最新支持到,ARM11,及,Cortex M3,内核支持的其他,ARM,内核,ARM7,(,ARM7TDMI,,,ARM7TDMI-S,,,ARM720T,),ARM9,(,ARM9TDMI,,,ARM920T,,,ARM922T,,,ARM940T,,,ARM9E,,,ARM9E-S,,,ARM926EJ-S,,,ARM946E-S,,,ARM966E-S,,,ARM968E-S,),ARM10,(,ARM10E,,,ARM1020E,,,ARM1022E,,,ARM1026EJ-S,),XScale,(,XScale,,,XScale-IR7,),50,更加客户化地提供芯片级的支持完备的各厂商,ARM,处理器的,C/C+,和汇编语言外设寄存器定义文件支持的芯片厂商有,Analog Devices,、,ARM,、,Atmel,、,Cirrus Logic,、,Freescale,、,Intel,、,NetSilicon,、,OKI,、,Philips,、,Samsung,、,Sharp,、,ST,和,TI,等支持,Analog Devices,、,Atmel,、,Freescale,、,OKI,、,Philips,、,ST,和,TI,等厂商的,ARM,处理器的,Flash Loader,程序,软件集成了,400,余个代码例程,对应于各种不同的芯片,位于,.armsrcexamples,目录下进一步改进了编译器速度优化,重写了的浮点运算库对更多嵌入式操作系统的支持新增支持,OSEK,类操作系统的,OSEK Run-Time Interface(ORTI),51,新增支持,OSE Epsilon RTOS,的,Kernel Awareness,调试新增支持,embOS,、,SMX,、,NORTi,等的支持调试器的增强功能对堆栈运行的监测功能配合,IAR J-Link,仿真器的新增功能,J-Link TCP/IP,服务器调试器和,IAR J-Link,仿真器协同配合,实现对,ARM,处理器的多核调试对,IAR J-Trace,仿真器提供全面的支持在,C-SPY,模拟器中可执行,Trace,的模拟支持同一芯片上多颗,Flash,的,Flash Loader,程序,以及通用的,Flash Loader,开发指南,52,EWARM,软件在芯片级支持方面的特色完备的各厂商,ARM,处理器的,C/C+,和汇编语言外设寄存器定义文件大量适合于嵌入式代码的编程语言扩展特性,包括存储器关键字,函数,中断函数,存储器映射,I/O,等针对评估板的例程,包含,IAR,、,Analog Devices,、,Aiji System,、,ARM,、,Atmel,、,Cirrus Logic,、,Freescale,、,Keil,、,OKI,、,Olimex,、,Pasat,、,Philips,、,Phytec,、,ST,和,TI,等厂家的开发支持,ARM,或,Thumb,模式下大至,4G,字节的应用程序每个函数都能选择在,ARM,或,Thumb,模式下编译可生成,VFP,向量浮点协处理器代码支持,Analog Devices,、,Atmel,、,Freescale,、,OKI,、,Philips,、,ST,和,TI,等厂商的,ARM,处器的,Flash Loader,程序 支持,ARM Angel Debug monitor,53,EWARM,编译器的软件特色,先进的通用编译器优化和针对特定处理器的速度优化及存储器优化功能,轻量运行库,用户可以根据需要自行配置,提供全部源代码,灵活的存储器控制,允许详细地为代码和数据分配地址,去除不需要的函数和变量,C/C+,变量和函数连接时全局类型检查,可选的校验和生成功能,用于运行时映象校验,自动将代码和数据放置到非连续的存储器区域,强大的可重定位宏汇编器,支持丰富的命令集和操作符,54,EWARM,调试器的软件特色,.,完全集成的源代码和反汇编程序调试器,.,非常细化的执行控制(函数调用级步进),.,复杂的代码和数据断点,.,丰富的数据监视功能,.Locals,,,Watch,,,Auto,,,Live Watch,和,Quick Watch,等变量查看窗口,.,寄存器和存储器查看窗口,.,支持,STL,容器,55,.C/C+,调用栈窗口,同时还可以显示将要进入的函数,.,双击调用链上的任何函数将更新编辑器、局部变量、寄存器、变量查看和反汇编窗口,以显示在该函数调用时的状态,.,跟踪功能,可以检查执行的历史记录。在跟踪窗口中移动时将更新编辑器和反汇编窗口以显示合适的位置。,.,控制台,I/O,仿真,.,中断和,I/O,模拟仿真,.,类似,C,语言的宏系统,可扩充调试器的功能,.,由主机执行的应用程序系统调用仿真,.,代码覆盖率和执行时间分析工具,.,通用的,Flash Loader,程序及开发指南,.,同时支持多颗,Flash,的,Flash Loader,程序,.,支持,OSEK Run-Time Interface(ORTI),.,提供为调试器扩充第三方功能的软件开发包,如,RTOS,调试扩充和仿真器驱动扩充,.,命令行调试工具,56,IAR C-SPY,支持的调试方法,.IAR J-Link JTAG,接口(支持所有,ARM7,和,ARM9,核,通过,USB,或,TCP/IP,连接),.RDI,接口类的第三方仿真器(,Abatron BDI1000&BDI2000,EPI Majic,Ashling Opella,Aiji,OpenICE,Signum JTAGjet,ARM Multi-ICE,等),.Macraigor Wiggler,Raven,mpDemon,和,USBdemon,等调试接口,.EPI Jeeni,仿真器支持,.IAR,的,ROM-Monitor,.ARM,公司的,Angel ROM-Monitor,(用于,Atmel,和,Cirrus Logic,的评估板),EWARM,图形化的集成开发环境的界面特色,.,分层次的工程组织,.,同一工作空间中允许存放多个工程,.,可停靠的窗口和多视图,.,源代码浏览,.,创建和维护库的工具,.,可以和源代码控制系统相集成,57,.,文本编辑器,.,支持多字节字符(汉字),.,上下文相关的帮助系统,.,根据句法着色,.,无限制的,undo/redo,.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服