以前都是安装虚拟机搭建linux下的arm编译环境,终究还是觉得启动虚拟机麻烦,因此着手搭建win下的arm编译,同时分享给有需要的读者。

【1】软件包准备

下载gcc-arm-none-eabi,请自行按需下载: Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer

国外网站下载比较慢,如果不要去最新版本的,可以自行搜索国内提供的资源下载

下载cygwin,请自行按需下载:Cygwin Installation

下载Make For Windows ,请自行按需下载,给出参考地址:GNU make for Windows

【2】软件安装

安装gcc-arm-none-eabi和cygwin软件,并将其加入环境path,例如:
 

D:\workForSoftware\gcc-arm-none-eabi-4_8\bin
D:\workForSoftware\gcc-arm-none-eabi-4_8\arm-none-eabi\bin
D:\workForSoftware\cygwin64\bin
D:\workForSoftware\cygwin64\sbin

将make.exe放置cygwin工作路径或将其所在目录加入环境path。make -v测试配置

【3】样例构建与编译

构建样例工程,建立源文件test.cpp

#include <stdio.h>
#include <unistd.h>

int main(int argc, char**argv)
{
    static int count = 0;
    while (true)
    {
        printf("hello world for %d!\n",count++);
        sleep(10);
    }
    return 0;
}

构建Makefile文件,至于CFLAGS配置请参考gcc-arm-none-eabi-4_8\share\doc\gcc-arm-none-eabi\readme.txt和gcc-arm-none-eabi-4_8\share\gcc-arm-none-eabi\samples\readme.txt

CX=arm-none-eabi-g++.exe --specs=nano.specs --specs=rdimon.specs -lgcc -lc -lm -lrdimon

BIN 		:= .
TARGET      := test.bin

source		:= test.cpp
$(TARGET) :
	$(CX) $(source) -o $(BIN)/$(TARGET)

clean:
	rm  $(BIN)/$(TARGET)

【4】编译make,类似如下图

编译完成后烧录请根据自行开发板去Tools and Software

下载相应的烧录工具和参考说明文档完成。

        例如STM32-LINK工具将test.bin烧录到STM32L496VGTX开发板上:

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