CubeMX代码生成

CubeMX code generation

我遇到了 cubeMx 代码生成问题。我用 cubeMX 生成了整个项目,但经过一些修改后我得到了以下编译器错误:

warning: cannot find entry symbol Reset_Handler; defaulting to 08000000

我发现错误的来源是我的 .cproject 文件的第一行。

之前(编译器 => OK):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

之后(编译器 => 错误!):

<?xml version="1.0" encoding="UTF-8"?>

有人可以帮我解决这个问题吗?

Reset_Handler 在 CubeMx 生成的汇编语言文件中定义:

Drivers/CMSIS/Device/ST/STM32Fxxx/Source/Templates/gcc/startup_stm32fxxx.s (xxx 取决于您的电路板类型)

您应该确保这是作为您项目的一部分构建的。

希望对您有所帮助!

同时,事实证明这是cubeMX 4.14.0版中的错误。 在修复之前有一个解决方法。

解决方案

.cproject 文件

中将 sourceEntries 还原为此
<sourceEntries>
    <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>

在此处查看更多详细信息:

更新

找到更好的解决方案见上文! (已接受的答案)

祝你好运, 戴夫

它仍然是 CubeMX 中的一个错误,但我找到了一个更好更可靠的问题解决方案。导航到属性菜单/路径和符号/源位置。不要将整个项目库添加​​为没有过滤器的源位置,而是一个一个地添加每个文件夹(使用添加文件夹按钮)。在这种情况下,CubeMX 在生成源位置时不会失败。我的 .cpoject 文件如下所示:

<sourceEntries>
        <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Common"/>
        <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Display"/>
        <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
        <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Inc"/>
        <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
        <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Src"/>
        <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Tasks"/>
        <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="font"/>    
</sourceEntries>