《我和PIC单片机:基于PIC18》——2.2 MPLAB IDE集成开发环境

简介: 本节书摘来自华章计算机《我和PIC单片机:基于PIC18》一书中的第2章,第2.2节,作者 高显生,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 MPLAB IDE集成开发环境

MPLAB IDE软件由MICROCHIP公司出品,专门用于为其旗下的PIC单片机及dsPIC数字信号处理器开发应用程序。MPLAB IDE软件提供了一个完整的PIC开发过程支持,因此被称为集成开发环境(IDE)。为了更好地理解集成开发环境的概念,我们需要先来了解一下单片机系统的开发过程。

2.2.1 单片机系统开发过程

PIC单片机组建单片机系统时,其开发过程一般要经历以下几个步骤:

1)创建设计方案。根据所需的功能要求,决定最适合的PIC单片机型号,并设计好外围硬件电路。

2)编写源代码。在编辑器中用特定的语言来编写源代码,完成后使用汇编器或编译器将代码转换为可被PIC单片机识别的机器码(0和1的序列)。

3)测试代码。代码编写完成后,并不一定能完全按照我们的预期运行,为了去除代码中的Bug,可以通过调试器来观察程序的运行情况,查看变量和各功能寄存器在程序运行过程中的值,或者让程序分步执行以便于更加清晰地分析程序的流程。

4)烧写芯片。代码经软件调试并正确运行后,将代码烧写到单片机中,并再次验证程序在实际的硬件环境下能否正确执行。

2.2.2 MPLAB IDE及其内置组件

MPLAB IDE软件就是针对以PIC为核心的单片机系统开发的需要,将代码的编辑、编译、调试、烧写功能集成在一个软件中,成为一个完整的PIC开发平台,因此称为集成开发环境。

相比硬件投资,开发PIC的软件投资就更加节省了。我们可以从MICROCHIP公司的官方网站上下载MPLAB IDE软件免费使用,而且在目前版本的MPLAB IDE软件(V8.80)中,还附带了试用版的PICC编译器,可以用来为PIC10/12/16系列单片机开发C语言程序。不过,要想给PIC18系列单片机编写C程序,还需要额外从MICROCHIP网站上下载试用版的PICC18编译器。这里需要说明的是,PICC编译器及PICC18编译器安装完成后,会自动和MPLAB IDE集成开发环境挂接,无须人工干预,这无疑给PIC开发带来了极大的方便。

作为PIC的集成开发环境,MPLAB IDE软件包含了多个与PIC开发相关的组件,具体如图2-4所示。

1)项目管理器。PIC单片机产品线非常丰富,即使是同系列的PIC单片机,其引脚、数据存储器以及程序存储器都会有所不同。在开发过程中,必须针对选定的单片机,建立一个特定的项目,编写程序并最终生成机器码,烧写到单片机中。这个从单片机的选型、代码编写、汇编(或编译)、链接,以至于生成完整的机器码的整个过程叫作项目的建造(Build)。项目管理器就是用于管理整个建造过程的组件。

2)程序编辑器。程序管理器用于源代码的编写,是和我们关系最密切的部分。程序编辑器并不是普通的文体编辑器,而是专门为MCU编写代码而设计的,它可以识别文本中的语法结构,并采用相应的彩色编码来区分各种元素。例如C语言中的关键词等都会有相应的彩色显示。

另外,程序编辑器还支持编写源代码常用的一些操作,如查找C语言中的匹配花括号、注释程序行等,也可以在编辑器中给程序设置断点,查看寄存器或变量的值等。

image

3)汇编器和编译器。汇编器是将汇编语言翻译为机器语言的软件,而编译器则是将C或其他高级语言翻译为机器语言的软件。与PC机上使用的C编译器不同,由于单片机的存储空间有限,因此要求开发使用的汇编器或编译器,所生成的代码量应当尽量小。编译器的编译过程如图2-5所示。

image

MPLAB IDE软件在早期版本中只集成了汇编器,用于将汇编语言的源代码转换成机器码。为了适应需要,MPLAB IDE软件在近期的版本中附带了PICC的C编译器,用来为PIC10/12/16系列开发C语言程序。有了PICC编译器,用户在为PIC中低档机开发C程序时就不用额外安装第三方的编译器了,但开发PIC18系列高档机还需安装PICC18编译器。

4)链接器。链接器负责将来自汇编器、编译器生成的机器码分配到目标单片机相应的存储区中。

5)软件模拟器。软件模拟器又称软件调试器,它使用PC机的CPU来模拟单片机执行软件的过程,不需要任何硬件的配合就可以对程序进行测试,比如单步调试代码、测量代码执行时间、观察寄存器或变量值等。

6)硬件编程器及调试器。在MPLAB IDE中,支持两种类型的硬件设备即:编程器和调试器。编程器用于将软件生成的机器码(HEX文件)从PC上烧写到目标单片机的片内存储器中。调试器可以使目标单片机与源程序同步工作,单片机与其外围电路处于连接状态,用户可以实时观察硬件电路在软件执行到某一位置时的具体变化情况,其功能比单纯用软件仿真调试更为真实和直观。MPLAB IDE软件中支持的编程及仿真器有PICkit 2、PICkit 3、ICD2、ICD3等。

2.2.3  MPLAB IDE的工具链

我们已经知道,MPLAB IDE集成开发环境中包含了多个功能组件,主要有编写代码的编辑器、管理文件及设置的项目管理器、将源代码转换为机器码的汇编器或编译器,以及多种模拟单片机运行的软件和用于连接到目标单片机的硬件。这些工具的有序调用,可以完成PIC程序开发的全过程,MPLAB IDE的工具链如图2-6所示。

image

