以前都是安装虚拟机搭建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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