每个软件项目工程都是一个江湖,人在江湖,身不由已,出来混,总是要还的。
但是如果我们把江湖的规矩都弄清楚了,我们还是可以一样游刃有余的。
认识Makefile小弟
要想做一个风风光光的江湖人,就需要引见,否则你一辈子都是一个小弟。就像星爷想进斧头帮一样,没人引见,你怎么可能进的去。Makefile就是引见我们的小弟了。
我们开始执行的make mini6410_nand_config-ram256或make mini6410_sd_config-ram256,这一步我们便踏入了江湖。我们已经没有回头路了。
1. make mini6410_nand_config-ram256都是做了什么
@$(MKCONFIG) mini6410 arm s3c64xx mini6410 samsung s3c6410 NAND ram256
仅仅是执行了这一条命令
这里的mkconfig是一个脚本
2. mkconfig
进入这个文件我们就知道了这个命令是什么意思了
Parameters: Target Architecture CPU Board [VENDOR] [SOC]
就是指明我们使用什么样的体系的cpu 使用的是什么cpu 使用的是什么型号的开发板
在include目录下做一些操作,添加一些链接,生成config.mk,这里记录了我们选择模式的5个参数
下面还生成了一个文件config.h,处理剩下的第一个和最后两个三个参数。
3. make命令
执行all这个目标,在各级子目录生成uboot,最后生成目标文件uboot.bin.
1. make mini6410_nand_config-ram256都是做了什么
@$(MKCONFIG) mini6410 arm s3c64xx mini6410 samsung s3c6410 NAND ram256
仅仅是执行了这一条命令
这里的mkconfig是一个脚本
2. mkconfig
进入这个文件我们就知道了这个命令是什么意思了
Parameters: Target Architecture CPU Board [VENDOR] [SOC]
就是指明我们使用什么样的体系的cpu 使用的是什么cpu 使用的是什么型号的开发板
在include目录下做一些操作,添加一些链接,生成config.mk,这里记录了我们选择模式的5个参数
下面还生成了一个文件config.h,处理剩下的第一个和最后两个三个参数。
3. make命令
执行all这个目标,在各级子目录生成uboot,最后生成目标文件uboot.bin.
在生成uboot时指定了一个链接参数-Ttext.
这里介绍下ld -Ttext:
我的理解是指定程序的入口地址。也就是你要把程序加载到这个地址才能正确执行。
在
GPIO编程(二)led灯的控制,生成的bin文件中也指定了-Ttext参数,我们把程序加载到这个地址,程序就能正确的运行了!