LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 

Adopt emb.LV to emb.Linux Target ARM9 Prozessor

Hello I posted this request also in the LabView board... but now I saw, that there is an embedded LV specific too.
Smiley Happy

I'm a student doing my thesis work in sweden and I'm quite new to LV.
I read the manual for porting emb.LV Runtime but don't have an idea where I have to start with.
my platform is an microcomputer (NetDCU8) with an ARM 9 prozessor, touchscreen, Network, serial ports, SD-Card and ADC's running embedded Linux (Emlix).

The graphic part I allready programmed in C/C++ and it could be running as a thread.

This is what I need to programm within LV:
- starting the graphicfunction as a thread
- reading values from ADC's and store them into global Arrays every 60 seconds
- doing some calculations with those values
- storing values into logfiles onto Networkfolder and SD-Card (both mounted when the target start up Linux)

I'm able to do all this stuff in C/C++. But as a part of my thesis work, I have to make emb. LV useable for programming for my target.
The BSP is only for Linux-Computers.

I'm not very familar with operating systems and have zero experience in porting anything.
But if there are some good hints, where I have to look at and what I maybee can use, that's already done, then I think I have a chance to manage it.

...I have only 1 month left for my work.... 

Best regards from Göteborg,

Tobias
0 Kudos
Message 1 of 56
(11,761 Views)
Hi Tobias,

Before you begin, verify that you know all the steps required to run a C application on your embedded target. Be familiar with the compiler, linker, and how to download and run. The more you know about the toolchain, the easier porting LabVIEW Embedded to the target becomes.

The first step is porting the LabVIEW run-time libraries to your target. This step is explained in detail in the LabVIEW Embedded Porting Guide. After that, you create your new target in LabVIEW and integrate the toolchain by implementing plug-in VIs to support building, downloading, and running. These are the required steps to run LabVIEW Embedded applications on arbitrary targets.

Since the the BSP is only for Linux computers, that means you will need to do one of two things: (1) rebuild the BSP in Cygwin for Windows. This could prove to be difficult depending on your expertise in C and Unix programming. (2) Use the plug-in VIs to SSH to the Linux machine and build the application. This adds another layer of complexity to the porting process.

Given your admitted lack of expertise in porting, LabVIEW, and your short timeline, you will need help from your colleagues to be successful.
--
Michael P
National Instruments
0 Kudos
Message 2 of 56
(11,749 Views)

dear professor

      i  want to ask you some questions about the labview embedded development module.i have got the basic knowledge about it. my probelm is that  how can i  dowm my program in the arm?i know that there are two ways:

first, we can setup a project in the labview embedded development module,then  run it ,it will generate the c code ,and we can compile it using the arm compiler.(such as ADS1.2),but i find there will be many errors.many functions aren't defined.i don't know why

second ,i know that we can down the code in arm directly,but i can't understand the steps.i can get some messages in the Instrumented Debugging(EMB_Porting_Guide),but i still don't what should i do ?

thank you for answering my questions.

i like thinking ,i enjoy doing the work.baxia
0 Kudos
Message 3 of 56
(11,669 Views)
Hi,

The possible methods of downloading an application to an embedded target are target-dependent. That said, here are some basic ways

  • Bootloader interface. For example, the Redboot bootloader has an interface that allows you to transfer an application to RAM over a serial connection, then initiate a "Go" command to run the code.
  • JTAG. On-chip debug interfaces commonly include ways to download code to a target
  • Ethernet download. If a target is running an OS like uCLinux, you may be able to open an ftp or ssh connection to download your application to its file system.
All of these solutions can be realized in LabVIEW through plug-in VIs, as described in the LabVIEW Embedded Porting Guide. I recommend that you first complete all the steps manually, then start using LabVIEW to automate the process.

Regarding errors you receive because of undefined functions, it sounds like you have not completed the first step of the porting process -- You need to port the run-time libraries (described in chapter 7 of the LabVIEW Embedded Porting Guide). Look at LVDefs_plat.h especially closely -- This is where you need to tell LabVIEW how your specific target defines data types and basic OS functions.
--
Michael P
National Instruments
0 Kudos
Message 4 of 56
(11,612 Views)

hello,professor Michael P

  thank you for your answers,i read the port the run-time libraries (described in chapter 7 of the LabVIEW Embedded Porting Guide) carefully,if i use the uclinux,i want to do some change basing on the unix,but i find i can't change anything,maybe the function using in the unix can also be used in uclinux?

  so i want to do the project on the unix?is it right?

thank you !

 

                                                                                                                                                                                                                                                                                  莲子

i like thinking ,i enjoy doing the work.baxia
0 Kudos
Message 5 of 56
(11,592 Views)
Hi,

If your target is uCLinux, I recommend that you start with the makefile here: LabVIEW 8.5\Targets\NI\Embedded\unix\m5329evb\build\Makefile. You should be able to make minor modifications to this and the Makefile.sub.mk file to build the runtime libraries for your target.
--
Michael P
National Instruments
0 Kudos
Message 6 of 56
(11,588 Views)

dear professor:

   thank you for your answers again!

now i still have a question:i can run the simple program on the arm7(s3c44b0) without os,to begin with the labview development module ,can i also begin to write a simple program in labview embedded module to the arm without os?

if it can do it,we will do the program more quickly!

thank you !

                                                                                                                                                                                                                                                          莲子

                                       

 

i like thinking ,i enjoy doing the work.baxia
0 Kudos
Message 7 of 56
(11,581 Views)
Hi,

There are no examples of "bare metal" targets, that is, targets with no OS/kernel. I would recommend against this. Without an operating system, you cannot take advantage of the OS threads or synchronization capabilities like RT FIFOs, semaphores, rendezvous, etc.). This greatly limits what you are able to do in your LabVIEW code.

What is your motivation for wanting to have no OS? Performance? Size? Cost?
--
Michael P
National Instruments
0 Kudos
Message 8 of 56
(11,579 Views)
dear professor
       because i am not  familiar with the os, i will want to do the project without os at the frist.and but from your words,i know what i should do !
thank you very much!
 
 
                                                                                                                                                                                                                                             lianzi
i like thinking ,i enjoy doing the work.baxia
0 Kudos
Message 9 of 56
(11,563 Views)

dear professor:

        i  ran a simple example using the unix console target,but when i want to build the project,it  fail to build,the error message is as follows:

error output:

Open Process Session.vi

i don't know why?

 

i like thinking ,i enjoy doing the work.baxia
0 Kudos
Message 10 of 56
(11,244 Views)