led部分Makefile

Makefile文件
led.bin: start.o arm-linux-ld -Ttext 0x0 $^ -o led.elf
    //led.elf就是操作系统下的可执行程序,但是不能烧写到逻裸机 arm-linux-objcopy -O binary led.elf led.bin  //objcopy是用来生成可烧录的镜像的 arm-linux-objdump -D led.elf > led_elf.dis  //objdump是用来反编译的,把编译好的可执行程序转换成汇编程序
  gcc mkv210_image.c -o mkx210 //在主机中执行这个程序是用来给led.bin添加校验和,从而获得SD卡的镜像
  .
/mkx210 led.bin 210.bin  //执行这个编译后的代码,生成SD卡镜像
%.o : %.S        //把所有的.S文件编译生成.o文件
  arm-linux-gcc $< -o $@ -c
    //-c代表只编译不链接
%.o : %.c        //把所有的.c文件编译生成.o文件
  arm-linux-gcc $< -o $@ -c
    //-c代表只编译不链接
clean:           
  rm
*.o *.elf *.bin *.dis mkx210 -f    //清除所有的.o .elf .bin .dis文件

 特殊符号分析

  • 自动变量:
 $@: 当前规则的目标文件
 $< :第一个依赖文件
 $^ :去除重复的所有依赖文件
  • 特殊符号 

-D:表示反汇编

-o:命名为

-c:只编译不链接

>:由左边得到右边,也可类似记忆为命名为

 

 

 

 

 

原文地址:https://www.cnblogs.com/jxjl/p/6953653.html