程序中exit是什么意思 VFP中exit


这个问题看似让人觉得有些繁琐复杂,但实际上,它是软件开发过程中不可或缺的一部分。借助集成开发环境(IDE),我们可以简化开发流程,隐藏掉一些复杂的开发细节。

要深入理解程序编译以及STM32启动流程,我们需要手动进行程序的编译。这一过程分为以下两个步骤:

第一步:搭建编译环境

第二步:编写并编译程序

以下是开发环境的详细介绍:

环境:Windows10系统,针对STM32f103rb的开发。

搭建编译环境的目的是为了能够编译STM32的程序代码,生成STM32可执行文件。这个过程可以分为两个步骤来执行:

一、安装编译器

二、安装make工具

对于Windows10系统,适用于STM32的编译器是gcc-arm-none-eabi。这是一个面向ARM架构芯片的交叉编译器,它允许我们在自己的主机(如PC)上编写和编译代码,然后将编译后的二进制代码部署到目标嵌入式系统(如ARM架构的微控制器)上运行。

前往ARM官方网站下载并安装gcc-arm-none-eabi,使用默认选项进行安装,并在最后的完成界面勾选“add path to environment variable”,以便在系统中方便地调用该编译器。

安装完成后,我们需要测试gcc-arm-none-eabi是否正常工作。按下win+r按键输入cmd启动终端,输入相关指令查看gcc版本。如果安装成功,终端将显示gcc的版本信息。

完成编译器安装后,我们就可以开始编译C文件了。当项目源文件数量较多时,逐个手动使用gcc命令进行编译将变得非常繁琐且容易出错。这时,我们就需要引入make工具。

make工具可以看作是一个智能的批处理工具。它本身并不具备编译和链接的功能,而是通过调用makefile文件中用户指定的命令来进行编译和链接。makefile是一个脚本文件,它指定了编译和链接的规则和命令。make工具根据makefile中的指令自动进行编译和链接,大大提高了开发效率。

接下来,我们需要下载并安装make工具。在这里,我们选择wingm作为我们的make工具。解压wingm后,将其路径添加到系统环境变量PATH中,这样我们就可以在任意位置执行wingm中的指令了。

关键的一步是将wingm中的ming32-make.exe重命名为c:\MinGw\bin\make.exe。完成这一步后,我们就可以开始测试make工具了。按下win+r按键输入cmd重新启动终端,并在终端中输入相关指令查看make版本。如果一切正常,终端将显示make的版本信息。

至此,我们的编译环境搭建完成。接下来,我们可以开始编写代码并使用make工具进行批量编译了。

在开始编写代码之前,我们需要创建一个src文件夹和一个Makefile文件。在src文件夹中,我们创建main.c和test.c等C文件。然后在Makefile文件中指定编译规则和命令。

完成Makefile的编写后,我们在Makefile文件所在的路径下打开cmd,并输入make指令。make工具将根据Makefile中的指令自动进行编译和链接,生成我们需要的执行文件。

这还只是第一步。要让STM32f103rb芯片运行我们编译得到的执行文件,还需要进行三个步骤的配置:配置arm-none-eabi-gcc、编写启动文件以及编写链接文件。

配置arm-none-eabi-gcc时,我们需要在gcc指令后增加一个参数-mcpu=cortex-m3,以确保编译器输出的文件格式是STM32f103rb芯片能够执行的格式。

接下来是编写启动文件。STM32芯片的启动流程包括初始化堆栈指针SP和程序指针PC等步骤。为了完成正确的启动流程,我们需要编写一个汇编格式的启动文件。

最后是编写链接文件。仅仅增加一个启动文件并不能让STM32f103rb芯片运行我们编译得到的执行文件。我们还需要一个链接文件来告诉编译器如何将生成的代码放置在合适的位置。

通过以上步骤,我们可以实现对STM32程序的编译和在STM32芯片上的运行。这只是一个简化的概述,实际开发过程中可能还会遇到更多的问题和挑战。但只要我们掌握了这些基本知识和技能,就能够更好地进行嵌入式系统开发了。