从图中我们可以看出,从编写C语言代码开始,直到生成芯片可执行的HEX文件,需要有多个开发工具的配合,具体步骤如下:

1)在编辑器中编写C源代码并包含相关头文件。

2)C源代码和PIC的头文件经C编译器转换为汇编源文件。

3)汇编源文件经汇编器产生中间机器码和占位符,并送到链接器中。

4)链接器解析这些占位符,针对不同类型的芯片,生成一个可执行的机器码文件(HEX文件),同时生成一个调试文件,供调试器使用。

5)将生成的HEX文件烧写到单片机中,或使用调试文件进行软硬件调试。

相关文章
|
4月前
|
机器学习/深度学习 IDE 开发工具
Python集成开发环境的选择
【7月更文挑战第6天】Python集成开发环境的选择
69 2
|
14天前
|
API 开发者 容器
DevEco Studio:熟练使用华为提供的集成开发环境DevEco Studio
【10月更文挑战第22天】随着HarmonyOS的普及,华为推出了官方集成开发环境DevEco Studio,以提高开发效率。本文通过开发一款天气应用的案例,详细介绍了如何使用DevEco Studio进行环境搭建、界面设计、数据绑定与交互、调试与运行等步骤,帮助开发者高效完成HarmonyOS应用开发。
66 6
|
4月前
|
Linux Apache C++
FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
该文介绍了如何在Windows环境下为FFmpeg集成SRT协议支持库libsrt。首先,需要安装Perl和Nasm,然后编译OpenSSL。接着,下载libsrt源码并使用CMake配置,生成VS工程并编译生成srt.dll和srt.lib。最后,将编译出的库文件和头文件按照特定目录结构放置,并更新环境变量,重新配置启用libsrt的FFmpeg并进行编译安装。该过程有助于优化直播推流的性能,减少卡顿问题。
109 2
FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
|
4月前
|
Linux
FFmpeg开发笔记(三十四)Linux环境给FFmpeg集成libsrt和librist
《FFmpeg开发实战》书中介绍了直播的RTSP和RTMP协议,以及新协议SRT和RIST。SRT是安全可靠传输协议,RIST是可靠的互联网流传输协议,两者于2017年发布。腾讯视频云采用SRT改善推流卡顿。以下是Linux环境下为FFmpeg集成libsrt和librist的步骤:下载安装源码,配置、编译和安装。要启用这些库,需重新配置FFmpeg,添加相关选项,然后编译和安装。成功后,通过`ffmpeg -version`检查版本信息以确认启用SRT和RIST支持。详细过程可参考书中相应章节。
84 1
FFmpeg开发笔记(三十四)Linux环境给FFmpeg集成libsrt和librist
|
3月前
|
IDE API 开发工具
通过IDE插件体验阿里云OpenAPI的高效集成, 精品礼品等你来拿!
轻量级的开放API工具——Alibaba Cloud Developer Toolkit及Alibaba Cloud API Toolkit。这些插件支持快速查阅阿里云产品的开放API,提供API调试与SDK示例生成等功能,帮助开发者轻松集成阿里云服务。您可通过JetBrains Marketplace或VS Code Marketplace搜索安装,完成身份验证后即刻体验。欢迎分享您的使用反馈,有机会获得精美礼品!
|
5月前
|
编解码 Linux
FFmpeg开发笔记(二十八)Linux环境给FFmpeg集成libxvid
XviD是开源的MPEG-4视频编解码器,曾与DivX一起用于早期MP4视频编码,但现在已被H.264取代。要集成XviD到Linux上的FFmpeg,首先下载源码,解压后配置并编译安装libxvid。接着,在FFmpeg源码目录中,重新配置FFmpeg以启用libxvid,然后编译并安装。成功后,通过`ffmpeg -version`检查是否启用libxvid。详细步骤包括下载、解压libxvid,使用`configure`和`make`命令安装,以及更新FFmpeg配置并安装。
82 2
FFmpeg开发笔记(二十八)Linux环境给FFmpeg集成libxvid
|
4月前
|
机器学习/深度学习 IDE 开发工具
Python集成开发环境
【7月更文挑战第6天】Python集成开发环境
68 1
|
5月前
|
编解码 Linux
FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp
《FFmpeg开发实战》书中指导如何在Linux环境下为FFmpeg集成libwebp以支持WebP图片编解码。首先,从GitHub下载libwebp源码,解压后通过`libtoolize`,`autogen.sh`,`configure`,`make -j4`和`make install`步骤安装。接着,在FFmpeg源码目录中重新配置并添加`--enable-libwebp`选项,然后进行`make clean`,`make -j4`和`make install`以编译安装FFmpeg。最后,验证FFmpeg版本信息确认libwebp已启用。
98 1
FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp
|
5月前
|
编解码 Windows
FFmpeg开发笔记(二十九)Windows环境给FFmpeg集成libxvid
XviD是开源MPEG-4视频编码器,与DivX相似但后者非开源。早期MP4常使用XviD或DivX编码,现已被H.264取代。在Windows上集成FFmpeg的XviD编解码库libxvid,需访问<https://labs.xvid.com/source/>下载源码,解压后在MSYS环境中配置、编译和安装。之后重新配置FFmpeg,启用libxvid并编译安装。详细步骤包括configure命令、make和make install。成功后,通过`ffmpeg -version`检查是否启用libxvid。更多音视频开发技术可参考《FFmpeg开发实战:从零基础到短视频上线》。
104 0
FFmpeg开发笔记(二十九)Windows环境给FFmpeg集成libxvid
|
5月前
|
IDE Java 编译器
07. 【Java教程】Java 集成开发环境 - IntelliJ IDEA
07. 【Java教程】Java 集成开发环境 - IntelliJ IDEA
78 1