你好
我正试图使用传感器融合库在 Freedom KL26Z 上开发一个项目。
我访问了这个页面传感器融合|自由刻度
下载并安装传感器融合库
然后将项目正确导入 CodeWarrior。到目前为止,我觉得还不错
然后,我尝试进行第一次编译,但立即出现错误:
| 说明 | 相关资源 | 通路 | 位置 | 类型 |
| mqxlite.h:没有此类文件或目录 mqxlite.h:无此文件或目录 | MQX1.h | /FSFK_KL26Z/Generated_Code | 第 69 行 | C/C++ 问题 |
哼哼在成功编译之前,是否需要运行一些代码生成?
我希望有人能在一开始帮我一把。
此外,通过查看代码,我在 GeneratedCode/MQX1.h 中发现了以下内容:
#include"PE_Const.h"
#include"IO_Map.h"
/* 包括继承的元器件 */
#include"SystemTimer1.h"
#include"task_template_list.h"
/* MQX Lite 包含文件 */
#include"mqxlite.h"
#include"mqxlite_prv.h"
/* MQX Lite 源文件的路径 */
#define MQX_PATH"C:/Freescale/CW MCU v10.6/MCU/ProcessorExpert/lib/mqxlite/V1.1.1/"
void SystemTimer1_OnCounterRestart(LDD_TUserData *UserDataPtr);
为什么会有绝对路径?此外,我的电脑上也没有任何指向......:
如果我没理解错的话,这个文件是在我下载并安装传感器融合库时自动生成的。这意味着,如果我想使用版本管理工具(如 github.com)开源这个项目,请纠正我的错误、这个绝对路径对每个人都是一样的。但是,如果其他贡献者将库安装在与我的电脑不同的路径上,代码将无法编译。这非常不方便携带,如果有人能解释一下其中的原因,我将不胜感激。
感谢您的帮助
信息编辑者: Remi BegesRemi Beges
谢谢您的回答,好吧,那我就改用 KDS。谢谢大家的帮助,我真的很感激。
融合库中的某些算法确实需要超过 64KB 的闪存。 而且默认版本肯定超过了这些限制。打开 docs/XSFLK_DS.pdf(数据表),查看表 15 至表 17。
虽然我个人更喜欢 CodeWarrior,但它已被弃用,转而使用 KDS,它是 100% 免费的,没有代码大小的限制。
Mike
嗨,雷米、
我开始想让你多试几次,直到更新安装完毕(有时会出现一些错误,但重试几次后更新就会正确安装),幸运的是,你已经试过了。
关于代码大小,我没有这方面的信息,但您可以启用 codewarrior 打印代码大小。
您可以查看这篇文章:如何在 codewarrior V10.3 中检查代码大小和内存使用情况
或者直接访问这个:使用 gcc for arm/Kinetis 的代码大小信息 | Ecli pse 上的 MCU
希望能帮到您
顺祝商祺!
艾萨克-阿维拉
你好 Isaac 我试过更新所有软件包,但我遇到了几个错误
有些站点无法找到。 详情请查看错误日志。
jar:file:C:%5CUsers%5CB48923%5CDownloads%5CCW%20for%20MCU%2010.6%5Ccom.freescale.mcu10_6.kinetis.updatesite.zip!/.
jar:file:C:%5CUsers%5CB48923%5CDownloads%5CCW%20for%20MCU%2010.6%5Ccom.freescale.mcu10_6.e200.updatesite.zip!/.
jar:file:C:%5CUsers%5CB48923%5CDownloads%5CCW%20for%20MCU%2010.6%5Ccom.freescale.mcu10_6.coldfire.updatesite.zip!/.
在收集要安装的项目时发生错误
会话上下文是:(profile=PlatformProfile,phase=org.eclipse.equinox.internal.p2.engine.pases.Collect,operand=,action=)。
分块流意外结束
分块流意外结束
大多数软件包都没有更新,因为当我重新运行更新工具时,我仍然建议使用相同的软件包。
仍然没有 1.1.1mqxlite 文件夹
知道是什么原因造成的吗?
编辑:我还尝试手动更新 MQX lite。我从这里下载了驱动程序(Freescale MQX™ Lite Real-Time Operating|Freescale),但安装后仍然没有 1.1.1 版本。资料夹
编辑 2:我再次尝试更新,这次成功了(尽管我仍然遇到"no repository found" 错误)。也许是运气不好,我第一次试的时候服务器宕机了,但不管怎样,我现在有 1.1.1 版了。版本
所以现在我可以启动调试了。但新问题
我有 CodeWarrior 特别版,但限制至少为 64kB。传感器融合库占用的空间比这更大吗?
上述答复是正确的。 你需要使用 MQXLite 1.1.1 来完成构建,如果你安装了所有 CodeWarrior 更新,你应该会得到这个版本。
你说的绝对路径是错误的:smileyblush:所讨论的路径是安装这些 CodeWarrior 更新时工具设置 MqxLite 的默认路径。
处理器专家代码生成包含在用户指南"入门" 部分。 仅供参考,Source/*.h和 *.c 文件也可从 MIG GitHub 网站获取,网址是Home - memsindustrygroup/Open-Source-Sensor-Fusion Wiki - GitHub。
此致,
Mike
嗨,雷米
实际上,处理器专家库有 V1.1.1 版本(如下所示),但你需要在 CodeWarrior 中更新一些软件包(我不记得到底是哪个软件包了)。
我认为传感器融合库是在假设已经安装了处理器专家的上一次更新的情况下制作的。
你能试试安装 CodeWarrior 的所有软件包吗?
你可以在 CodeWarrio 的 “帮助” 选项卡上进行此操作,然后选择 “检查更新”。
希望能帮到你。
顺祝商祺!
伊萨克
-----------------------------------------------------------------------------------------------------------------------
注:如果本帖回答了您的问题,请点击 "正确答案 "按钮。谢谢!
-----------------------------------------------------------------------------------------------------------------------
我已经找到了解决办法。首先,在 “组件” 选项卡中,我手动将 MqxLite 版本从 1.1.1 更改为 1.1.0。这样就消除了警告("MQXlite version not found, ..." ),然后右击树状视图中的 ProcessorExpert,点击生成处理器专家代码。之后,编译代码就能正常工作了。
因此,确实需要生成一些代码,但文档中并没有明确说明。现在,我的主要问题是解决了,但我想知道为什么 MQX1.h 中指定的路径是错误的,我想处理器专家会适当地生成代码。如果您有任何相关信息,我将不胜感激。致敬
你好,爱丽丝,我已经按照本指南设置了项目。在提示我应该可以运行程序的步骤中,我遇到了错误。请告诉我可以提供哪些信息来寻求帮助,因为我完全被卡在这里了。
你好,雷米
安装传感器融合库后,请参阅"Freescale Sensor Fusion for Kinetis 产品开发套件用户指南" 、
它在目录下:...docs\XSFLK_UG.pdf
参考后,在版本时如果仍然出现错误,请与我联系!
希望对您有帮助!
祝您愉快,
Alice
-----------------------------------------------------------------------------------------------------------------------
注:如果本帖回答了您的问题,请点击正确答案按钮。Thank you!
-----------------------------------------------------------------------------------------------------------------------