Compile problems & RTOS questions

6 posts / 0 new
Last post
Tom Lock
Offline
Last seen:6 years 1 month ago
Joined:2015-01-26 18:39
Compile problems & RTOS questions

I am in the process of evaluating whether the DA14580 is suitable for our application.

I am running uVision4, since uVision5 refused to open the Serial Port Service reference without legacy support and crashed with legacy support when closing any file.

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?

It looks like the DA14580 is running a multi-tasking RTOS. Is that correct, and do you have any documents describing the RTOS?

The compiled SPS host is a little less than 16K bytes. Does that look correct?

That would leave plenty of room for our application to run in the DA14580 without having to actually take the serial lines out to an external processor. Ideally, our application would have an SPS host send and receive short messages one at a time to/from 3 or 4 remote devices (also DA14580s) through separate host tasks (assuming I am right about the RTOS). Does this sound feasible? Is there a better way to communicate with several remote devices from the host?

Thanks,
TL

JE_Dialog
Offline
Last seen:49 min 20 sec ago
Staff
Joined:2013-12-05 14:02
Hello Tom,

Hello Tom,

We have had several reports of issues with Keil . I reverted back to 5.11.1.0 and manged to install legacy pack (which I couldnt on 5.13). We've only tested DSPS on uVision 5, so i cannot comment on 4.x. If you can find a copy of 5.11.1.0 then i can confrim that seems fine (I had the pain to try 5.13 recently after a HDD failure meant i needed to re-install).

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

Compiled version of the DSPS will be approx 15K so that does seem to be correct.

I'd like to get our local support team/distributor in US to give you a call to go through your requirements : I've sent an email to the US team. Its probably better to go through these on a call.

BR JE_Dialog

klim9531
Offline
Last seen:4 years 3 months ago
Joined:2015-01-28 23:52
Hello, I am getting a compile

Hello, I am getting a compile error when trying to compile the DSPS reference project 'sps_device.uvproj' using uVision 5.14.0.0.

The error occurs on line 360 of the app.c file (jump_table_struct[lld_rx_irq_thres] = (uint32_t) rx_threshold;) and is detailed "error: assignment to cast is illegal lvalue casts are not supported".

I don't see that there is a cast occuring on the left hand side of the =, I have tried removing the cast on the right side, among other things, all to no avail.

Because this DSPS project has been compiled successfully by others, I suspect that there is a problem with my IDE configuration or with this version of uV, but I am at a loss as to how to proceed.

I also tried finding an older version of Keil (V5.11.1.0), no luck other than some sketchy bittorrent sites.

Any help or suggestions would be greatly appreciated, thanks --klim

klim9531
Offline
Last seen:4 years 3 months ago
Joined:2015-01-28 23:52
UPDATE: Tried using a

更新:尝试使用一个完全不同的计算r, same result. So maybe it's not my setup after all...
Steps to reproduce:
-Using Win7 Pro 64 bit PC with current service pack 1 updates.
-Install Keil uVision 4.74.0.22 (or current version 5.14.0.0).
-Download reference project DA14580_DSPS_3.150.2___13_2_2015.zip and extract to folder SerialPortService.
-Navigate to SerialPortService\dk_apps\keil_projects\sps\sps_device and double click 'sps_device.uvproj' to open project in uVision.
——uVision,打开文件的应用程序。c' (in the app folder of project explorer).
-Scroll to line 359, function name is 'app_set_rxirq_threshold', error is on the only line in the function "jump_table_struct[lld_rx_irq_thres] = (uint32_t) rx_threshold;"
-Error reads "error: assignment to cast is illegal, lvalue casts are not supported"
-Commenting out the above line resolves the error but after build/deploy/run, DA14580 is not advertising/visible.

Quick note on lvalue cast error:
-Definition of lvalue: "in C, an lvalue represents an object that occupies some identifiable location in memory"
-I am unsure if this error message is a true reflection of the actual problem, I am fairly new to the DA14580 and uVision SDK so I am at a loss as to how to diagnose further.

Again, any insight, even if it's JUST TO LET ME KNOW THIS ERROR IS/IS NOT being seen elsewhere, would be greatly appreciated.

Cheers, klim

klim9531
Offline
Last seen:4 years 3 months ago
Joined:2015-01-28 23:52
UPDATE: Upon removing the

UPDATE: Upon removing the comment and recompiling, I now see that the 'error' is downgraded to a 'warning' during compile time that reads "warning: #1441-D; nonstandard cast value on lvalue jump_table_struct[lld_rx_irq_thres] = (uint32_t) rx_threshold".

I am, in fact, able to compile and run. Consider my request for comments closed.

-klim

JE_Dialog
Offline
Last seen:49 min 20 sec ago
Staff
Joined:2013-12-05 14:02
thanks for notification....

thanks for notification....