在当前单片机开发界,众多开发者把目光聚焦于打造免费开源的开发平台,特别是针对M系列单片机。网络资料中,GCC与JLINK的搭配备受推崇,这种组合蕴藏着高效开发的潜力,值得我们详细了解其搭建流程。
工具准备基本要求
1. Download and install "gcc-arm-none-eabi-10.3-2021.10-win32.exe" from https://developer.arm.com/downloads/-/gnu-rm
2. Download and install "gnu_make-3.81.exe" from https://gnuwin32.sourceforge.net/packages/make.htm
3. If need be (probably not), also download Dependency.zip that includes the library files from https://gnuwin32.sourceforge.net/packages/make.htm
3. You may need to (I didn't) manualy add gcc path to your OS environment PATH.
ie add C:Program Files (x86)GNU Arm Embedded Toolchain10 2021.10bin
4. You may need to reboot your PC after installing the above
选择工具是首要任务。在GCC交叉编译工具链中,arm-none-eabi版本的GCC编译器,可以选择MinGW-W64、MinGW或TDM-GCC中的任意一种。这一步骤至关重要,它为后续的编译功能奠定了基础。举例来说,如果在安装时忘记勾选将arm-none-eabi-gcc的bin目录添加到PATH环境变量的选项,那么在安装完成后就需要手动添加用户变量,这是许多新手容易忽略的细节。环境变量添加的成功与否,将直接影响到是否能在命令行中正常使用arm-none-eabi-gcc命令,例如输入arm-none-eabi-gcc-v来查看版本,就能检验配置是否正确。
其次,Mingw-w64是构建开发环境时必不可少的一环。它并不仅仅提供了一个make.exe程序,这一点非常关键。在嵌入式开发领域,make的功能尤为强大。它是一种解析文件的软件,有点像自动脚本,能够根据用户需求,灵活地为gcc提供.c和.*h文件进行编译。这就意味着用户可以根据实际情况来决定哪些文件需要编译,哪些则不需要。此外,用户还可以设置诸如“编译优化等级”、“宏定义”、“警告等级”等编译选项。
Mingw-w64的下载与安装
推荐使用离线安装包来下载Mingw-w64。官方链接是下载的可靠途径,无论是官方项目主页还是官方项目页面都适用。这个工具集成了众多开源应用程序,为软件开发提供了全面的生命周期服务。有一点需要注意,选择安装版本时,例如红框中的选项,虽然都能用,但由于系统调用的细节不同,它们之间存在差异。我个人选择了i686-posix-dwarf版本,因为这个版本可能具有最佳兼容性,而且它也是在线下载器默认的安装版本。
下载完毕后,先进行解压。解压后,我们会发现一个名为bin的重要目录。这个目录需要被添加到系统环境变量Path路径中。bin目录内包含众多exe文件,它们构成了系统的GCC软件套装。为了在命令行中执行make指令时更加便捷,我们还需进行一个简单的操作——将“-make.exe”复制并更名为“make.exe”。
解压JLINK免安装包
JLINK是一款开源的片上调试器,也称作OpenOn-Chip。它能够为嵌入式设备提供调试、系统编程以及边界扫描等功能。下载JLINK的压缩包后,只需解压即可使用,无需安装,非常方便。以我为例,我把解压后的文件存放在了D盘。安装完成后,还能查看版本号,这有助于确保工具的正常运作。
添加环境变量的要点
初次搭建开发环境时,环境变量的添加常常是容易出问题的环节。以arm-none-eabi-gcc的bin目录为例,若未将其加入PATH环境变量,后续的命令行操作将无法正常调用相关命令。手动添加用户变量时,务必确保路径准确无误。同样,将Mingw-w64的bin目录添加到Path路径下,也需仔细核对,因为这关系到make.exe是否能正常运作,以及整个编译流程是否顺畅。若路径设置有误,在命令行输入make指令时,可能会出现“找不到程序”等错误提示。
还需留意,不同操作系统的环境变量配置方法可能存在差异。比如,在Windows系统里,需进入系统属性的高级系统设置来添加环境变量;而在Linux系统上,则需对特定的配置文件进行修改。操作时,务必根据自己的操作系统特点来正确操作。
验证编译工具
完成安装和设置后,检查编译工具是否运作正常至关重要。举例来说,可以执行“arm-none-eabi-gcc-v”命令来查看GCC编译器的版本。若版本信息能正确显示,即表示GCC编译器安装初步成功。至于Mingw-w64的make程序,我们可以通过创建一个包含少量.c和.h文件的简单测试项目来测试。接着,编写一个简单的Makefile文件,其中应包括设置编译模式为调试模式,以及定义源文件和目标文件等基本配置。在命令行中运行make指令,若能成功编译并生成预期的目标文件,则说明make程序的安装和配置是正确的。
此外,在JLINK的使用上,可以试着连接一块M系列的单片机开发板。观察是否能识别出该设备。若能识别,那就表明JLINK已正确安装且运作正常。
开发环境优化与常见问题
完成开发环境的搭建之后,我们还能进行一系列优化。比如,对GCC的编译选项进行更细致的调整。根据项目的具体需求,提升编译优化级别,能有效提升编译和执行的速度。对于对内存使用特别敏感的项目,适当降低编译优化级别,有助于减少内存消耗。
使用过程中,难免会遇到一些常见问题。比如,编译时可能会出现各种奇怪的警告或错误。这时,我们首先应当查看错误提示信息。若是语法错误,就得在源文件中找到并解决问题。若是链接错误,可能是因为相关库文件未正确包含,或者环境变量中库文件路径设置有误。此时,我们需要检查库文件的路径和包含情况。
你是否也投身于M系列单片机的开发之中?在搭建开发环境的过程中,你有没有哪些难以忘怀的经历?欢迎点赞、分享这篇文章,并在评论区留言,让我们一起探讨和交流。