LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 

Build fail without errors

I've been getting often enough strange compilation errors from the labview application status window, the weirdest being

 

[10:30:36 AM] Status: Error
linking...
Program Size: Code=94136 RO-data=2936 RW-data=2664 ZI-data=14536 
".\Obj\LabVIEW.axf" - 0 Error(s), 0 Warning(s).

Status: Build failed.

 

The build failure without errors seems to be a red herring; it actually builds and links fine, but for some reason Labview takes offense to it and reports a build failure. If you rerun the build again it resumes where it had "failed" and the target is loaded and started... very strange behaviour, and it is not limited to the LM3S project, I get it with the MCB2378. Anybody knows why this would happen?

 

Anyway just putting this out there for others who would encounter this problem.

0 Kudos
Message 1 of 2
(5,488 Views)

Hey Simon,

 

When you reload the code and it compiles correctly does it operatre as expected? Here are some things that I believe we have gone over but should be useful for other members of the forums:

Debugging in Keil uVision

 

After c generating an embedded application, you should have the project loaded in the Keil uVision IDE. The following steps will help you debug the application.

  1. Click "Reset CPU"
  2. Click "Run"
  3. Click "Halt."
  4. You should be stopped in a loop in a function named OCDI_RDMWaitOnStart in OCDICheckPoint.c. The function waits for LabVIEW to be ready by checking the variable named OCDI_RDMStart. Since we are not using LabVIEW to run the application, we need to change this variable manually using the watch window.
  5. Add the variable OCDI_RDMStart to the watch window.
  6. Set any other breakpoints that you want in the project.
  7. Select View->Period Window Updates
  8. Click "Run"
  9. From the watch window, change the variable OCDI_RDMStart to 0x01. The application will exit the loop and run your VI.
  10. To run the application again:
    1. Click "Reset CPU"
    2. Click "Run"
    3. From the watch window, change the variable OCDI_RDMStart to 0x01.
  11. You can also add "one button dialog" nodes to your VI, and this will do a printf that you can see in the Keil IDE. Choose View->Serial Window->Real-Time Agent Terminal to see the window that receives the output.

My guess is that the first time you run it the project is looking for a pointer or something and then the second time it know knows where it is and finishes without error. 🙂 

 

Sam S
Applications Engineer
National Instruments
0 Kudos
Message 2 of 2
(5,479 Views)