i.MX6ULL终结者移植官方SDK 编译下载

我们在工程目录下创建Makefile文件,在里面输入下面的内容:

  1 CROSS_COMPILE ?= arm-linux-gnueabihf-
  2 NAME              ?= led
  3 
  4 CC              := $(CROSS_COMPILE)gcc
  5 LD              := $(CROSS_COMPILE)ld
  6 OBJCOPY := $(CROSS_COMPILE)objcopy
  7 OBJDUMP := $(CROSS_COMPILE)objdump
  8 
  9 OBJS    := start.o main.o
 10 
 11 $(NAME).bin:$(OBJS)
 12         $(LD) -Timx6ul.lds -o $(NAME).elf $^
 13         $(OBJCOPY) -O binary -S $(NAME).elf $@
 14 
 15 %.o:%.s
 16         $(CC) -Wall -nostdlib -c -O2 -o $@ $<
 17         
 18 %.o:%.S
 19         $(CC) -Wall -nostdlib -c -O2 -o $@ $<
 20         
 21 %.o:%.c
 22         $(CC) -Wall -nostdlib -c -O2 -o $@ $<
 23         
 24 clean:
 25         rm -rf *.o $(NAME).bin $(NAME).elf

本章的Makefile文件是在第七章中的Makefile上修改来的,使用到了变量,链接脚本imx6ul.lds的内核和上一章节的一样,我们在这里就不详细分析了。

然后我们在终端输入make命令开始编译本工程,编译成功以后生成led.bin文件,如图 1所示:
在这里插入图片描述

图 1

我们从图1可以看到经过编译生成了“led.bin”文件,然后我们使用“create_imx”工具,生成bare.imx文件,命令如下:

chmod 777 create_imx                                                                   
./create_imx  led.bin         

然后拷贝生成的bare.imx到MFG的烧写工具对应的目录下,通过MFG烧写,然后正常启动开发板,可以看到LED在循环闪烁。在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46635880/article/details/108669210