编译问题和RTOS问题

6个员额/0个新员额
最后一篇文章
汤姆·洛克
离线
最后一次见到:6年5个月前
加入:2015-01-26 18:39
编译问题和RTOS问题

我正在评估DA14580是否适合我们的应用。

我正在运行uVision4,因为uVision5在没有旧版支持的情况下拒绝打开串行端口服务引用,并且在关闭任何文件时由于旧版支持而崩溃。

起初,SPS主机不会编译,因为它找不到stdbool.h。这很容易固定。然后它没有__main的定义。我取消了rom_symdef.txt的相应行。这让它编译了,但我并不肯定是正确的事情,因为0x000000a1与跳转表中main_func的位置几乎没有关系。要做的是什么要做的事情是什么?

看起来DA14580正在运行多任务RTOS。这是正确的吗?您有任何描述RTO的文档吗?

编译后的SPS主机略小于16K字节。看起来对吗?

这将为我们的应用程序在DA14580中运行留下足够的空间,而无需实际将串行线输出到外部处理器。理想情况下,我们的应用程序将有一个SPS主机通过单独的主机任务(假设我对RTO的看法是正确的),一次一个地向3或4个远程设备(也是DA14580)发送和接收短消息。这听起来可行吗?是否有更好的方法从主机与多个远程设备通信?

谢谢
TL.

对话
离线
最后一次见到:1个月3周前
工作人员
加入:2013-12-05 14:02
你好汤姆,

你好汤姆,

我们收到了几份关于Keil问题的报告。我恢复到5.11.1.0并设法安装遗留包(在5.13上我无法安装)。我们只在uVision 5上测试了DSP,所以我不能对4.x发表评论。如果你能找到5.11.1.0的副本,那么我可以确认这似乎很好(在硬盘故障意味着我需要重新安装之后,我最近很痛苦地尝试了5.13)。

我们没有任何描述目前RTOS的文档......

DSP的编译版本大约为15K,因此这似乎是正确的。

我想让我们在美国的本地支持团队/分销商给您打电话,了解您的需求:我已向美国团队发送了一封电子邮件。在打电话的时候看这些可能更好。

BR JE_对话

克里姆9531
离线
最后一次见到:4年8个月前
加入:2015-01-28 23:52
您好,我收到一封邮件

您好,我在尝试使用uVision 5.14.0.0编译DSPS参考项目“sps_device.uvproj”时遇到编译错误。

错误发生在app.c文件的第360行(jump_table_struct[lld_rx_irq_thres]=(uint32_t)rx_threshold;),详细信息为“错误:对强制转换的分配是非法的,不支持左值强制转换”。

我看不出在=,的左边有一个石膏,我试着去掉右边的石膏,除其他外,都没有用。

由于其他人已成功编译此DSPS项目,我怀疑我的IDE配置或此版本的uV存在问题,但我不知道如何继续。

我还试图找到一个较旧版本的Keil(V5.11.1.0),除了一些粗略的bittorrent站点外,别无其他幸运。

任何帮助或建议都将不胜感激,谢谢——克里姆

克里姆9531
离线
最后一次见到:4年8个月前
加入:2015-01-28 23:52
更新:尝试使用

更新:尝试使用完全不同的计算机,同样的结果。所以毕竟也许不是我的设置......
复制步骤:
-使用带有当前service pack 1更新的Win7 Pro 64位PC。
-安装Keil uVision 4.74.0.22(或当前版本5.14.0.0)。
-download参考项目da14580_dsps_3.150.2___13_2_2015.zip和提取到文件夹SerialPortService。
-导航到SerialPortService\dk_apps\keil_projects\sps\sps_device并双击“sps_device.uvproj”以在uVision中打开项目。
-在uVision中,打开文件“app.c”(在project explorer的应用程序文件夹中)。
-滚动至第359行,函数名称为“应用设置阈值”,错误位于函数“跳转表结构[lld\U rx\U irq\U thres]=(uint32\U t)rx\U阈值”中的唯一一行
-错误读取“错误:对强制转换的分配非法,不支持左值强制转换”
-注释掉上面的行可以解决该错误,但在构建/部署/运行之后,DA14580不显示。

关于左值转换错误的快速说明:
-左值的定义:“在C语言中,左值表示在内存中占据某个可识别位置的对象”
-我不确定此错误消息是否真实反映了实际问题,我对DA14580和uVision SDK相当陌生,因此我不知道如何进一步诊断。

再次重申,任何见解,即使只是为了让我知道这个错误在其他地方没有被发现,都将不胜感激。

干杯,克里姆

克里姆9531
离线
最后一次见到:4年8个月前
加入:2015-01-28 23:52
更新:在删除

更新:删除注释并重新编译后,我现在看到“错误”在编译期间降级为“警告”,其内容为“警告:#1441-D;左值跳转表结构上的非标准强制转换值[lld_rx_irq_thres]=(uint32_t)rx_threshold”。

事实上,我能够编译和运行。考虑我的评论要求关闭。

-克里姆

对话
离线
最后一次见到:1个月3周前
工作人员
加入:2013-12-05 14:02
谢谢你的通知。。。。

谢谢你的通知。。。。