文章围绕makefile文件的编写方式,向读者讲述如何在ubuntu平台上用交叉编译链 arm-none-eabi- 编译出 STM32F4xx 系列 MCU 的执行文件。文章核心在于讲述 arm-none-eabi- 在 Makefile 中的应用过程,对比于嵌入式可视编译器 keil_v5 有什么共同点,编译思维是怎样的,并完成一个简单项目 STM32F4xx_LED-Makefile 的编译工作。 如果还没对 Makefile 入门的朋友可以查看我的另一篇文章 Hey Makefile! ,它会帮你快速上手学会写 Makefile 。
平台: Ubuntu20,STM32F407ZGT6
工具: arm-none-eabi-
初见交叉编译链
为什么要使用交叉编译链工具呢?在嵌入式开发过程中有宿主机和目标机的角色之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。简单地说,就是在一个平台上生成另一个平台上的可执行代码。
有朋友可能会问了:为什么要在一个平台上编译另一个平台的执行文件呢?不能像 PC 那样在 PC 上编译 PC 能执行的文件呢?嗯……你觉得能在 STM32 上安装一个编译工具,然后接上鼠标键盘和屏幕,编译出一个LED流水灯程序来吗?你有问过它的 Flash 和 RAM 够用吗?
说到这里,我们该用哪个交叉编译链工具呢?
gcc-arm-none-eabi
这个交叉编译链工具适用于 Arm Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7/M23/M33, Cortex-R4/R5/R7/R8/R52)系列平台。如何安装这个软件我就不赘述了,因为这个软件的安装没有什么需要注意的地方,在 Ubuntu 下只需要一句命令就可以了。
|
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_39177986/article/details/108125580 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_39177986/article/details/108125580