i.MX6ULL终结者主频和时钟配置例程编译及运行

首先我们在终端输入“vi Makefile”打开Makefile文件,如图 1所示:
在这里插入图片描述

图 1

然后输入下面的内容:

  1 CROSS_COMPILE   ?= arm-linux-gnueabihf-
  2 TARGET                  ?= clk
  3 
  4 CC                              := $(CROSS_COMPILE)gcc
  5 LD                              := $(CROSS_COMPILE)ld
  6 OBJCOPY                 := $(CROSS_COMPILE)objcopy
  7 OBJDUMP                 := $(CROSS_COMPILE)objdump
  8 
  9 INCDIRS                 := core \
 10                                    drivers/clk \
 11                                    drivers/led \
 12                                    drivers/delay \
 13                                    drivers/beep \
 14                                    drivers/gpio \
 15                                    drivers/key
 16 
 17 SRCDIRS                 := ./   \
 18                                    drivers/clk \
 19                                    drivers/led \
 20                                    drivers/delay \
 21                                    drivers/beep \
 22                                    drivers/gpio \
 23                                    drivers/key
 24 
 25 
 26 INCLUDE                 := $(patsubst %, -I %, $(INCDIRS))
 27 
 28 SFILES                  := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.S))
 29 CFILES                  := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.c))
 30 
 31 SFILENDIR               := $(notdir  $(SFILES))
 32 CFILENDIR               := $(notdir  $(CFILES))
 33 
 34 SOBJS                   := $(patsubst %, output/%, $(SFILENDIR:.S=.o))
 35 COBJS                   := $(patsubst %, output/%, $(CFILENDIR:.c=.o))
 36 OBJS                    := $(SOBJS) $(COBJS)
 37 
 38 VPATH                   := $(SRCDIRS)
 39 
 40 .PHONY: clean
 41         
 42 $(TARGET).bin : $(OBJS)
 43         $(LD) -Timx6ul.lds -o $(TARGET).elf $^
 44         $(OBJCOPY) -O binary -S $(TARGET).elf $@
 45 
 46 $(SOBJS) : output/%.o : %.S
 47         $(CC) -Wall -nostdlib -c -O2  $(INCLUDE) -o $@ $<
 48 
 49 $(COBJS) : output/%.o : %.c
 50         $(CC) -Wall -nostdlib -c -O2  $(INCLUDE) -o $@ $<
 51         
 52 clean:
 53         rm -rf $(TARGET).elf $(TARGET).dis $(TARGET).bin $(COBJS) $(SOBJS)
 54 

第2行TARGET修改为“clk”。

链接脚本文件保持不变。

然后在终端输入“make”命令编译代码。如图 2所示:
在这里插入图片描述

图 2

编译完成,会生成的clk.bin文件,如图 3所示:
在这里插入图片描述

图 3

然后使用命令“chmod 777 create_imx”修改create_imx文件权限。如图 4所示:
在这里插入图片描述

图 4

然后使用命令“./create_imx clk.bin”生成烧写文件bare.imx,如图 5所示:
在这里插入图片描述

图 5

我们将生成的bare.imx文件通过SSH软件拷贝到mfg烧写工具里面的对应文件夹下面,这一步可以参考前面的烧写章节。将拨码开关切换成烧写模式,上电烧写等待烧写完成,然后将拨码开关切换回启动模式,等待代码正常运行,实验效果与按键输入实验基本一致,但是由于我们把主频修改成了528MHz,所以我们可以明显发现LED灯闪烁频率加快了,这是由于CPU处理指令速度变快了,所以延时函数效果没有之前慢,导致LED灯闪烁更快了。在这里插入图片描述

猜你喜欢

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