From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW Embedded for ARM build fails

Solved!
Go to solution

I'm using the LabVIEW Embedded module for ARM microcontrollers with the
Luminary EK-LM3S8962 evaluation board.

When I try to build/run the example vi in the tutorial (pg 13 of the Getting Started
doc)I get the following error: Build Failed. Build failed with errors.

The output is the following:


Build target 'LabVIEW'
assembling Startup.s...
compiling RTX_Config.c...
..\System\RTX_Config.c(157): error:  #130: expected a "{"
compiling Retarget.c...
compiling TargetInit.c...
compiling ARM_irq.c...
compiling ARM_RTClock.c...
compiling ARM_Serial.c...
compiling EKLM3S8962_Display.c...
compiling LM3S_EMAC.c...
D:\Program Files\National Instruments\LabVIEW
8.6\Targets\Keil\Embedded\RealView\Drivers\RL-ARM\Include
\RLARM_Net_Config.h(31)
: error:  #256: invalid redeclaration of type name "S8" (declared at line
37 of
"d:\Keil\ARM\RV31\INC\RTL.h")
compiling ARM_I2C.c...
compiling ARM_SPI.c...
compiling LM3S_Pins.c...
compiling LVCGenIntInit.c...
compiling Untitled_ARM.c...
compiling lvEmbeddedMain.c...
<-----snip------>
compiling RLARM_CAN_Wrapper.c...
Target not created

0 Kudos
Message 1 of 14
(11,705 Views)
Solution
Accepted by topic author Everett_U

You forgot to tell us about your MDK-ARM version (perhaps MDK 3.5+).
Open Keil uVision and double click on those errors:


