在vxworks中使用make文件构建bsp

时间:2014-01-08 07:20:20

标签: makefile vxworks bsp

我在vxworks中维护现有的BSP,我们制作文件如下所示

CPU = CPU32
TOOL    = gnu

TGT_DIR = $(WIND_BASE)/target

include $(WIND_BASE)/target/h/make/defs.bsp
include $(WIND_BASE)/target/h/make/make.$(CPU)$(TOOL)
include $(WIND_BASE)/target/h/make/defs.$(WIND_HOST_TYPE)


MY_PATH = C:\source\BSP\

/* Build for CPU32: */

BS_ROM_ENTRY        = _bootstrapInit
BS_LD_LOW_FLAGS     = -Ttext 8
BS_ROM_SIZE     = 4000     # Size of first sector in flash SA0.
ROM_TEXT_ADRS       = 8
HEX_FLAGS           = -v -p 8 -a 8

bsexe: $(MY_PATH)/bootstrap.hex


$(MY_PATH)/bootstrapInit.o: $(MY_PATH)/bootstrapInit.s
    $(RM) $(MY_PATH)/boostrapInit.o
    $(CC) -c $(CFLAGS_AS) $(MY_PATH)/bootstrapInit.s -o $@

$(MY_PATH)/bootStrapStart.o: $(MY_PATH)/bootStrapStart.c
    $(RM) $(MY_PATH)/bootStrapStart.o
    $(CC) -c $(CFLAGS) $(MY_PATH)/bootStrapStart.c -o $@

$(MY_PATH)/comMem.o: $(MY_PATH)/comMem.c
    $(RM) $(MY_PATH)/comMem.o
    $(CC) -c $(CFLAGS) $(MY_PATH)/comMem.c -o $@

$(MY_PATH)/bootstrap: $(MY_PATH)/bootstrapInit.o $(MY_PATH)/bootStrapStart.o $(MY_PATH)/comMem.o
    $(RM) $(MY_PATH)/bootstrap
    $(LD) $(LDFLAGS) -e $(BS_ROM_ENTRY) $(BS_LD_LOW_FLAGS) -Map bootstrap.map \
        -o $@ $(MY_PATH)/bootstrapInit.o $(MY_PATH)/bootStrapStart.o $(MY_PATH)/comMem.o
    $(ROMSIZEPROG) -b $(BS_ROM_SIZE) $@
    $(LDOUT_CONV) $@
    @echo hi   // question here line 1

$(MY_PATH)/bootstrap.hex: $(MY_PATH)/bootstrap
    $(RM) $(MY_PATH)/bootstrap.hex
    $(BINHEX) $(HEX_FLAGS) $(SECT_SPEC)$(MY_PATH)/bootstrap$(TXT_OFFSET) \
        $(IMI_SPEC)$(IMI)$(IMI_OFFSET) > $@$(MAP_EXT)
    -@ $(MV_BIN)
          @echo hi   // question her line 2

当我使用上面的make文件构建时,我看到第1行的“hi”的输出,我没有看到line2的输出。可能有什么问题。我不是一个试图了解和解决客户问题的make文件专家。

另外一个问题是“$(LDOUT_CONV)”和 - @ $(MV_BIN)代表什么,以及make文件看到这些行时采取的操作。

感谢。

1 个答案:

答案 0 :(得分:0)

在第2行声明之前,您是否只有一个标签?如果不是,则不能执行该语句。

“$(LDOUT_CONV)”和$(MV_BIN)是其他文件的定义变量,您可以找到它们来检查它们的作用。