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/MSP432E401Y:由于 SysCtlClockFreqSet()而导致的编译失败

Guru**** 2581045 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/770439/ccs-msp432e401y-compilation-failure-due-to-sysctlclockfreqset

器件型号:MSP432E401Y

工具/软件:Code Composer Studio

我的程序基于 ADC0_Singleend_Singlechchannel_singleseq.c、在调用 SysCtlClockFreqSet()时不编译、我不确定原因。 错误消息和代码部分如下所示。 我尝试调用 SysCtlReset()只是为了检查整个头文件是否不可访问,但这不会导致任何错误。 我还包含了标准 driverlib、并且正在使用其他 driverlib 头文件中的许多函数、即 ADC.h、因此我对该特定函数不起作用的原因感到很损失。 所有参数也可在 sysctl.h 中访问

目录中列出并从示例中复制的我的包括:

C:/ti/ccsv8/ccs_base/arm/include
C:/ti/ccsv8/ccs_base/arm/include/CMSIS
C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include
C:/ti/simplelink_msp432e4_sdk_2_30_00_14/source
C:/ti/simplelink_msp432e4_sdk_2_30_00_14/source/third_party/CMSIS/Include
C:/ti/simplelink_msp432e4_sdk_2_30_00_14/source/ti/net/bsd 

错误:

>>编译失败
makefile:144:目标'bolt_iv_mcu.out'的配方失败
--- --------
SysCtlClockFreqSet ./main.obj

错误#10234-D:未解析的符号仍然
存在错误#10010:链接期间遇到错误;"bolt_iv_mcu.out"未生成
gmake[1]:***[bolt_iv_mcu.out]错误1
makefile:140:目标'all'的配方失败
gmake:***[All]错误2

****构建完成 

导致错误的代码:

#include "msp.h"

/*标准 driverlib include -如果需要、可以更加具体*/
#include 

#include 
#include 

#define GPIO_ports 15


int main (void)
{
uint32_t systemClock;

MAP_SysCtlReset();

/*将系统时钟配置为120 MHz */
系统时钟= MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、
120000000);

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

    我看不到任何明显的东西。  您能否导入原始示例并查看问题是否相同?  

    'MAP'指向一个 rom_map.h 文件、此文件选择一个在 ROM 或者闪存中找到的 API。  在本例中,MAP_SysCtlReset()转至 ROM 函数,而 MAP_SysCtlClockFreqSet 转至闪存实现。  预编译的闪存库需要包含在您的项目中、或者您需要将源代码引入要编译的项目中。

    此致、

    Chris

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

    我从工作区中删除了该示例、并将其导回、但仍然编译良好。  如屏幕截图中所示、向文件搜索路径添加了突出显示的路径、但我遇到了相同的错误。

    编辑:事实证明、我现在遇到了另一个错误:

    致命错误#6001:无法打开文件"C:/ti/simplelink_msp432e4_sdk_2_30_00_14/source:权限被拒绝
    
    >>编译失败
    makefile:146:目标'bolt_iv_mcu.out'的配方失败
    gmake[1]:***[bolt_iv_mcu.out]错误1
    makefile:142:目标'all'的配方失败
    gmake:***[全部]错误2
    
    ****构建完成 

    我看到其他一些 e2e 回答说在 Windows 安全选项中"启用继承"、但它们已从路径的其余部分/source 中启用。 现在、在注释出有问题的函数时也会发生此错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您要链接的文件位于此处:
    C:\ti\simplelink_msp432e4_sdk_2_40_00_11\source\ti\devices\msp432e4\driverlib\lib\ccs\m4F

    您需要包含 SimpleLink 库路径和路径+源:

    ${COM_TI_SIMPLELINK_MSP432E4_SDK_library_path}
    ${COM_TI_SIMPLELINK_MSP432E4_SDK_INSTALL_DIR}/源代码

    我还注意到、用于 ARM 的软件包指向 CCS。 我建议使用最新的 SDK 并从 SDK 中获取 ARM 包括(C:\ti\simplelink_msp432e4_sdk_2_40_00_11\source\third_party/CMSIS\include)。

    另一种方法是导入空项目、
    C:\ti\simplelink_msp432e4_sdk_2_40_00_11\examples\nortos\MSP_EXP432E401Y\driverlib\empty、然后添加源代码。

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

    问题已解决! 我添加了您提到的路径、但没有执行任何操作、因此我导入了空项目、然后复制了文件搜索路径中的内容、结果确实如此。

    非常感谢您的帮助。 另一个快速问题-此项目是共享存储库的一部分。 我需要推入哪些文件、以便项目中的所有其他人也都有修复程序?