..\System\RTX_Config.c(157): error:  #130: expected a "{"
Just move __task to the beginning of that line
__task void os_idle_demon (void){

 

To make a permanent change you could also modify the file <LabVIEW>\Targets\Keil\Embedded\RealView\EK-LM3S8962\Template\System\ RTX_Config.c

\RLARM_Net_Config.h(31)
: error:  #256: invalid redeclaration of type name "S8" (declared at line 37 of "d:\Keil\ARM\RV31\INC\RTL.h")
Comment the line:
//typedef char             S8;     /*defined elsewhere as of MDK 3.5*/

 

This will be for good.

Message 2 of 14
(11,701 Views)
Thanks!
0 Kudos
Message 3 of 14
(11,699 Views)

Hello I'm experimenting with the eval version for LV 8.5 with a MCB2300. I also have the 3.80 version of Uvision. Thought I would try the above suggestions on my problem but it generated a host of new errors.

Here's the original errors:

Build target 'LabVIEW'
assembling LPC2300.s...
compiling RTX_Config.c...
C:\Keil\ARM\RV31\INC\RTX_Config.h(18): error:  #35: #error directive: New RTX-V2 core does not require RTX_Config.h
compiling TargetInit.c...
compiling LPC23_EMAC.c...
C:\Program Files\National Instruments\LabVIEW 8.5\Targets\Keil\Embedded\RealView\Drivers\RL-ARM\Include\RLARM_Net_Config.h(31): error:  #256: invalid redeclaration of type name "S8" (declared at line 37 of "C:\Keil\ARM\RV31\INC\RTL.h")
compiling ARM_Serial.c...
compiling ARM_RTClock.c...
compiling ARM_irq.c...
compiling ARM_I2C.c...

 

After commenting out S8 in RLARM_Net_Config.h and RTX_config.h in RTX_Config.h I have a rash of new errors. Any suggestions?

Build target 'LabVIEW'
assembling LPC2300.s...
compiling RTX_Config.c...
..\System\RTX_Config.c(272): error:  #20: identifier "P_TCB" is undefined
..\System\RTX_Config.c(300): error:  #70: incomplete type is not allowed
..\System\RTX_Config.c(307): error:  #20: identifier "P_TCB" is undefined
..\System\RTX_Config.c(311): error:  #20: identifier "P_TCB" is undefined
..\System\RTX_Config.c(331): error:  #130: expected a "{"
..\System\RTX_Config.c(388): error:  #20: identifier "READY" is undefined
..\System\RTX_Config.c(391): error:  #70: incomplete type is not allowed
..\System\RTX_Config.c(391): error:  #20: identifier "RUNNING" is undefined
..\System\RTX_Config.c(464): error:  #70: incomplete type is not allowed
..\System\RTX_Config.c(473): error:  #20: identifier "P_TCB" is undefined
..\System\RTX_Config.c(479): error:  #20: identifier "P_TCB" is undefined
..\System\RTX_Config.c(493): error:  #20: identifier "P_TMR" is undefined
..\System\RTX_Config.c(503): error:  #20: identifier "P_TMR" is undefined
..\System\RTX_Config.c(514): error:  #20: identifier "P_TCB" is undefined
..\System\RTX_Config.c(515): error:  #20: identifier "FUNCP" is undefined
..\System\RTX_Config.c(523): error:  #20: identifier "TCB" is undefined
..\System\RTX_Config.c(524): error:  #20: identifier "READY" is undefined
..\System\RTX_Config.c(584): error:  #20: identifier "P_TCB" is undefined
..\System\RTX_Config.c(584): error:  #1502: arguments for __svc or __svc_indirect function must have integral type
..\System\RTX_Config.c(585): error:  #20: identifier "P_TCB" is undefined
..\System\RTX_Config.c(600): error:  #20: identifier "RUNNING" is undefined
..\System\RTX_Config.c(618): error:  #20: identifier "P_TCB" is undefined
..\System\RTX_Config.c(620): error:  #70: incomplete type is not allowed
..\System\RTX_Config.c(628): error:  #20: identifier "P_XCB" is undefined
..\System\RTX_Config.c(628): error:  #70: incomplete type is not allowed
compiling TargetInit.c...
compiling LPC23_EMAC.c...
compiling ARM_Serial.c...
compiling ARM_RTClock.c...
compiling ARM_irq.c...
compiling ARM_I2C.c...
compiling ARM_SPI.c...

0 Kudos
Message 4 of 14
(11,648 Views)

Richard,

 

          Do you have LabVIEW 8.5 or 8.5.1 (it will say in the Help>About LabVIEW in the bottom right of the pop up window)?

 

          Have you been able to get any shipping examples to run?

 

If you can't even get a shipping example to run without changing the system files then something is wrong overall. You should just be able to install the software and activate MicroVision and download a shipping example to the MCB2300.

0 Kudos
Message 5 of 14
(11,634 Views)

8.5.1  None of the shipped examples will run. I'm assuming it's because I have a later version of uVision than what shipped with the 8.5.1 eval CD.

 

Richard

0 Kudos
Message 6 of 14
(11,629 Views)

Hello Richard,

 

A few things were changed in uVision 3.5, so the RTX_Config.c file must be updated (in addition to the the other fixes mentioned earlier).  If you look in the directory C:\Keil\ARM\Boards\Keil\MCB2300\RTX_Blinky you can find an RTX_config.c that works with uVision 3.5.  However, there are modifications needed to get this to work.  You can figure out the changed needed by comparing the existing RTX_Config.c in LabVIEW and this new one from the Keil folder.

 

Alternately, I've attached my solution.  Place this file in <LabVIEW folder>\Targets\Keil\Embedded\RealView\MCB2300\Template\System and create a new LabVIEW project and build.  This should work in uVision 3.5 (but not 3.2, so create a backup if you wish to go back to 3.2).

 

good luck!

0 Kudos
Message 7 of 14
(11,620 Views)
Thanks. On to the next set of problems...
0 Kudos
Message 8 of 14
(11,594 Views)

Hello,

 

I have LV8.6 and the same problem since I updated to uVision v3.85 (MDK-ARM v3.70), because of Error C9932E:

"Build target 'LabVIEW' compiling TargetInit.c...
TargetInit.c:Error:C9932E:This Evaluation Version has expired. Please contract your supplier.
Target not created".

 

Now I allways get those two Errors:

"D:\Keil\ARM\RV31\INC\RTX_Config.h(18): error:  #35: #error directive: New RTX-V2 core does not require RTX_Config.h"

"D:\Programme\National Instruments\LabVIEW 8.6\Targets\Keil\Embedded\RealView\Drivers\RL-ARM\Include\RLARM_Net_Config.h(31): error:  #256: invalid redeclaration of type name "S8" (declared at line 37 of "D:\Keil\ARM\RV31\INC\RTL.h")"

 

I allready tried the attached RTX_Config.c but it didn´t change anything.

 

 

 

 

 

0 Kudos
Message 9 of 14
(11,546 Views)

Hello,

 

now I downgraded to uVision 3.62c (MDK-ARM 3.22, but there I get the other error again:

"RTX_Config.c: Error: C9932E: This Evaluation Version has expired. Please contact your supplier."

 

I hope the ne Version vom Embedded for ARM will solve my problem:

http://joule.ni.com/nidu/cds/view/p/id/1371/lang/de

0 Kudos
Message 10 of 14
(11,534 Views)