Makefile解析(最简单的LED)
来源:互联网 发布:腾讯云域名实名认证 编辑:程序博客网 时间:2024/05/16 09:20
①led_sp.bin: start.o led.o
#led_sp.bin是由 start.o 和 led.o 生成
②arm-linux-ld -Ttext 0x0 -o led_sp.elf $^
设置led_sp.elf的起始地址0x0
③arm-linux-objcopy -O binary led_sp.elf led_sp.bin
把led_sp.elf中的内容复制到led_sp.bin中
④arm-linux-objdump -D led_sp.elf > led_sp_elf.dis
将这个程序的反汇编程序写入到led.dis这个文件中,在终端中不显示出来.
当你打开led.dis这个文件时就会看到上面命令的输出的反汇编程序了
⑤gcc mkv210_image.c -o mkmini210
gcc是编译的意思,编译mkv210_image.c 生成mkmini210
⑥./mkmini210 led_sp.bin 210.bin
执行 mkmini210 led_sp.bin 210.bin
(这些程序下载进去,执行mkmini210 led_sp.bin 210.bin)
⑦%.o : %.S
把所有的.S文件编译成.o文件
⑧arm-linux-gcc -o $@ $< -c
只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
%.o : %.c
把所有的.c文件编译成.o文件
arm-linux-gcc -o $@ $< -c
⑨clean:
rm *.o *.elf *.bin *.dis mkmini210 -f
rm:(remove,移除)
删除所有的1.o,2.elf,3.bin,4.dis, 5mkmini210 ,6 -f
*:通配符(所有的.o,,,,)
-------------------------------------------------------------------
一
arm-linux-ld -Ttext 0x00000000 crt0.o led_on_c.o -o led_on_c_tmp.o
我们看看它是什么意思:
-o选项设置输出文件的名字为led_on_c_tmp.o;
“--Ttext 0x00000000”设置代码段的起始地址为0x00000000;
这条指令的作用就是将crt0.o和led_on_c.o连接成led_on_c_mp.o可执行文件,
此可执行文件的代码段起始地址为0x00000000。
二
arm-linux-objcopy
被用来复制一个目标文件的内容到另一个文件中,可用于不同源文件的之间的格式转换
三
$^ 所有的依赖目标的集合。以空格分隔。如果在依赖目标中有多个重复的,那个这个变量
会去除重复的依赖目标,只保留一份。
$@ 表示规则中的目标文件集。在模式规则中,如果有多个目标,那么,"$@"就是匹配于
目标中模式定义的集合。
************************************************
Linux初学者,真心的希望来到的朋友留言,这样我也知道什么地方有问题^_^谢谢了!!
- Makefile解析(最简单的LED)
- 最简单的驱动:LED驱动程序与应用程序解析
- 最简单的makefile
- 最简单的makefile
- 最简单的Makefile
- 最简单的MakeFile
- 最简单的makefile
- 最简单的点亮LED灯驱动程序
- 最简单的通用Makefile
- 编写最简单的makefile
- 最简单的应用程序makefile
- 最简单的makefile开始
- makefile最简单的实例
- 解析Makefile --- 简单的Makefile示例
- Makefile入门:最常用最简单的Makefile
- 一个最简单的Makefile例子(转)
- 1.最简单的操作系统(二)makefile
- 最简单的makefile和最简单的shell程序
- cocos2d-x CCControlButton,九妹图用按钮
- IMread和cvloadimage
- Oracle事务原理探究2--读书笔记五
- unity3D GUI登录注册
- 判断质数(包含输入值try catch判断,continue的使用)
- Makefile解析(最简单的LED)
- 物理公式(转载)
- OJ刷题之《求n阶勒让德多项式》
- Fixed itk-3.20.1 on gcc-4.8, error: ‘memcpy’ was not declared in this scope
- vsftpd中关于ftpusers和user_list两个文件的说明以及vsftpd.conf中的userlist_enable和userlist_deny两个配置项的解释
- Unity3D 平台预处理
- mongoDB Java常见用法。
- 对称加密算法之DES介绍
- CSS3旋转3D正方形