Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Code C pour Processeur VxWorks

Bonjour,

 

Je suis face à une interrogation concernant le telechargement de code sur processeur temps réel (VxWorks)de ma carte SbRIo.

J'ai écrit un programme en C sous Windriver WorkBench(Plateform VX Works).Je souhaite mettre le programme compilé sur le processeur via FTP dans ni-rt/system et puis lors du demarrage, que celui boot directement sur mon programme.

 

Mais lors de la compilation sous Windriver,  j'obtiens différents fichiers (.o;.out), et je ne sais pas lequel il faut placer dans le dossier ni-rt/system.

 

Si une personne peut m'apporter de l'aide.

 

Je vous remercie,

 

PNI

0 Compliments
Message 1 sur 8
4 702 Visites

De ce que j'en sais, tu ne peux pas booter directement sur ton programme VxWorks pur.

Par contre tu peux faire en sorte de développer une bibliothèque dynamique pour VxWorks ensuite tu appelle cette bibliothèque depuis LV.

Slts, 

Pierre R...

Certified LabVIEW Developer
0 Compliments
Message 2 sur 8
4 693 Visites

My apologies in advance because I don't speak French.  The method for downloading or running your .out file directly on a CompactRIO controller are included in the help documents for the FPGA Interface C API.  Here is the excerpt for VxWorks:

 

VxWorks

If you are developing for a VxWorks system, you can use the serial console for debugging. FTP the built binary (MyApplication.out) and the .lvbitx file to the root directory of the target. Using the serial console, type the ld command as shown in the following example to load the library.

ld < MyApplication.out

After loading the library, you can call any function in the library from the serial console.

When your application is complete and debugged, you can set up the system to run it on startup. Modify ni-rt.ini by appending to StartupDLLs under the [LVRT] section.

For example, you would change "StartupDLLs=<DLLs>;" to "StartupDLLs=<DLLs>;/c/MyApplication.out;". Now your application will run every time the system starts up. 

 

I hope this helps,

 

Spex
National Instruments

To the pessimist, the glass is half empty; to the optimist, the glass is half full; to the engineer, the glass is twice as big as it needs to be has a 2x safety factor...
Message 3 sur 8
4 690 Visites

Bonjour,

 

Merci pour vos réponses.

 

J'ai bien lu vos propositions,et j'ai remarqué que vous utilisiez Labview pour éxécuter un programme C alors que je souhaite télécharger un .exe( ou autre format considéré comme un .exe pour le processeur) sans utiliser Labview.

Je désire seulement allumer l'alimentation de ma carte SbRio et que le processeur de celle-ci, boot directement sur mon programme que j'ai pu copier dans ni-RT/systems.

 

Je souhaite juste faire une communication entre mon PC et le processeur de la carte.

 

Sous WindRiver, dans le dossier aprés compilation, j'obtiens que des.out et .o et pas de librairies...

 

Je vous remercie de votre aide par avance,

 

Cordialement,

 

PNI

0 Compliments
Message 4 sur 8
4 645 Visites

As-tu essayé de faire en sorte de charger la dll au démarrage ?

Si oui as-tu essayé de mettre du code fonctionnelle dans l'equivalent de la DllMain(), je ne sais )plus le nom sous VxWorks.

Cela te permettrait de lancer ton code "opérationnel" contenu dans une librairie partagée (tradtionnellement) .so .

Salutations,

Pierre R...

Certified LabVIEW Developer
0 Compliments
Message 5 sur 8
4 636 Visites

Je vous remercie de votre aide PierreR.

 

Mais étant debutant en programmation C pour labview, je ne comprend pas entièrement votre explication.

 

Le dossier de compilation de WindRiver me donne des .o et .out.Pensez vous que ces fichiers sont déjà suffisants pour lancer mon programme?

 

De plus lorsque je regarde les fichiers contenus dans ni-rt/system,  je vois beaucoup de .out. Si j'inclus mon fichier .out dans ni-rt system, pensez vous que cela peut fonctionner?

 

Enfin je ne sais pas comment utiliser la DLL de Labview.

 

Meci encore pour votre aide.

 

PNI

 

 

0 Compliments
Message 6 sur 8
4 627 Visites

Hello PieNI,

 

I believe my earlier post included all you need to directly run your "application.out" on VxWorks without using LabVIEW to load it.  You simply need to FTP your .out file to the root directory of the VxWorks target and then use the "ld" command to load the library, then call any functions you included in the library.  

 

Is it possible for anyone (Pierre, maybe) to translate my previous instructions to French?

 

Regards,

 

 

 

Spex
National Instruments

To the pessimist, the glass is half empty; to the optimist, the glass is half full; to the engineer, the glass is twice as big as it needs to be has a 2x safety factor...
0 Compliments
Message 7 sur 8
4 615 Visites

Thanks for your reply, I will try your solution today.

 

There isn't any problem to understand you  and a reply is always welcome, same in English.

Thanks

 

PNI

0 Compliments
Message 8 sur 8
4 603 Visites