MDK简介

1,211 阅读6分钟
      参考来源:[STM32入门教程(基于HAL库+CubeMX+MDK-ARM)](https://www.bilibili.com/video/BV1y7411m7gg?from=search&seid=10871758722642239500)

一、简单介绍      

      Keil公司开发的ARM开发工具MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。

(1)它的基本特点:

1、支持源代码的编辑、编译、程序的下载和调试等多种功能

2、编译器和器件支持包分离,可根据需求安装,减少软件大小

3、提供多种中间件,如RTOS和GUI等,提高开发效率

4、强大的仿真功能,可以仿真微控制器片内的所有资源

(2) 它的版本:

(3)集成工具集

      Keil ARM开发工具集集成了很多有用的工具,正确的使用它们,可以有助于快速完成项目开发。

(4)软件开发周期

**       µVision IDE**集成了工程管理、带交互式错误修正的编辑器、选项设置、编译工具以及在线帮助。使用µVision可以创建源文件以及将这些源文件组织成定义目标应用程序的工程。用户可将注意力全部集中在µVision集成开发环境,因为它提供了嵌入式应用程序的自动编译、汇编以及链接。

**      第一步:选择目标芯片,配置工程编译器环境**

      只有实现µVision IDE的正确配置,才能使调试工具和板卡以及编译好的代码可以成为一个有机的整体,完成正确的工作。

      第二步:C编译器和宏汇编器

      在µVision IDE中创建源文件,这些源文件将使用C编译器编译或宏汇编器汇编。编译器和汇编器处理源文件,产生可重载的目标文件。

      C编译器和宏汇编器完成的是将工程中的C语言代码或C语言代码进行编译的工作,为后面代码连接集成环境提供的库文件打下基础,如果所写的代码有语法错误,在此处会进行报错的处理。

       第三步:库管理器

      库管理器可以从编译器或汇编器产生的目标文件中创建目标库文件。库是具有特定格式和顺序的目标模块的集合,它在链接器中使用。当链接器处理库文件时,只有那些在程序中使用到的库文件目标模块才会被处理。

      库管理器在经过C编译器和宏汇编器编译的目标代码上链接库文件目标模块,为程序中使用的库函数等提供实现细节,如果调用了非库中的函数,在此步中会提示错误。

    ** 第四步:链接器/装载器**

      链接器/装载器使用目标模块创建绝对的ELF/DWARF格式文件,这些目标模块来源于库文件或编译器和汇编器产生的目标文件。绝对的目标文件或模块不包含可重载的代码或数据。所有的代码和数据都存储在固定的内存位置。绝对的ELF/DWARF文件可以在下述情况下使用:

      –编程Flash ROM或其他存储设备。

      –仿真和目标调试的µVision调试器。
      –程序测试的片内仿真器。 

     链接器/装载器可生成对应板卡上内存映射、可直接在板卡上运行的文件。

     第五步:µVision调试器

      µVision的源码级调试器非常适合快速可靠的调试。这个调试器包括一个高速的软件仿真器,它可以仿真一个包括片上外设和外部硬件的完整ARM系统。当用户从设备数据库中选择所需芯片时,它的属性将自动被配置。

      µVision的调试器为目标硬件上程序的测试提供了几种方法:

 –使用带USB-JTAG接口的Keil ULINK2仿真器进行应用程序的Flash下载和软件测试,它们是     通过集成在ARM设备中的嵌入式ICE宏单元实现的。
–使用JTAG仿真器,和Keil集成开发环境无缝连接,进行应用程序的Flash下载和软件测试
–使用高级的GDI 接口连接µVision调试器和目标系统。

     µVision调试器实现软件的仿真,可以方便的让开发人员查看代码的运行结果。

     带USB-JTAG 接口的Keil ULINK2 或是Jlink仿真器都是一个连接微机USB端口和目标硬件 JTAG调试端口的硬件,其都需要软件的驱动。

(5) µVision集成开发环境

     µVision集成开发环境包括菜单栏、工具栏、源文件显示框、对话框以及信息显示框等。µVision允许同时打开和浏览多个源文件。

     菜单栏提供了软件的全部功能;工具栏提供了软件的常用功能;工程窗口列出了工程中的全部文件;代码编辑窗口可以进行源代码的编辑;信息输出窗口显示软件操作工程中的相关信息。

   µVision有如下两种操作模式:
–编译模式: 编译所有应用程序文件,产生可执行程序。
–调试模式:为测试应用程序提供了一个功能强大的调试器。
–在这两种操作模式下都可以使用源文件编辑器修改源文件代码。调试模式下增加了一个窗口,存储了一个定制的界面层。

–Project Workspace窗口的各个页面可以访问如下内容:工程的文件和组;调试模式下CPU的寄存器;工具及工程相关的在线手册。
–Output Window 窗口的各个页面提供了如下内容: 编译信息及快速错误定位;调试 命令输入/输出控制台;带快速文件访问的文本搜索 结果。
–Memory Window 窗口以变量格式的形式显示了可以访问的内存区域。
–Watch & Call Stack Window 窗口可以浏览及修改程序变量,显示当前函数调用树。
–Workspace窗口用于文件编辑,反汇编输出窗口及调试相关信息。
–Peripheral Dialogs窗口用于观察微控制器中片上外设的状态

(6)MDK常用操作