LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 

Cygwin + ecos + ARM7 +LV

Hello Again,

 

As I have found some time to start again with LV Emb I would ask more experienced users.

 

My setup is:

 

Gnu toolchanin build and used under Cygwin

ARM7 LPC2148 Ev Board

LV Emb dev module

 

I can build and run small application (c one) on dev board with toolchain but now I wish to use it with LV embedded. First thing that worries me a bit that Build.vi invokes system console  (so in my case when I use XP that wint be a cygwin). Can I ask on some tips how to modify build vi to use cygwin as a console??

 

Thank You in Advance

 

Marcin

 

0 Kudos
Message 1 of 21
(9,388 Views)
If you run a command like "gcc" from the windows console, it will run it under cygwin automatically. However, if you want to force a command for a particular shell, you could use the command

bash -c "<command line to run in bash>"

or

bash script.sh   


Joel Sumner
NI-Shanghai
0 Kudos
Message 2 of 21
(9,378 Views)

Hello again,

 

Tank You for previous answer. Idd gcc runs without problems. Now I stuck on linker errors:

One of them is:

 

LVBlockDiagram.c:(.text+0xcc): undefined reference to `memmove'

 

Strange thing is that my “string.h” doest not contain definition for memmove (and that already explains my error), any idea how can I recover form this problem??

 

My prev eCos kernel configuration was not supporting dynamic memory allocation therefore I got much more complains about *mem*. Is there some way to force on LV C code generator to not use certain functionalities? (like this memory allocation)

 

Marcin

 

0 Kudos
Message 3 of 21
(9,371 Views)
Marcin,

To support the static memory model, all the C files must be compiled with the CStatic compiler directive defined and active syntax checking must be enabled. Take a look at Chapter 12 of the Embedded Porting Guide for an in-depth explanation of static memory allocation.

Message Edited by Michael P on 05-11-2006 04:50 PM

--
Michael P
National Instruments
0 Kudos
Message 4 of 21
(9,363 Views)
Thank You for answer,
 
Seems like my memory allocation problems were quite small comparing to what i get now as linker error output. I've attached file with it. I will be appreciate I someone could take a look and point me where to start. Thank You already...
 
Marcin

Message Edited by MarM on 05-12-2006 08:41 AM

0 Kudos
Message 5 of 21
(9,346 Views)
Hi Marcin,

It sounds like LabVIEW has not been properly hooked into your toolchain. How are you building in your runtime library? Did you create a makefile, are you building it yourself, ...? Where are you linking in your runtime library? When you compile in C, what flags are you using for the compiler/linker? What flags is LabVIEW using?
--
Michael P
National Instruments
0 Kudos
Message 6 of 21
(9,340 Views)
Hello Michael,
 
I have atached two files. They are containing my LV gcc compiler and linker calls. Thank You for your time..
 
Marcin
Download All
0 Kudos
Message 7 of 21
(9,331 Views)
What is in the VI that is causing the linker error.  I would suggest that you try an application with just a for loop and a constant wired to the n terminal.

Also, check the projobjs.lst file after the code generation to verify that all of the generated object files are, in fact, being added to the list.  The missing symbols are an indication that none of these object files are actually being linked in...

Finally, in our examples for ecos, we call gcc as the compile and the link command.  Is there a reason that you are not doing this?

Thanks,
P.J.
0 Kudos
Message 8 of 21
(9,318 Views)

Hello Again,

Seems like i wanted to be smarter than you guys are:) My problem was that in project manager i gave to seperate tools for compile link strip and objcopy. then i didnt care about flags anymore. So thank you pjtanz for you last question....that was the key. thank you  Michael for your time and patience!

Marcin  

0 Kudos
Message 9 of 21
(9,310 Views)

New Issue...

I've installed Red Boot on LPC2148 developement board. After compilation debug.vi starts loading application (which is 171kb) but downloading stops after 32kB. That is exactly amount of RAM memory in controller. So I suppose this behaviour is correct. Is that true that LV runtime library makes 171kb of programm? If so, is there a way to make just tiny demonstration programm that is using while loop and iteration controll?? (now i uderstand why size of ram should be at least 256kb)

Marcin

0 Kudos
Message 10 of 21
(9,291 Views)