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.

[参考译文] MSP430F5529:在 MSP430的 Code Composer Studio 中预编译步骤

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1258615/msp430f5529-pre-build-steps-in-code-composer-studio-for-msp430

器件型号:MSP430F5529

您好!

我编写了一个 C 程序、从 CSV 文件读取并生成了.h 头文件。  


我希望将此 C 代码编译为预编译步骤、并在 code composer studio 工程编译过程中包含生成的.h 文件、该过程会生成要在 MSP430上刷写的二进制文件。

我知道这可以在"Project Properties"->"Build"->"Steps"->"prebuild "下完成。

我不确定的是如何写入命令。
基本上,我想做一些这样的事情:

gcc csv_to_header.c -o csv_to_header  
./ csv_至_标题

请将此作为预编译步骤告知如何执行。 有没有可用于该方面的资源? 我可以找到一些有关 TI 的信息、但这些信息大多是高级内容、并没有提供要使用的命令的详细信息。
TIA 的问题。

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

    在 makefile 中(在 gcc 目录中)添加一个规则来生成.h 文件、让它执行您的命令、然后使主可执行文件依赖于.h 文件、 然后、当您编译主可执行文件时、它将编译.h 并运行您的命令。

    现在摆在我桌面上、并且检查了我的 MSP430构建环境、它很少使用 makefile! 确实我的构建只有一个 shell 脚本! 所以猜你可能不会使用生成的文件(唉,我很少使用 CCS -我通常从命令行工作...)

    无论如何*如果*您确实使用了 make 文件,则规则行:

    input.h: input.csv csv_to_header
        ./csv_header
    
    csv_to_header: csv_to_header.c
        gcc csv_to_header.c -o csv_to_header

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

    您好!

    请告知如何作为预编译步骤执行此操作

    预编译步骤只会将整个步骤传递到系统控制台进行执行。 因此、您可以调用编译器来构建 C 文件、就像通常从命令行进行的操作一样。 我假设只要预编译步骤成功、并且在工程预期的位置生成头文件、CCS 工程就已经引用了头文件、这应该会起作用。

    谢谢

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

    这可能是我要做的。 让我来测试一下这种方法。 它会告诉您。  

    请猜您可能不会使用生成文件(唉,我很少使用 CCS -我通常从命令行工作...)

    此外、我也挺好奇、如何从命令行构建和闪存 CCS 项目? 您是否手动编译并链接每个源文件?

    我的版本的确只有一个 shell 脚本! [/报价]

    你把什么放在 shell 脚本中?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    因此您可以调用编译器来编译 C 文件,就像您通常从命令行执行的操作一样

    由于 MSP 器件使用 21.6.0.LTS 编译器、因此编译命令是否为:cl430 csv_to_header.c -o csv_to_header、 而不是 gcc??

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

    嗯-似乎不想附加脚本-我会继续处理它。

    这是相当尴尬的真的-我刚刚集合了我所需要的所有命令,以检查我是否正确。 应该将其移动到 make 文件、但看起来从不执行。 由于我的所有代码都在一个文件(和一个单独的标头)中-这只是很少的命令。

    我想说、如果您熟悉 makefile、并且您是从命令行来实现、那么 make 是理想的做法。 我喜欢其易于配置、因此可以"生成"编译可执行文件、并且"生成闪存"将其刷写到器件中。


    #!/bin/bash

    msp430-elf-gcc -I /home/summers/msp430/include -i /home/summers/msp430/msp430-elf/include -O2 -D__MSP430F5529__-mmcu=MSP430F5529 -ffunction-SECTIONS -fdata-SECTIONS -c sinlookupuart.c -o gcc/sinlookupuart.o
    msp430-elf-gcc -T /home/summers/msp430/include/msp430f5529.ld -L /home/summers/msp430/include -mmcu=MSP430F5529 -WL、--gc-sections gcc/sinlookupuart.o -o gcc/sinlookupuart.out
    msp430-elf-objcopy -o ihex gcc/sinlookupuart.out gcc/sinlookupuart.hex
    LD_LIBRARY_PATH=/usr/local/lib ../../../ti/MSPFlasher_1.3.20/MSP430Flasher -n MSP430F5529 -w gcc/sinlookupuart.hex -v -z VCC

    退出

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    gcc csv_to_header.c -o csv_to_header[/ 报价]

    CSV 格式到标题 被视为自定义实用程序。  它通常在 CCS 之外构建、使用其他方法。  因为 CSV 格式到标题 在主机系统上执行、使用托管编译器构建、例如 gcc 。   

    ./sv_to_header

    该步骤通常作为 CCS 中的预编译步骤执行。  有关详细信息和示例、请访问该链接。  请注意、它支持多条命令。  也就是说、如果这些命令中的一个或多个命令比较复杂、那么将这些命令放在批处理文件或脚本中、然后将其调用作为预编译步骤可能是有意义的。

    谢谢。此致、

    -乔治

    [/quote]