ARM - GCC - 建立自己的命令行编译环境

文章目录

NXP - GCC - 建立自己的命令行编译环境

概述

在编译Smoothieware工程时,看到工程为了能稳定编译过,下载了特定版本的arm-gcc到工程目录中。

尝试在工程外部建立工具链,以后不管哪个工程,都用自己的工具链,直接编译就行。

将工程内部的工具链删掉。

笔记

bash 复制代码
GetGnuWin32_legacy_install_archive/gnuwin32 => gnuwin32

arm-gnu-toolchain-14.3.rel1-mingw-w64-x86_64-arm-none-eabi => arm-gnu-toolchain

D:\3rd\openpnp_prj\Smoothieware\Smoothieware\build\win32 => curl

D:\3rd\openpnp_prj\Smoothieware\Smoothieware\build\win32中,除了curl.exe之外,其他的exe都删除,因为gnuwin32中有。

my_arm_gnu_env.bat

在自己建立的启动bat中,包含自己目录中的路径到PATH就行。

bash 复制代码
@echo off
rem @file my_arm_gnu_env.bat
rem @breif 通用的arm-gcc工具链,编译哪个工程都可以
set path=%~dp0arm-gnu-toolchain\bin;%~dp0gnuwin32\bin;%~dp0curl;%path%
cmd /k "echo my arm gnu env"

高版本的工具链需要显示包含基础系统头文件

低版本的gcc可能默认包含了系统基础头文件,但是高版本的需要自己显势包含系统头文件。

换了高版本工具链后,可能工程的头文件包含要根据报错提示(e.g. uint32_t 找不到),自己添加头文件。

自己添加头文件时,尽量往高层.h中去添加,这样的话,要修改的地方也不多。

编译的效果基本相同


bash 复制代码
make clean
make

冰沙工程如果采用-O0, 是装不下的。

默认是采用-O2 +g3

只需要-O1 + g3 就能装下,不用优化那么多。

END

相关推荐
an12321215 天前
ARM---编译工具链|程序段|GPIO外设驱动
gcc·gpio
Tairitsu_H5 天前
[Linux] 编辑器vim、编译器和动静态链接
linux·vim·gcc·g++·动态链接·静态链接
yanlaifan18 天前
编译器gcc介绍
gcc
捷瑞电子工坊20 天前
Ubuntu 下安装 VSCode 和 gcc 的简单步骤
vscode·ubuntu·代码编辑器·安装教程·gcc·deb·snap
GKxx25 天前
在 HarmonyOS 上从源码构建 GCC 16(gcc/g++ + libstdc++ + libsanitizer):完整记录
c++·华为·harmonyos·鸿蒙·gcc
编程的一拳超人1 个月前
C++AI编译错误自动修复神器-告别手动Debug的终极方案
clang·gcc·c++ 工程实践·c++ ai 工具开发实战·msvc解析
同勉共进2 个月前
记一例 vibe coding + gcc bug 导致的线程池死锁问题
c++·线程池·gcc·死锁·vibe coding
追兮兮3 个月前
MCUQuickStart:一键生成 STM32 / GD32 的 Keil、CMake、RTOS 工程
stm32·单片机·freertos·gd32·gcc·工程模版
William.csj3 个月前
Linux——普通用户离线源码编译 gcc-9 方法和调用教程
linux·服务器·gcc
2601_951645633 个月前
老牌C语言迎来重大蜕变,GCC 16+Clang 19全面适配C23标准
c·clang·gcc·嵌入式开发·c23