特点
“工欲善其事,必先利其器”
嵌入式软件开发工具的集成度和可用性将直接关系到嵌入式系统的开发效率。
操作系统映像文件由引导程序加载到内存中运行;
运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。
开发环境
- 交叉开发环境由宿主机和目标机组成
- 软件
- 文本编辑器
- 交叉编译器
- 交叉调试器
- 仿真器
- 下载器等
指用于嵌入式开发的所有软硬件工具的集合
宿主机:开发软件的平台,普通台式机
目标机:运行软件的平台,嵌入式系统
- 嵌入式软件的调试
- 调试工具,嵌入式软件都在主机上
- 主机提供模拟的目标运行环境
- 主机和目标板通过接口(串口)连接
- 主机提供调试界面,软件下载到目标板运行
- 先决条件
- 需要一个硬件调试体
- 调试体——BDM,JTAG接口——目标板
- 调试体——串口,并口,网口,USB口——主机
- 待调试软件通过BDM/JTAG调试器下载到目标板上运行
- 用仿真器完全取代目标板上的处理器
- 仿真器——仿真头——目标板
- 仿真器——串口,并口,网口,USB口——主机
调试的四种基本方法
模拟调试(Simulator)
优点:简单方便,不需要目标板,成本低
缺点:功能非常有限,无法实时调试
软件调试(Debugger)
Host和Target建立通信联系
优点:纯软件,价格较低,简单,软件调试能力较强
缺点:需要事先烧制Monitor(往往需多次试验才能成功)且目标板工作正常,功能有限,特别是硬件调试能力较差。
BDM/JTAG调试
优点:方便、简单,无须制作Monitor,软硬件均可调试
缺点:需要目标板,且目标板工作基本正常(至少MCU工作正常),仅适用于有调试接口的芯片
全仿真调试
由于仿真器自成体系,调试时既可以连接目标板,也可以不连接目标板(Stand alone)。
优点:功能非常强大,软硬件均可做到完全实时在线调试
缺点:价格昂贵。
- 调试器分类
基本开发流程
- 生成
在宿主机运行,进行编辑,交叉编译,链接工作生成可调试或固化的目标程序
三个过程
- 编写源代码
- 编译各目标模块
- 链接成可供下载调试或固化的目标程序
- 调试
通过交叉调试器完成软件的调试工作。调试完成后还需进行必要的测试工作。
- 固化运行
先用一定的工具将应用程序固化到目标机上,然后启动目标机,在没有任何工具干预的情况下应用程序能自动地启动运行。
STM3开发平台简介
详见:
- 《零死角玩转STM32-F103指南者.pdf》之 第2章 如何安装 KEIL5
- 《嵌入式微处理器结构与应用实验指导书》之 实验 1 熟悉实验平台及开发环境
补充
作业
- 什么是交叉开发环境?嵌入式系统有哪几种常用的调试方法?
- 简述嵌入式软件开发与通用的桌面软件开发的不同之处。简述嵌入式软件开发的特点。
- 简述嵌入式操作系统在嵌入式软件开发中的作用。
集成开发环境MDK的基本使用;
阅读简单的应用程序