图 8.8 编译和链接过程
在工程 ledcircle 所在的目录下,会生成一个名为:工程名_data 目录,在本例中就是 ledcircle_data
目录,在这个目录下不同类别的目标对应不同的目录。在本例中由于我们使用的是 DebugRe 目标,
所以生成的 终文件都应该在该目录下。进入到 DebugRel 目录中去,读者会看到 make 后生成的映
像文件和二进制文件,映像文件用于调试,二进制文件可以烧写到 S3C4510B 的 Flash 中运行。
8.2.3 使用命令行工具编译应用程序
如果用户开发的工程比较简单,或者只是想用到 ADS 提供的各种工具,但是并不想在
CodeWarrior IDE 中进行开发。在这种情况下,再为读者介绍一种不在 CodeWarrior IDE 集成开发环
境下,开发用户应用程序的方法,当然前提是用户必须安装了 ADS 软件,因为在编译链接的过程
中要用到 ADS 提供的各种命令工具。
这种方法对于开发包含较少源代码的工程是比较实用的。
首先用户可以用任何编辑软件(比如 UltraEdit)编写 8.2.1 中所提到的两个源文件 Init.s 和 main.c。
接下了,可以利用在第 7 章中介绍的 makefile 的知识,编写自己的 makefile 文件。对于本例,编写
的 makefile 文件(假设该 makefile 文件保存为 ads_mk.mk)如下:
PAT = e:/arm/adsv1_2/bin
CC = $(PAT)/armcc
LD = $(PAT)/armlink
OBJTOOL = $(PAT)/fromelf
RM = $(PAT)/rm -f
AS = $(PAT)/armasm -keep -g
ASFILE = e:/arm_xyexp/Init.s
CFLAGS = -g -O1 -Wa -DNO_UNDERSCORES=1
MODEL = main
SRC = $(MODEL).c
OBJS = $(MODEL).o
all: $(MODEL).axf $(MODEL).bin clean
%.axf:$(OBJS) Init.o
2021-10-18 17:10:31
1.95MB
arm
1