《ARM嵌入式开发实例1-22629.pptx》由会员分享,可在线阅读,更多相关《ARM嵌入式开发实例1-22629.pptx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、齐鲁工业大学1第1章 初识ARM嵌入式系统1.2 ARM嵌入式系统的开发要点与开发环境ARM 嵌入式系统的开发ARM芯片的设计ARM芯片的开发应用1.2.1 ARM嵌入式系统的开发要点齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境嵌入式系统的设计要求嵌入式系统设计开发不同于桌面系统,它非常受制于功能和具体的应用环境,所以嵌入式系统的设计具有一些特殊的要求:接口方便、操作容易 稳定可靠、维护简便 功耗管理、降低成本 功能实用、便于升级 并发处理、及时响应齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境嵌入式系统开发特点需要软硬件综合开发,二者密切相关。原因:任何一个嵌入式产品都
2、是软件和硬件的结合体 一旦嵌入式产品研发完成,软件就固化在硬件环境中,嵌入式软件是针对相应的嵌入式硬件开发的,是专用的。嵌入式系统的这一特点,决定了嵌入式应用开发方法不同于传统的软件工程方法。齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境预备知识 ARM 嵌入式系统的概念和基本结构 印刷电路板设计知识 模拟电子技术、数字电子技术等 集成开发环境 编程语言u汇编语言:ARM嵌入式指令集(初始化的启动程序)uC语言uC语言汇编语言齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境p 1、明确ARM嵌入式系统开发的过程 嵌入式软件的开发流程与通用软件的开发流程大同小异,但开发所使用的
3、设计方法具有嵌入式开发的特点。整个开发流程可分为:需求分析阶段 设计阶段 生成代码阶段 固化阶段5齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境v 需求和规格说明 嵌入式系统应用需求中最为突出的是注重应用的时效性,需求分析阶段的主要任务是:(1)对问题的识别和分析 对用户提出的问题进行抽象识别用以产生以下的需求:功能需求、性能需求、环境需求、可靠性需求、安全需求、用户界面需求、资源使用需求、软件成本与开发进度需求。(2)制订规格说明文档 经过对问题的识别,产生了系统各方面的
4、需求。通过对规格的说明,文档得以清晰、准确地描述。这些说明文档包括需求规格说明书和初级的用户手册等。(3)需求评审 需求评审作为系统进入下一阶段前最后的需求分析复查手段,在需求分析的最后阶段对各项需求进行评估,以保证软件需求的质量。需求评审的内容包括正确性、无歧义性、安全性、可验证性、一致性、可理解性、可修改性、可追踪性等多个方面。齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境嵌入式系统开发要点交叉编译器(Cross-compiler):是一种运行在通用计算机上的、但是能够生成在另一种处理器上运行的目标代码的编译器。交叉开发:在一台通用计算机上进行软件的编辑、编译,然后下载到嵌入式系
5、统中运行调试。齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境嵌入式系统开发要点 它分散在有通信连接的宿主机与目标机环境之中:宿主机(Host)是一台通用计算机,一般是PC机。它通过串口或网络连接与目标机通信。目标机(Target)可以是嵌入式应用软件的实际运行环境(可以是能替代实际环境的仿真系统)101.1 ARM嵌入式系统简介n 典型的开发环境源程序编译器目标文件链接器可执行文件齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境p 2、熟悉开发工具环境里的库函数(了解三个方面)(1)考虑硬件对库函数的支持;注意:库函数的使用并不是必须的。(2)符合目标系统上的存储器资源分布;
6、(3)应用程序运行环境的初始化;111.1 ARM嵌入式系统简介齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境p 3、熟悉ARM嵌入式系统的调试操作 调试有三种基本方法 模拟调试(Simulator)软件调试(Debugger)仿真器调试(Emulator)121.1 ARM嵌入式系统简介齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境 模拟调试(Simulator)调试工具和待调试的嵌入式软件都在主机上运行,由主机提供一个模拟的目标运行环境,可以进行语法和逻辑上的调试。优点:简单方便,不需要目标板,成本低缺点:功能非常有限,无法实时调试大多数调试工具都提供Simulator
7、功能齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境 软件调试(Debugger)(监控器方式)主机和目标板通过某种接口(通常是串口)连接,主机上提供调试界面,待调试软件下载到目标板上运行。这种方式的先决条件是要在Host和Target之间建立起通信联系(目标板上称为监控程序Monitor)优点:纯软件,价格较低,简单,软件调试能力较强 缺点:需要事先烧制Monitor(往往需多次试验才能成功)且目标板工作正常,功能有限,特别是硬件调试能力较差。PCT ar getMonitor串口齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境 仿真器方式(Emulator)这种方式用仿真器
8、完全取代目标板上的MCU,因而目标系统对开发者来说完全是透明的、可控的。仿真器与目标板通过仿真头连接,与主机有串口、并口、网口或USB口等连接方式。由于仿真器自成体系,调试时既可以连接目标板,也可以不连接目标板(Stand alone)。优点:功能非常强大,软硬件均可做到完全实时在线调试 缺点:价格昂贵。一般高档的微处理器都带JTAG(Joint Test Action Group,联合测试行动组)接口,它是一种边界扫描标准,只需5根引脚就可以实现在线仿真的功能。齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境 JTAG调试 有一个硬件调试体。该硬件调试体与目标板通过JTAG调试接口相
9、连,与主机通过串口、并口、网口或USB口相连。待调试软件通过JTAG调试器下载到目标板上运行。T ar getPC接口JT AG齐鲁工业大学17第1章 初识ARM嵌入式系统1.2.2 ARM嵌入式系统的开发环境编译器/汇编器指令系统模拟器在线仿真器或调试探测器目标开发板跟踪捕捉仪嵌入式操作系统常见的开发环境齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境18产品公司C编译器产品说明ARM公司ARM处理器在RealView开发套件中有良好的技术支持。其中RealView-ICE可以用于连接调试硬件和调试环境。KEIL公司Keil公司最早以支持8051系列单片机的开发受到广大用户的支持。而
10、在最新版本的RealView MDK开发环境中,对ARM嵌入式系统的开发具有很好的支持。其配套的仿真器是ULink和JLink。IAR System公司英文全称为IAR Embedded Workbentch for ARM and Cortex。在该开发环境中系统提供了C/C+编译器和调试器。IAR开发工具链跟Keil公司一样,主要致力于A VR单片机的嵌入式系统开发。其中,IAR配套的仿真器为JLink。Lauterbach公司提供JTAG仿真器以及JWT跟踪设备。其他CodeSourcery公司推出的支持ARM嵌入式系统的GNU工具链。该工具链在市场上占有较小的份额,未能在嵌入式行业大面
11、积推广。常见ARM嵌入式系统C编译器最流行、最通用齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境1.2.1 Keil MDK简介uKeil开发环境是德国知名公司Keil(现已并入ARM公司)开发的嵌入式微控制器软件开发平台,也是目前ARM嵌入式单片机开发的主流工具。在该软件平台中,uVision的界面与微软VC+的界面类似,具有友好的人机交互环境,启动界面如右图所示。19齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境 在uVision开发工具链中包含了指令模拟器,用户可以通过使用该功能来模拟“纯粹”的ARM嵌入式代码,即用户不需要外部硬件平台的支持也可以在软件平台中模拟代码
12、的运行,基本的界面框架如右图所示。20RealView MDK用户操作界面齐鲁工业大学Keil平台开发周期Keil平台开发ARM嵌入式软件,开发周期与其他的平台环境的开发周期是类似的,大致有以下几个步骤:1.创建新的项目工程,选择正确的目标芯片,对工程项目参数进行配置;2.编写C语言代码或汇编程序代码,并添加到项目工程文件中;3.对项目工程进行编译、连接和调试;4.修改源代码中的语法错误和逻辑错误,重新编译至正确5.与硬件联机调试至无误;211.2 ARM嵌入式系统的开发要点与开发环境齐鲁工业大学步骤一创建/打开工程文件步骤二选择ARM嵌入式芯片步骤三 添加源代码文件步骤四 编译程序步骤五 程
13、序的调试221.2.3 Keil MDK开发步骤1.2 ARM嵌入式系统的开发要点与开发环境齐鲁工业大学231、创建/打开工程文件 在Keil MDK开发环境中,用户可以通过选择“New Project”下拉菜单来创建一个新的工程,如右图所示。此时,系统会弹出一个对话框,要求为新建的项目工程起一个名字。在菜单中创建新的工程将新创建的工程命名为“test”1.2 ARM嵌入式系统的开发环境齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境242、选择ARM嵌入式芯片 在创建完存放工程代码的文件夹后,用户就可以根据实际的工程需要,选择需要的ARM嵌入式芯片。在建立工程项目文件后,用户需要在该
14、工程项目内添加源程序代码。选择菜单“File”|“New”或者点击工具栏上的新建文件按钮,就可以在项目工程窗口的右侧打开一个新的文本编辑窗口,用户可以在该窗口中输入程序代码。在编辑完代码之后,用户需要将其保存为源文件,选择菜单“File”|“Save”或者点击工具栏的保存文件按钮,可以实现对源文件的保存操作。在源文件编辑完成之后,用户还需要将编写好的源文件添加到新建的项目工程中去。3、添加源代码文件齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境25添加源文件到项目工程中齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境26添加源代码对话框选择其中的“Add File To Gr
15、oup Source Group1”,系统弹出一个文件对话框,用户可以在对话框中输入源文件的路径,点击“确定”后就完成了对源文件的添加操作,具体如右图所示。特别需要提醒读者注意的是,在添加文件的时候,由于对话框不会自动关闭,经常会被误认为添加文件操作没有成功而在此双击添加同一个文件,引起不必须要的错误,系统也会弹出相应的错误提示对话框,如右图所示。重复添加源代码后的错误提示齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境4、编译程序 在程序代码编辑完之后就可以进入编译阶段,用户可以通过菜单、工具栏和浮动菜单等多种方式对源代码进行编译操作。同时,在Keil MDK平台中,用户还可以通过批处理文件进行相应的编译操作。一般实际的项目工程需要进行批处理的操作不是很多,有兴趣的读者可以通过Keil MDK的技术支持文档查看具体的操作步骤,在这里就不再赘述了。27齐鲁工业大学1.2 ARM嵌入式系统的开发要点与开发环境28一般而言,项目工程文件通过编译器的编译后,只 能说明当前的代码没有语法错误。但在实际的调试过程中,除了编译器能识别的语法错误,还可能存在其他的错误,如逻辑功能错误等。用户必须通过调试才能发现问题并解决。5、程序的调试MDK调试窗口界面