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.

[参考译文] MSP430FR5962:共享库构建错误

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1159660/msp430fr5962-shared-library-build-errors

器件型号:MSP430FR5962
主题中讨论的其他器件: MSP430WARE

我按照以下步骤创建和使用 MSP430库项目。 静态库和主应用都使用 driverlib。 我会得到大量已 指定编译器错误的内存范围。 是否可以避免这些问题?

我想到的一个想法是制作一个 driverlib 库并在所有项目之间共享它。 我看不到可供使用的 driverlib.lib 文件。 是否有最佳方法生成一个? 我可以预见、这对于正确构建和运行非常复杂。

谢谢、

Priya

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

    请检查此主题是否可以为您提供一些帮助:https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/883866/ccs-msp-iqmathlib-how-to-make-a-library-for-msp430/3270285?tisearch=e2e-sitesearch&keymatch=generate%2525252520static%2525252520library#3270285

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

    伊斯顿

    我使用的是 CCS 10.4.0.00006。 我成功构建了静态库工程。 问题是静态库工程使用 driverlib、而主应用程序也是如此。 这会导致 FRAM 存储器的规格重复。 是否有方法构建 MSP430FR5962 driverlib 并在所有库中使用它? 我该怎么做? 如果有更好的方法来解决此问题、请提供建议。

    我尝试使用相同的方法来构建静态 driverlib 库。 我们将很快了解这是否可行。

    谢谢

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

    针对 driverlib 文件的静态库在构建时没有错误。 包含此 driverlib 库的另一个静态库也会在构建时不会出现错误。 但是、使用共享库的应用程序项目无法找到 driverib API。 我尝试同时包含静态库和唯一使用 driverlib 库的静态库项目。 我在这两种方法中都会得到相同的误差。

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

    很抱歉、我仍然对您的问题感到困惑。

    您是指:

    您自己的静态库包含静态 TI  driverlib 库、可以成功构建。

    2.您自己的应用程序代码包括 静态 TI driverlib 库、也可以成功构建。

    3.您自己的应用程序代码仅包含您自己的静态库无法成功构建。  

    我的建议是:

    1.  您能否在应用代码中同时包含您自己的静态库和静态 TI driverlib 库?

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

    这些看起来像是编译时错误--缺少来自 msp430.h、stdint.h 和 driverlib.h 的声明 这与您之前报告的链接时错误不同。

    我还记得、driverlib.h #-同时包含 msp430.h 和 stdint.h 如果删除了任何 driverlib.h #-include 语句、则这些源文件(可能)必须显式包含其他两个源文件。

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

    是的、自从我发布第一个问题以来、我一直在尝试不同的东西。 想法是让应用程序和静态库项目都使用 driverlib。 我的错误是构建错误。 可以根据器件型号轻松包含 msp430.h。 stdint.h 还具有重复的标头检查。 我为 driverlib.h 添加了这样的检查:

    #ifndef __MSP430WARE_DRIVERLIB_H__
    #define __MSP430WARE_DRIVERLIB_H__

    我希望不会遇到内存映射错误。 我必须包含 driverlib.h 中定义的所有头文件 将根据需要再次发布。

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

    将头文件从静态库复制到应用程序工程能够在没有错误的情况下完成编译。 是否有方法将静态库工程的路径定义为变量?  

    以下是应用程序目录中存在的路径:

    ${workspace_loc:/${ProjName}/include}

    我想包含解析为以下内容的静态库工程(BQLibrary)的路径:

    C:\Development\w_SafetyLoop BQLibrary\include

    谢谢、

    Priya

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

    我 定义了一个新的路径变量、头文件正确链接到应用程序库。 如果我在运行该项目时遇到问题、我将再次发布。 谢谢

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

    为了让主工程挑选对静态库的任何更改、我向主工程添加了一个编译依赖项。 我还为链接器添加了查找静态库输出文件所需的文件搜索路径。 如果静态库中的某些文件发生更改、我看不到主工程执行增量编译来获取此更改。 这是为什么?

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

    很抱歉、我不知道这个问题。 我将在 CCS 主题中重新讨论此主题。 希望他们能为您提供更多帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="49640" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1159660/msp430fr5962-shared-library-build-errors/4365402 #4365402"]如果静态库中的某些文件发生了更改、我看不到主工程执行增量编译来获取此更改。 为什么会这样?

    为此、还必须在工作区中打开相关工程(BQLibrary)。 它是否与主项目一起在 Project Explorer 中打开并导入?

    谢谢

    Ki

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

    我已经成功完成了构建。 是的、必须保持库项目打开。 我正在运行测试以验证功能。 谢谢