This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/CC3200:如何生成.bin文件

Guru**** 2595805 points
Other Parts Discussed in Thread: CC3200

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/625087/ccs-cc3200-how-to-generate-bin-file

部件号:CC3200

工具/软件:Code Composer Studio

我正在使用最新的CCS 7.3 和CC3200启动板。 我正在使用 "AWS-iot设备-SDK-embedded-c" 与AWS连接。 我将其作为“现有代码作为makefile项目”导入到CCS工作区。 使用gmake,我可以生成.out文件。 如何生成.bin文件?

在以前的职位中,例如  
https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/19.0375万

https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/48.6843万

似乎需要执行生成后操作才能获取.bin文件。 但我在项目设置中找不到后期生成。

提前感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于您没有使用管理的make项目(CCS或标准Eclipse),因此该选项不可用。 您需要从makefile调用它

    谢谢
    KI
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复。 您能否更详细地解释"从makefile调用它"?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对我来说,只要我能得到.bin文件,就可以了。
    希望你们能给我更多的说明。 谢谢,下面是我当前的makefile。



    #此目标是确保意外执行Makefile,因为bash脚本不会在意外目录中执行rm之类的命令并正常退出。
    .preve_execution:
    退出0

    #将此选项设置为@以保持makefile的安静
    ifndef静音
    静音=@
    环境

    cc = gcc
    rm = rm

    调试=

    -------------------- Inputs----#
    component_name = iotSdkC

    all_targets := build_cpputest
    all_targets_clean:=

    CPPUTEST _使用_扩展= Y
    cpp平台= gcc
    CPPUTEST CFLAGS +=-std=gnu99
    CPPUTEST LDFLAGS +=-lpthread
    CPPUTEST CFLAGS +=-D__USE_BSD
    CPPUTEST _使用_GCOV = Y

    #IoT客户端目录
    iot客户端DIR =。

    APP_DIR =$(IOT_CLIENT_DIR)/测试/单位
    app_name = aws_iot SDK_unit_tests
    app_src_files =$(shell find $(app_DIR)/src -name '*.cpp)
    app_src_files =$(shell find $(app_DIR)/src -name '*.c')
    APP_INCLUDE DIRS =-i $(APP_DIR)/INCLUDE

    CPPUTEST =$(IOT_CLIENT_DIR)/external_libs/CppUTest

    #提供CppUTest运行单元测试的路径,否则构建将失败
    ifndef CPPUTEST包括
    CPPUTEST包含=$(CPPUTEST目录)/包含
    环境

    ifndef CPPUTEST构建LIB
    CPPUTEST构建LIB =$(CPPUTEST目录)
    环境

    CPPUTTEST_LDFLAGS +=-LDL $(CPPUTEST构建)/libCppUTest.A

    platform_DIR =$(IOT_CLIENT_DIR)/platform/linux

    #MbedTLS目录
    TEMP_MBEDTLS_SRC_DIR =$(APP_DIR)/TLS_Mock
    TLS_LIB_DIR =$(TEMP_MBEDTLS_SRC_DIR)
    TLS_include_DIR =-i $(TEMP_MBEDTLS_SRC_DIR)

    #日志记录级别控制
    log_flags +=-DENABLE_IOT_DEBUG
    #log_flags +=-DENABLE_IOT_TRACE
    log_flags +=-DENABLE_IOT_INFO
    LOG_flags +=-DENABLE_IOT_WARN
    log_flags +=-DENABLE_IOT_ERROR
    Compiler_flags +=$(log_flags)

    external_libs +=-L$(CPPUTEST构建)

    #IoT客户端目录
    platform_common_DIR =$(platform_DIR)/common

    iot _包括_ DIRS =-i $(platform_common_DIR)
    iot包含DIRS +=-i $(IOT_CLIENT_DIR)/包含
    iot包含DIRS +=-i $(IOT_CLIENT_DIR)/external_libs/jsmn

    iot _SRC_files +=$(shell find $(platform_common_DIR)/-name '*.c')
    iot _src_files +=$(shell find $(iT_CLIENT_DIR)/src/-name '*.c')
    iot _SRC_files +=$(shell find $(IOT_CLIENT_DIR)/external_libs/jsmn/-name '*.c')

    #aggregate all include和src目录
    include_DIRS +=$(IOT_include_DIRS)
    include_DIRS +=$(app_include_DIRS)
    include_DIRS +=$(TLS_include_DIR)
    INCLUDE DIRS +=$(CPPUTEST包含)

    TEST_SRC_DIRS =$(APP_DIR)/src.

    src_files +=$(app_src_files)
    src_files +=$(IOT_SRC_FILES)

    Compiler_flags ==-g
    Compiler_flags +=$(log_flags)
    Pre_Make CMDS = CD $(CPPUTEST目录)&&
    pre_make _cmds += cmake CMakeLists.txt &&
    pre_make _cmds += make &&
    pre_make _CMDS += CD -&&
    pre_make _cmds += pwd &&
    Pre_Make CMDS += CP -f $(CPPUTEST目录)/src/CppUTest/libCppUTest.a $(CPPUTEST目录)/libCppUTest.a &&
    Pre_Make CMDS += CP -f $(CPPUTEST目录)/src/CppUTestExt/libCppUTestExt.A $(CPPUTEST目录)/libCppUTestExt.A

    # Using TLS Mock for Running Unit Tests (使用TLS模拟运行设备测试)
    mocks_SRC +=$(app_DIR)/tls_mock/aws_iot测试_unit_mock_tls_params.c
    mocks_SRC +=$(app_DIR)/tls_mock/aws_iot测试_unit_mock_tls.c

    ISYSTEM_HEADers +=$(IOT_ISYSTEM_HEADers)
    CPPUTEST CPPFLAGS +=$(ISYSTEM_HEADers)
    CPPUTEST CPPFLAGS +=$(LOG_FLAGS)

    LCOV_EXCLUDE模式="tests/unit/*"
    LCOV_EXCLUDE模式+="测试/集成/*"
    LCOV_EXCLUDE模式+="external_libs/*"

    #Use this section for running a specific group of tests,comment this to run all
    #仅用于测试目的
    #command_line_arguments +=-g CommonTests
    #command_line_arguments +=-v

    生成- cpputest:
    $(pre_make _CMDS)

    包括CppUTestMakefileWorker.mk

    交响乐:运行单元测试
    run-unit-tests (运行单元测试):$(all_targets)
    @echo $(all_targets)

    虚伪:干净
    清洁:
    $(make)-C $(CPPUTEST _DIR) Clean
    $(RM)-RF build_output
    $(RM)-RF gcov
    $(RM)-RF objs
    $(RM)-RF testLibs
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    要生成二进制文件,可以使用CCS附带的tiobj2bin实用程序:

    <CCSv7安装DIR>\ccsv7\utils\tiobj2bin

    它是一个批处理文件,它在后台调用其他实用程序,以从可执行输出文件生成二进制文件。

    您可以从makefile调用它,也可以从命令行调用它。

    或者,您可以运行我为您创建的小DOS批处理文件。 只需编辑bat文件,以便路径和文件名的变量应用于您的环境。 从输出文件的位置运行它。

    /cfs/file/__key/communityserver-discussions-组件文件/81/generate_5F00_bin.zip

    谢谢

    KI

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它运行良好。 您创建的DOS批处理文件真的很棒!! 非常感谢!