【问题标题】:Batch build using IAR tools使用 IAR 工具批量构建
【发布时间】:2011-02-17 20:26:26
【问题描述】:

我正在尝试使用 IAR 工具批量构建项目。处理器是 CC2530,它在 IDE 中构建良好。我遵循了批处理构建(Project/Batch Build)的文档并创建了一个 .cspy 文件,该文件被认为是我的批处理文件,但在该文件的 cmets 中,它表明我需要一个调试文件(.ubrof)来执行用它。我找不到 .ubrof 文件,我已经搜索了整个项目目录结构。另外,我希望我的批处理构建能够构建一个没有调试信息的生产版本。

从哪里获得 .ubrof 文件? 如何使用 IAR 工具进行生产批量构建?

【问题讨论】:

    标签: build embedded iar


    【解决方案1】:

    我对您的问题的理解是,您想使用命令行从批处理文件中构建固件映像。我将 IAR 工具用于 MSP430 和 AVR32 处理器系列,用于从命令行调用 IAR 构建过程的命令行是

    iarbuild "Project_File.ewp" -make BUILD_NAME -log info

    其中 BUILD_NAME 是构建配置(“Debug”或“Release”是两个默认选项)。 iarbuild 命令的语法在 Embedded Workbench 手册中。

    UBROF 文件是工具生成的二进制输出文件,您通常会将其加载到目标中进行调试。我通常会让工具生成用于调试的 UBROF 文件和用于生产中的设备编程的 hex 或 s-record 图像文件。

    【讨论】:

      【解决方案2】:

      .cspy 与 C-Spy 调试器有关;您不需要它来构建项目。

      .ubrof 是 IAR 使用的目标文件格式,它是成功构建的结果(如果项目配置为生成这样的文件)。

      讨论了 IAR 命令行构建实用程序 (iarbuild.exe) 和 C-Spy 命令行实用程序 (cspybat.exe) here

      【讨论】:

        【解决方案3】:

        也可以从命令行调用 iar 编译器/汇编器/链接器。如果您已经有一些构建框架(make、cmake、scons 等),这可能是有益的——然后您可以将其他工具链用于相同的源。例如,一个从您的代码生成单元测试的本机工具链。

        这种方法的最大缺点是它需要对 iar 项目文件中已有的内容进行额外(重复)描述:要使用哪些文件,要应用哪些编译标志。这显然违反了 DRY。

        【讨论】:

          【解决方案4】:

          IAR 的 IDE 支持位于 workspace.eww 文件中的“批量构建”。我还没有看到“批量构建”的答案,它可以包含多个项目和配置,例如 IDE。

          要创建一个与此操作类似的命令行,您必须创建一个批处理文件,该文件明确地调用它们,如下 Ian 所述,参考 IAR 的用户指南。如果项目不是很大,我建议事先进行 -clean 以确保重新编译所有文件。

          Ian 的最佳答案是构建特定项目的单独配置。

          供参考,第 71 页上的 IDE Project Management and Building Guide。工作空间批处理构建在第 69 页底部进行了描述。此命令行结构对于 ARM 也是相同的。

          iarbuild project.ewp [-clean|-build|-make] [-log errors|warnings|info|all]

          iarbuild "Project_File.ewp" -clean BUILD_NAME
          iarbuild "Project_File.ewp" -make BUILD_NAME -log info
          
          // repeat for other configurations / projects
          

          【讨论】:

            猜你喜欢
            • 2011-01-09
            • 2014-11-26
            • 1970-01-01
            • 1970-01-01
            • 2017-03-18
            • 2020-01-23
            • 2010-09-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多