i.MX6ULL终结者屏幕背光调节例程编译及运行

首先打开Makefile文件,在里面输入下面的代码:

  1 CROSS_COMPILE ?= arm-linux-gnueabihf-
  2 TARGET ?= backlight
  3 
  4 CC := $(CROSS_COMPILE)gcc
  5 LD := $(CROSS_COMPILE)ld
  6 OBJCOPY := $(CROSS_COMPILE)objcopy
  7 OBJDUMP := $(CROSS_COMPILE)objdump
  8 
  9 LIBPATH:= -lgcc -L /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/lib/gcc/arm    -linux-gnueabihf/4.9.4
 10 
 11 
 12 INCDIRS := core \
 13                                    stdio/include \
 14                                    drivers/clk \
 15                                    drivers/led \
 16                                    drivers/delay \
 17                                    drivers/beep \
 18                                    drivers/gpio \
 19                                    drivers/key  \
 20                                    drivers/exit \
 21                                    drivers/int  \
 22                                    drivers/epittimer    \
 23                                    drivers/keyfilter    \
 24                                    drivers/uart \
 25                                    drivers/lcd  \
 26                                    drivers/rtc  \
 27                                    drivers/i2c  \
 28                                    drivers/ap3216c \
 29                                    drivers/touchscreen \
 30                                    drivers/backlight
 31 
 32 SRCDIRS := ./   \
 33                                    stdio/lib \
 34                                    drivers/clk \
 35                                    drivers/led \
 36                                    drivers/delay \
 37                                    drivers/beep \
 38                                    drivers/gpio \
 39                                    drivers/key  \
 40                                    drivers/exit \
 41                                    drivers/int  \
 42                                    drivers/epittimer    \
 43                                    drivers/keyfilter    \
 44                                    drivers/uart \
 45                                    drivers/lcd  \
 46                                    drivers/rtc  \
 47                                    drivers/i2c  \
 48                                    drivers/ap3216c \
 49                                    drivers/touchscreen \
 50                                    drivers/backlight
 51 
 52 
 53 INCLUDE := $(patsubst %, -I %, $(INCDIRS))
 54 
 55 SFILES := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.S))
 56 CFILES := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.c))
 57 
 58 SFILENDIR := $(notdir  $(SFILES))
 59 CFILENDIR := $(notdir  $(CFILES))
 60 
 61 SOBJS := $(patsubst %, output/%, $(SFILENDIR:.S=.o))
 62 COBJS := $(patsubst %, output/%, $(CFILENDIR:.c=.o))
 63 OBJS := $(SOBJS) $(COBJS)
 64 
 65 VPATH := $(SRCDIRS)
 66 
 67 .PHONY: clean
 68         
 69 $(TARGET).bin : $(OBJS)
 70         $(LD) -Timx6ul.lds -o $(TARGET).elf $^ $(LIBPATH)
 71         $(OBJCOPY) -O binary -S $(TARGET).elf $@
 72 
 73 $(SOBJS) : output/%.o : %.S
 74         $(CC) -Wall -nostdlib -fno-builtin -c -O2  $(INCLUDE) -o $@ $<
 75 
 76 $(COBJS) : output/%.o : %.c
 77         $(CC) -Wall -Wa,-mimplicit-it=thumb -nostdlib -fno-builtin -c -O2  $(INCLUDE) -o $@ $<
 78         
 79 clean:
 80         rm -rf $(TARGET).elf $(TARGET).dis $(TARGET).bin $(COBJS) $(SOBJS)

Makefile文件我们主要修改了下面几个地方:
第2行的TARGET修改为backlight。
第30行添加了“drivers/backlight”到变量INCDIRS。
第50行添加了“drivers/backlight”到变量SRCDIRS。

链接脚本文件保持不变。

然后在终端输入“make”命令开始编译工程,如图 1所示:
在这里插入图片描述

图 1

编译完成生成“backlight.bin”文件,如图 2所示:
在这里插入图片描述

图 2

然后在终端输入命令“chmod 777 create_imx”修改create_imx文件具有可执行权限,如图 3所示:
在这里插入图片描述

图 3

最后在终端运行命令“./create_imx backlight.bin”生成最终的镜像文件“bare.imx”,如图 4所示:
i.MX6ULL终结者屏幕背光调节例程编译及运行_第1张图片

图 4

然后我们将生成的bare.imx文件通过SSH软件拷贝到mfg烧写工具内对应目录下,这一步可以参考前面的烧写章节。将拨码开关切换成烧写模式,上电烧写等待烧写完成,然后将拨码开关切换回启动模式,等待程序正常运行,我们可以看到LCD屏幕如图 5显示:
i.MX6ULL终结者屏幕背光调节例程编译及运行_第2张图片

图 5

我们可以看到当前的PWM是10%,屏幕显示比较暗,我们按下开发板的KEY0按键,调节PWM到90%,如图 6所示:
i.MX6ULL终结者屏幕背光调节例程编译及运行_第3张图片

图 6

我们可以看到屏幕变亮了。i.MX6ULL终结者屏幕背光调节例程编译及运行_第4张图片

你可能感兴趣的:(#,第二部分,裸机开发,i.MX6ULL终结者,linux,开发平台,嵌入式)