武汉创维特arm教学系统-08_嵌入式软件系统设计

上传人:xh****66 文档编号:62503288 上传时间:2018-12-21 格式:PPT 页数:98 大小:3.99MB
返回 下载 相关 举报
武汉创维特arm教学系统-08_嵌入式软件系统设计_第1页
第1页 / 共98页
武汉创维特arm教学系统-08_嵌入式软件系统设计_第2页
第2页 / 共98页
武汉创维特arm教学系统-08_嵌入式软件系统设计_第3页
第3页 / 共98页
武汉创维特arm教学系统-08_嵌入式软件系统设计_第4页
第4页 / 共98页
武汉创维特arm教学系统-08_嵌入式软件系统设计_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《武汉创维特arm教学系统-08_嵌入式软件系统设计》由会员分享,可在线阅读,更多相关《武汉创维特arm教学系统-08_嵌入式软件系统设计(98页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统教案,武汉创维特信息技术有限公司,2018/12/21,2,提纲,1,3,2,4,5,嵌入式软件开发过程,ARM软件设计与代码分析,ARM软件开发工具ADT IDE简介,6,7,第六章 嵌入式软件系统设计,3,嵌入式系统软件开发流程,软件需求分析:确定设计任务和目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。,嵌入式软件开发过程,概要设计:描述系统如何实现所述的需求,包括软件模块的划分、系统的软件开发工具选择以及关键问题的论证等。,详细设计:详细描述各个模块的实现方法与过程,模块间接口等问题,以作为编码人员的编码准则。,编码,4,嵌入式系统的开发流程,单元调试:编码完成后

2、,对各个模块进行单元调试,以保证模块正常工作。,嵌入式软件开发过程,集成调试,5,ARM主流开发工具,Windows操作系统 ARM ADS/SDT + 调试器 GNU + Cygwin + 调试器 ARM SDT + 简易电缆 Linux操作系统 GNU + GDB,ARM软件开发工具ADT IDE简介,6,常用调试方法,软件仿真 驻留监控程序 硬件要求高,一般在硬件稳定之后进行 需要占用目标板上的一部分资源 不能对程序的全速运行进行完全仿真 JTAG仿真器 完全非插入式调试,不使用片上资源,无需目标存储器,不占用目标系统的任何端口 仿真效果更加接近于目标硬件 在线仿真器,ARM软件开发工具

3、ADT IDE简介,7,ADT for ARM集成开发系统,ARM软件开发工具ADT IDE简介,8,ADT 1000 Emulator for ARM,ARM软件开发工具ADT IDE简介,9,ADT 1000 Emulator for ARM,ARM软件开发工具ADT IDE简介,ADT Emulator for ARM是连接主机核目标机之间的硬件设备,它实现ADT IDE for ARM与目标机之间的连接。,它具有如下特征:,支持ARM核CPU,非插入式调试,无需目标存储器,不占用目标系统的任何端口,2.5V/3.3V/5V兼容电平接口,支持标准的14/20针JTAG接口,运行状态指示,

4、与主机之间通过并口连接,下载速度达到25Kbytes/S,10,ADT IDE for ARM,ARM软件开发工具ADT IDE简介,11,ADT IDE for ARM主要特征 可视化编程环境,ARM软件开发工具ADT IDE简介,支持ARM7、ARM9、SecurCore等。,运行于Windows98 、NT、2000、XP等平台。,中文、英文版本支持,可视化的源码编辑和工程管理功能,界面友好,使用方便:类似MS Visual Studio的用户界面,支持打印功能,支持文件内查找功能和Find in Files功能,12,ADT IDE for ARM主要特征 可视化编程环境,ARM软件开

5、发工具ADT IDE简介,工程管理器:ADT IDE提供图形化的工程管理工具,实现文件级、文件目录级、工程级的多级编译连接选项管理以及工程级的调试参数管理,源码编辑器:支持标准的文本编辑功能,支持C语言、汇编语言语法高亮显示,辅助编辑工具:提供一系列辅助编辑工具,方便开发人员。包括:多剪贴板工具、代码模板工具、头文件和源文件切换工具、注释工具、符号配对书写工具等多种辅助编辑工具。,13,ADT IDE for ARM主要特征 交叉编译功能,ARM软件开发工具ADT IDE简介,支持开发语言:ANSI C;Embedded C+;汇编语言,编译工具:使用著名优秀自由软件GNU的GCC交叉编译工具

6、,并经过优化和严格测试,支持C语言、汇编语言等,编译参数设置:完全图形界面方式的编译参数设置,提供可视化的设置功能。支持工程级、文件目录级、文件级编译参数设置,14,ADT IDE for ARM主要特征 调试功能,ARM软件开发工具ADT IDE简介,同时提供了图形和命令行两种调试方式,程序的单步执行,程序下载,存储区下载和上载功能。,工程级调试参数管理,支持源程序、反汇编程序和混合窗口显示,支持ARM/THUMB方式显示,具有与MS Visual Studio类似的调试菜单功能:Go,Stop,Reset,Restart,Step into,Step over,Step out,Run t

7、o Cursor等,丰富的示例程序,15,ADT IDE for ARM主要特征 调试功能,ARM软件开发工具ADT IDE简介,断点功能:支持软件断点和硬件断点,实现断点设置、断点屏蔽、断点取消、断点列表等功能,变量监视功能:随程序运行同步更新变量,即时修改变量值,可设置自动/手动刷新方式、十进制/十六进制显示,ARM各种模式的寄存器即时查看与修改,当前模式指示,寄存器值修改时红色突显,存储器查看与修改,可设置自动/手动刷新方式、字节/双字节/四字节显示、大/小端方式显示,存储器值修改时红色突显,16,ADT IDE for ARM主要特征 调试功能,ARM软件开发工具ADT IDE简介,函

8、数堆栈显示,可设置自动/手动刷新方式、十进制/十六进制显示、参数值显示,参数类型显示,板上寄存器(On Board Register)的查看和修改,可以查看支持CPU的所有板上寄存器的具体意义、当前值、各个位的意义,可设置自动/手动刷新方式、二进制/十进制/十六进制显示、大/小端方式显示,支持十进制/十六进制方式修改寄存器值,寄存器值修改时红色突显。,flash在线编程器,支持对多种flash芯片的空白检查、擦除、编程、校验等操作,支持单一操作和自动操作两种操作方式,支持8/16/32位flash访问宽度,支持多片flash同时编程,编程速度达15Kbytes/s。提供统一的flash编程接口

9、,可以方便地添加flash编程方案。,17,ADT IDE for ARM,ARM软件开发工具ADT IDE简介,ADT IDE (Arm7Lpt、Arm9Lpt、SoftSim、Arm7Simple),用户手册、编程指南,丰富例程,18,多版本支持,ARM软件开发工具ADT IDE简介,19,多工程管理,ARM软件开发工具ADT IDE简介,20,可视化编辑器,ARM软件开发工具ADT IDE简介,21,GCC交叉编译,ARM软件开发工具ADT IDE简介,22,编译器设置,ARM软件开发工具ADT IDE简介,23,汇编器设置,ARM软件开发工具ADT IDE简介,24,连接器设置,ARM

10、软件开发工具ADT IDE简介,25,调试功能,ARM软件开发工具ADT IDE简介,26,多种调试模式,ARM软件开发工具ADT IDE简介,27,断点,ARM软件开发工具ADT IDE简介,28,存储器窗口,ARM软件开发工具ADT IDE简介,29,存储区上载下载功能,ARM软件开发工具ADT IDE简介,30,寄存器观察窗口,ARM软件开发工具ADT IDE简介,31,函数调用栈窗口,ARM软件开发工具ADT IDE简介,32,变量观察窗口,ARM软件开发工具ADT IDE简介,33,命令窗口,ARM软件开发工具ADT IDE简介,34,单步调试 STEP INTO,ARM软件开发工具

11、ADT IDE简介,35,单步调试 STEP OVER,ARM软件开发工具ADT IDE简介,36,单步调试 STEP OUT,ARM软件开发工具ADT IDE简介,37,单步调试 RUN TO CURSOR,ARM软件开发工具ADT IDE简介,38,板上寄存器,ARM软件开发工具ADT IDE简介,39,板上寄存器,ARM软件开发工具ADT IDE简介,40,FLASH在线编程器,ARM软件开发工具ADT IDE简介,41,工具菜单,ARM软件开发工具ADT IDE简介,42,在线帮助,ARM软件开发工具ADT IDE简介,43,嵌入式软件开发,无操作系统的软件开发 启动代码 应用程序 基

12、于操作系统的软件开发 bootloader 操作系统移植 BSP板级支持包 应用程序开发,ARM软件设计与代码分析,44,启动代码,功能 硬件初始化 引导C代码 特征 通常用汇编语言编写 程序复位运行入口点 代码量非常小,程序流程 设置中断、异常入口 关中断 硬件寄存器初始化(GPIO配置、总线配置、PLL时钟) 初始化栈指针 数据区初始化 C入口函数调用 BL Main,ARM软件设计与代码分析,45,应用程序(无操作系统),功能 硬件驱动 应用 特征 通常用C语言或者嵌入式汇编语言编写 程序较复杂,代码量较大,ARM软件设计与代码分析,46,bootloader,功能 硬件初始化 引导操作

13、系统 下载程序(串口、网口、USB) 烧写flash 特征 程序复位运行入口点 通常用汇编语言+C语言编写 代码量较小,ARM软件设计与代码分析,47,嵌入式操作系统移植,Linux Windows CE uC/OS II uClinux Nucleus,ARM软件设计与代码分析,48,BSP板级支持包,功能 为应用程序提供统一的硬件操作接口 特征 高度硬件相关 高度依赖于具体硬件平台 各种操作系统各异,ARM软件设计与代码分析,49,应用程序开发(操作系统),功能 GUI图形、人机交互 控制 算法 特征 硬件依赖程度小 部分可仿真调试 各种操作系统各异,ARM软件设计与代码分析,50,嵌入式

14、软件设计和调试流程,编辑 创建工程 添加文件、编写程序 汇编语言加C语言 编译 配置编译、汇编和连接参数 编写连接脚本文件 编译,调试 连接调试器 下载程序 运行、调试 固化 通过仿真器烧写flash 专用或通用的编程器 通过bootloader烧写flash,ARM软件设计与代码分析,51,交叉编译,GNU交叉编译 编译.c arm-elf-gcc 汇编.S arm-elf-gas 连接.o arm-elf-ld 操作文件 汇编文件.S C文件.c 链接脚本文件ldscript 库文件.o .lib .a,生成调试格式文件.elf DWARF-1 DWARF-2 生成bin文件 elf2bi

15、n arm-elf-objcopy,ARM软件设计与代码分析,52,链接脚本,段 Text段 rodata段 data段 bss段 符号 Image_RO_Limit Image_RW_Base Image_ZI_Base Image_ZI_Limit,GCC库专用 调试信息,ARM软件设计与代码分析,53,链接脚本示例,程序在SDRAM中运行,程序在FLASH中运行,ARM软件设计与代码分析,54,GCC库,GCC库 标准C函数库lib.a -lc 标准数学函数库libm.a -lm 标准函数库的支持库libg.a -lg GCC的支持库libgcc.a -lgcc 链接排列顺序 -lm lc lgcc -lg,ARM软件设计与代码分析,55,JX44B0启动代码分析,ARM软件设计与代码分析,在基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时都从地址0x00000000开始执行,因此在这个地址处安排的通常就是系统的启动代码。 它通常也是BootLoader程序的一部分,可以在启动代码基础上编写BootLoader。 用汇编语言编写。 启动代码是在复位后运行其它程序之前运行的一段小程序。通过它,初始化硬件设备、建立内存空间的映射图(JX44B0不需要),从而将系统的软硬件环境

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号