1、在工程目录下创建4个文件夹:
(1)bsp:存放驱动文件
(2)imx6ul:存放跟芯片有关的文件,比如NXP官方的SDK库文件
(3)obj:存放编译生成的.o文件
(4)project:存放start.S和main.c文件,也就是应用文件
2、BSP工程的Makefile:
CROSS_COMPILE ?= arm-linux-gnueabihf- #交叉编译工具
TARGET ?= bsp #目标名字
CC := $(CROSS_COMPILE)gcc #编译工具
LD := $(CROSS_COMPILE)ld #链接工具
OBJCOPY := $(CROSS_COMPILE)objcopy #格式转换工具
OBJDUMP := $(CROSS_COMPILE)objdump #反汇编工具
INCDIRS := imx6ul \ #头文件目录
bsp/clk \
bsp/led \
bsp/delay
SRCDIRS := project \ #源文件目录
bsp/clk \
bsp/led \
bsp/delay
INCLUDE := $(patsubst %, -I %, $(INCDIRS)) #给INCDIRS下的文件添加-I,指明头文件目录需要加上-I
SFILES := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.S)) #提取工程下的所有.S文件(包含目录)
CFILES := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.c)) #提取工程下的所有.c文件(包含目录)
SF