编译问题和RTOS问题

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

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

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

At first the SPS host would not compile because it could not find stdbool.h. That was fixed easily enough. Then it did not have a definition for __main. I uncommented the appropriate line in rom_symdef.txt. That got it to compile but I am not at all sure that was the right thing to do, since 0x000000a1 bears little relation to the location of main_func in the jump table. What is the right thing to do to get it to compile?

看起来DA14580运行的是多任务RTOS。是这样吗?你有描述实时操作系统的文件吗?

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

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

谢谢,
TL

JE\U对话框
离线
最后一次见到:1天12小时前
工作人员
已加入:2013-12-05 14:02
Hello Tom,

Hello Tom,

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

We don't have any docs describing the RTOS currently...

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

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

BR JE\u对话框

克里姆9531
离线
最后一次见到:4年6个月前
已加入:2015-01-28 23:52
你好,我有电话

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

错误发生在app.c文件的第360行(jump\u table\u struct[lld\u rx\u irq\u thres]=(uint32\u t)rx\u threshold;)并详细说明了“错误:对强制转换的赋值是非法的,不支持左值强制转换”。

我没有看到有一个石膏发生在左手边的=,我试图消除石膏在右侧,以及其他事情,都没有结果。

因为其他人已经成功地编译了这个DSPS项目,我怀疑我的IDE配置或这个版本的uV有问题,但是我不知道如何继续。

我还试着找到一个较旧版本的Keil(V5.11.1.0),除了一些粗略的bittorrent站点外,运气不好。

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

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

更新:尝试使用一个完全不同的计算r, same result. So maybe it's not my setup after all...
复制步骤:
-使用带有当前service pack 1更新的Win7 Pro 64位PC。
-安装Keil uVision 4.74.0.22(或当前版本5.14.0.0)。
-Download reference project DA14580_DSPS_3.150.2___13_2_2015.zip and extract to folder SerialPortService.
-导航到SerialPortService\dk\u apps\keil\u projects\sps\sps\u device并双击“sps\u device.uvproj”以在uVision中打开项目。
-在uVision中,打开文件“app.c”(在project explorer的app文件夹中)。
-滚动到第359行,函数名为'app\u set\u rxirq\u threshold',错误出现在函数“jump\u table\u struct[lld\u rx\u irq\u thres]=(uint32\u t)rx\u threshold;”
-错误读取“错误:对强制转换的赋值非法,不支持左值强制转换”
-注释掉上面的行可以解决这个错误,但是在build/deploy/run之后,DA14580没有广告/可见。

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

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

干杯,克里姆

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

更新:删除注释并重新编译后,我现在看到“error”在编译时被降级为“warning”,即“warning:#1441-D;左值跳转表结构[lld\u rx\u irq\u thres]=(uint32\u t)rx\u threshold]上的非标准强制转换值。

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

-克里姆

JE\U对话框
离线
最后一次见到:1天12小时前
工作人员
已加入:2013-12-05 14:02
谢谢通知。。。。

谢谢通知。。。。