(1)下载安装必要的软件:cygwin64、eclipse、gnu gcc、jdk
(2)准备一个eclipse_for_4412.bat文件,“.bat”后缀名文件是常用的批处理脚本文件,我们这个脚本是打开eclipse,使用特定的编译器和环境。
(3)脚本文件里面的内容如下%cd%打印当前目录
,注意文件目录不同的话要做相应的修改
@set ECLIPSE_DIR=%cd%\eclipse-cpp-2019-06-R-win32-x86_64\eclipse
@set PATH=%cd%\jdk-12.0.2\bin;%cd%\gcc-arm-8.3-2019.03-i686-mingw32-arm-eabi\bin;%cd%\cygwin64\bin;%PATH%;
@start %cd%\eclipse-cpp-2019-06-R-win32-x86_64\eclipse\eclipse.exe
(4)双击执行脚本文件进入eclipse。
(5)左上角点击File->New->Makefile Project with Existing Code,打开已有项目
(6)填入项目名称,等下打开之后就是按你这个项目名称来叫,跟已有项目可以不一样。
(7)选择已有项目所在目标文件夹
(8)点击finish
(9)IDE左侧项目一栏就可以看到我们打开的项目了
(11)可以看到我们的Makefile文件,都是可以通用的,不同文件就在第8行NAME = ???修改一下就可以了。
Makefile内容(通用)
# CORTEX-A9 PERI DRIVER CODE
# VERSION 2.0
# ATHUOR www.dev.hqyj.com
# MODIFY DATE
# Makefile
SHELL=C:\Windows\System32\cmd.exe
CROSS_COMPILE = arm-none-eabi-
NAME = led_c#此处改成自己的
CFLAGS += -g -O0 -mabi=apcs-gnu -mfpu=neon -mfloat-abi=softfp \
-fno-builtin -nostdinc -I ./common/include
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
OBJSss := $(wildcard start/*.S) $(wildcard common/src/*.S) \
$(wildcard *.S)\
$(wildcard start/*.c) $(wildcard common/src/*.c) \
$(wildcard usr/*.c) $(wildcard *.c)
OBJSs := $(patsubst %.S,%.o,$(OBJSss))
OBJS := $(patsubst %.c,%.o,$(OBJSs))
%.o: %.S
$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
all:clean $(OBJS)
$(LD) $(OBJS) -T map.lds -o $(NAME).elf
$(OBJCOPY) -O binary $(NAME).elf $(NAME).bin
$(OBJDUMP) -D $(NAME).elf > $(NAME).dis
clean:
rm -rf $(OBJS) *.elf *.bin *.dis *.o
(12)在项目处右键选择Built Targets->create…
(13) 在弹出的“Create Build Targets ”对话框中输入目标名称,例如“clean ”,点击“OK
(14)右键Build Targets->create…
(15)在弹出的“Create Build Targets ”对话框中输入目标名称,例如“all ”,点击“OK”
(16)双击“Build Targets ”中的clean 可执行Makefile 中的目标“clean ”,对工程进行清除工作
(17) 双击“Build Targets ”中的 default 可执行 Makefile 中的目标“all ”,对工程进行编译工作