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>
我遇到了 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>