Makefile学习笔记(1)—— 汇编LED灯实验

写在前面的话:
关于Makefile学习笔记系列的文章,是我正在学习的正点原子的阿尔法开发板的内容,所有例程源码均来自正点原子的例程,写这个文章的目的是为了学习Makefile。
Makefile代码摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南

	Makefile代码
led.bin:led.s
	arm-linux-gnueabihf-gcc -g -c led.s -o led.o
	arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf
	arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin
	arm-linux-gnueabihf-objdump -D led.elf > led.dis
clean:
	rm -rf *.o led.bin led.elf led.dis

led.bin是目标文件
led.s是依赖文件

arm-linux-gnueabihf-gcc -g -c led.s -o led.o
arm-linux-gnueabihf-gcc是交叉编译器
-g是产生调试信息
-c编译源文件但是不链接,即生成.o文件
-o指定编译后文件的名字

arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf
arm-linux-gnueabihf-ld用来将众多的.o文件链接到一个指定的链接位置。
-Ttext 0x87800000链接到这个地址上去

arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin
arm-linux-gnueabihf-objcopy格式转换工具
-O binary 指定二进制格式输出
-S 表示不复制源文件中的重定位信息和符号信息
-g 表示不复制源文件中的调试信息

arm-linux-gnueabihf-objdump -D led.elf > led.dis
arm-linux-gnueabihf-objdump 反汇编工具
-D 表示反汇编所有段
led.dis 反汇编文件

clean:
	rm -rf *.o led.bin led.elf led.dis

清理工程,但是目录下有一个名叫clean的文件时,使用make clean会出问题。可以将clean声明为伪目标,声明方式:

.PHONY:clean
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值