【问题标题】:buiding bsp using make file in vxworks在 vxworks 中使用 make 文件构建 bsp
【发布时间】:2014-01-19 20:56:42
【问题描述】:

我在 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”输出,而没有看到第 2 行的输出。可能有什么问题。我不是试图理解和解决客户问题的制作文件专家。

另一个问题 "$(LDOUT_CONV)" 和 -@ $(MV_BIN) 代表什么,当 make file 看到这些行时会采取什么行动。

谢谢。

【问题讨论】:

  • 要知道$(LDOUT_CONV) 在做什么,您需要在构建设置中找到设置该变量值的内容。前导 - 告诉 make 忽略错误。前导 @ 告诉 make 在运行命令之前不要打印命令。 $(MV_BIN) 的故事与 $(LDOUT_CONV) 的故事相同。
  • 您在测试时正在运行makemake bsexe?你怎么知道你看到的是哪个hi 输出?

标签: makefile vxworks bsp


【解决方案1】:

在第 2 行语句之前是否有一个单独的选项卡?如果不是,则该语句无法执行。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    相关资源
    最近更新 更多