嵌入式系统程序设计.ppt
《嵌入式系统程序设计.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统程序设计.ppt(145页珍藏版)》请在冰豆网上搜索。
![嵌入式系统程序设计.ppt](https://file1.bdocx.com/fileroot1/2022-11/3/50e9a3be-0877-4284-a326-480d0984434d/50e9a3be-0877-4284-a326-480d0984434d1.gif)
任任课教教师:
栗:
栗华课号:
号:
0123305810-嵌入式系嵌入式系统原理及原理及应用教程用教程第四章第四章嵌入式系统程序设计嵌入式系统程序设计u本章包含嵌入式系本章包含嵌入式系统开开发平台介平台介绍,嵌入式,嵌入式汇编程程序序设计,嵌入式,嵌入式CC语言程序言程序设计及混合及混合编程。
程。
本章内容本章内容4.1嵌入式系嵌入式系统开开发流程流程4.2ARM开开发软件及件及实用工具介用工具介绍4.3ARM汇编语言程序言程序设计基基础4.4ARMCC语言程序言程序设计及混合及混合编程程1、嵌入式系统开发基本流程、嵌入式系统开发基本流程嵌入式开嵌入式开发的具体的具体过程:
程:
系系统定定义与需求分析与需求分析阶段段方案方案设计阶段段详细设计阶段段软硬件集成硬件集成测试阶段段系系统功能性能功能性能测试及可靠性及可靠性测试阶段段4.1嵌入式系统开发流程嵌入式系统开发流程开发流程图开发流程图2.嵌入式软件开发环境嵌入式软件开发环境嵌入式开发环境组成嵌入式开发环境组成交叉开交叉开发环境境软件模件模拟环境境目目标板与板与评估板估板交叉开发环境交叉开发环境嵌入式系嵌入式系统应用用软件的开件的开发属于跨平台开属于跨平台开发,因此需要一个交,因此需要一个交叉开叉开发环境。
境。
交叉开交叉开发是指在一台通用是指在一台通用计算机上算机上进行行软件的件的编辑编译,然后,然后下下载到嵌入式到嵌入式设备中运行中运行调试的开的开发方式,它通常采用宿主机方式,它通常采用宿主机/目目标机模式。
用来开机模式。
用来开发的通用的通用计算机可以算机可以选用比用比较常常见的的PC机机等,运行通用的等,运行通用的Windows等操作系等操作系统。
开开发计算机一般称算机一般称宿主机宿主机宿主机宿主机,嵌入式,嵌入式设备称称为目目目目标标机机机机,在宿主机,在宿主机上上编译好的程序,下好的程序,下载到目到目标机上运行,交叉开机上运行,交叉开发环境提供境提供调试工具工具对目目标机上运行的程序机上运行的程序进行行调试。
交叉开发环境交叉开发环境交叉开交叉开发环境一般由运行于宿主机上的交叉开境一般由运行于宿主机上的交叉开发软件、宿件、宿主机到目主机到目标机的机的调试通道通道组成。
成。
运行于宿主机上的交叉开运行于宿主机上的交叉开发软件最少必件最少必须包含包含编译调试模模块,其,其编译器器为交叉交叉交叉交叉编译编译器器器器。
作。
作为宿主机的一般宿主机的一般为基于基于x86体系的桌上型体系的桌上型计算机,而算机,而编译出的代出的代码必必须在目在目标机机处理理器体系器体系结构上运行,构上运行,这就是所就是所谓的交叉的交叉编译了。
在宿主机了。
在宿主机上上编译好目好目标代代码后,通后,通过宿主机到目宿主机到目标机的机的调试通道将通道将代代码下下载到目到目标机,然后由运行于宿主机的机,然后由运行于宿主机的调试软调试软件件件件控制控制代代码在目在目标机上运行机上运行调试。
远程调试结构图远程调试结构图3.嵌入式应用软件开发的基本流程嵌入式应用软件开发的基本流程嵌入式软件开发流程图链接器命令文件编译预处理编译器汇编器Archive工具链接器和定位器头文件(*.h,*.hpp)可重定位目标文件库文件(*.a,*.lib)头文件(*.h,*.hpp)C/C+源代码汇编源代码源文件列表源文件列表源代码编辑阶段源文件编译阶段链接与重定位调试与下载阶段重定位文件表(*.o,*.a)共享目标文件(*.o,*.a)可执行映象(*.elf,*.coff)链接映射文件(*.map)设备程序员目标开发系统软件模件模拟环境也称境也称为指令集模指令集模拟器器IIS(InstructionSetSimulator),在很多),在很多时候候为保保证项目目进度,硬件和度,硬件和软件开件开发往往同往往同时进行,行,这时作作为目目标机的硬件机的硬件环境境还没有建立没有建立起来,起来,软件的开件的开发就需要一个模就需要一个模拟环境来境来进行行调试。
模模拟开开发环境建立在交叉开境建立在交叉开发环境基境基础之上,是之上,是对交叉开交叉开发环境的境的补充。
充。
这时,除了宿主机和目,除了宿主机和目标机之外,机之外,还需要需要提供一个在宿主机上模提供一个在宿主机上模拟目目标机的机的环境,使得开境,使得开发好的程好的程序直接在序直接在这个个环境里运行境里运行调试。
软件模拟环境软件模拟环境应应用目用目用目用目标标板是系板是系板是系板是系统统最最最最终终的的的的电电路板路板路板路板。
评评估板估板估板估板(EVM(EVM板)板)一般用来作一般用来作一般用来作一般用来作为为开开开开发发者使用的学者使用的学者使用的学者使用的学习习板、板、板、板、实验实验板,板,板,板,可以作可以作可以作可以作为应为应用目用目用目用目标标板出来之前的板出来之前的板出来之前的板出来之前的软软件件件件测试测试、硬件、硬件、硬件、硬件调试调试的的的的电电路板路板路板路板。
开开发评估估电路板并不是嵌入式路板并不是嵌入式应用开用开发必必须的,的,对于有于有经验的的工程工程师完全可以自行独立完全可以自行独立设计自己的自己的应用用电路板和根据开路板和根据开发需需要要设计实验板。
板。
好的好的评估估电路板一般文档路板一般文档齐全,全,对处理器的常用功能模理器的常用功能模块和主和主流流应用都有硬件用都有硬件实现,并提供,并提供电路原理路原理图和相关开和相关开发例程与源例程与源代代码供用供用户设计自己的自己的应用目用目标板和板和应用程序作参考。
用程序作参考。
目标板与评估板目标板与评估板在嵌入式在嵌入式软件的开件的开发过程中,在确保程中,在确保软件的正确性、件的正确性、实时性的前提下,性的前提下,必必须关注关注软件的可移植性和可重用性。
件的可移植性和可重用性。
可移植性和可重用性的程度可移植性和可重用性的程度应该根据根据实际的的应用情况来考用情况来考虑。
因。
因为嵌嵌入式入式应用用软件有自身的件有自身的许多特点。
追求多特点。
追求过高的可移植性和可重用性可高的可移植性和可重用性可能会能会恶化化应用用软件的件的实时性能性能和增加和增加软件的代件的代码量,量,这对于于资源有源有限的嵌入式限的嵌入式应用用环境是得不境是得不偿失的。
失的。
我我们可以在可以在资源有限、源有限、满足系足系统的需求的情况下尽可能把可移植性和的需求的情况下尽可能把可移植性和可重用性作可重用性作为第二目第二目标,致力于开,致力于开发正确性、正确性、实时性能、代性能、代码量、可量、可移植性和可重用性相移植性和可重用性相对均衡的嵌入式均衡的嵌入式应用用软件。
件。
4.嵌入式软件开发的可移植性和可重用性嵌入式软件开发的可移植性和可重用性4.嵌入式软件开发的可移植性和可重用性嵌入式软件开发的可移植性和可重用性提高提高应用用软件的可移植性和可重用性的方法:
件的可移植性和可重用性的方法:
多用高多用高级语言少用言少用汇编语言言将不可移植部分局域化将不可移植部分局域化提高代提高代码的可重用性的可重用性提高代提高代码的可重用性的可重用性一、编译器介绍一、编译器介绍一、编译器介绍一、编译器介绍1、ADS1.22、ARMREALVIEWDEVELOPERSUITE3、IAREWARM4、KEILARM-MDKARM5、WINARM(GCCARM)二、相关开发工具介绍二、相关开发工具介绍二、相关开发工具介绍二、相关开发工具介绍1、简易的、简易的JTAG制作制作2、H-JTAG调试代理调试代理3、LPC2000系列系列ISP工具工具4、MacraigorSystemsWiggler调试工具调试工具5、J-LINK6、U-LINK4.24.21、ADS1.2uADS(ARMDeveloperSuite),是在),是在1993年由年由Metrowerks公公司开司开发是是ARM处理器下最主要的开理器下最主要的开发工具。
工具。
他的前身是他的前身是SDT,SDT是是ARM公司几年前的开公司几年前的开发环境境软件,目前件,目前SDT早已早已经不不再升再升级。
uADS包括了包括了四个模四个模四个模四个模块块分分别是:
是:
SIMULATORSIMULATOR;CC编译编译器器器器;实时实时调试调试器器器器;应应用函数用函数用函数用函数库库。
uADS对汇编、C/C+、java支持的均很好,是目前最成熟支持的均很好,是目前最成熟的的ARM开开发工具工具。
很多。
很多ARM开开发软件(例如件(例如Keil)也是)也是借用的借用的ADS的的编译器。
器。
ADS在在2006年版本已年版本已经发布到布到2.2。
但国内大部分开但国内大部分开发者使用的均是者使用的均是1.2版本版本一、一、编译器介绍编译器介绍uADS1.2提供完整的提供完整的WINDOWS界面开界面开发环境。
境。
CC编译编译器器器器效率高,支持效率高,支持效率高,支持效率高,支持cc以及以及以及以及c+c+。
uu提供提供提供提供软软件模件模件模件模拟拟仿真功能仿真功能仿真功能仿真功能,使没有,使没有Emulators的学的学习者也能者也能够熟悉熟悉ARM的指令系的指令系统。
u配合配合FFT-ICE使用,使用,ADS1.2提供提供提供提供强强大的大的大的大的实时调试实时调试跟踪功跟踪功跟踪功跟踪功能能能能,片内运行情况尽在掌握。
片内运行情况尽在掌握。
ADS1.2需要硬件支持才能需要硬件支持才能发挥强大功能。
目前支持的硬件大功能。
目前支持的硬件调试器有器有Multi-ICE以及兼以及兼容容Multi-ICE的的调试工具如工具如FFT-ICE。
uu版本:
版本:
版本:
版本:
ADS1.2ADS1.2软软件大小:
件大小:
件大小:
件大小:
130M130Mu下下载地址:
地址:
http:
/2、ARMRealViewDeveloperSuite(RVDS)ARMRealViewDeveloperSuite(RVDS)uRealViewICE主要特点:
主要特点:
uu高性能的高性能的高性能的高性能的调试调试控制控制控制控制uu通通通通过过RealViewDebuggerRealViewDebugger代代代代码码下下下下载载速度可达速度可达速度可达速度可达13001300Kbytes/Kbytes/秒秒秒秒uu高速高速高速高速单单步步步步执执行行行行,每秒可达每秒可达每秒可达每秒可达100100uu支持支持支持支持JTAGJTAG调试调试通信通道通信通道通信通道通信通道(DCC)(DCC)uu支持多种支持多种支持多种支持多种JTAGJTAG时钟频时钟频率率率率,从从从从2KH50MHZ2KH50MHZuu更低的更低的更低的更低的JTAGJTAG时钟频时钟频率率率率(低于低于低于低于1KHZ),1KHZ),支持支持支持支持ASICASIC外外外外围围电电路路路路调试调试uu宽电压宽电压支持支持支持支持1.05.0V1.05.0Vuu支持多核支持多核支持多核支持多核处处理器理器理器理器调试调试,同步控制同步控制同步控制同步控制uu配合配合配合配合RealViewTraceRealViewTrace模模模模块块插件插件插件插件可捕可捕可捕可捕获获支持支持支持支持ETMETM跟踪数跟踪数跟踪数跟踪数据据据据uu通通通通过过JTAGJTAG访问访问ETBETB跟踪数据跟踪数据跟踪数据跟踪数据uu兼容兼容兼容兼容GDBGDB与与与与KGDBKGDB调试调试uu支持支持支持支持USB1.1USB1.1与与与与2.02.0连连接接接接uu支持网支持网支持网支持网络连络连接接接接调试调试10/100baseT10/100baseTuu支持的支持的支持的支持的ARMARM处处理器:
理器:
理器:
理器:
ARM7TM,ARM9TM,ARM7TM,ARM9TM,ARM9ETM,ARM10TM,ARM11TMARM9ETM,ARM10TM,ARM11TM和和和和CortexTMCortexTMuRealViewTrace主要特性:
主要特性:
uu非插入式的非插入式的非插入式的非插入式的实时实时指