La Red Pitaya est une plateforme FPGA appréciée pour ses nombreuses applications, de la création rapide de prototypes à des utilisations en laboratoire. Configurer l’exécution d’un programme au démarrage sur cette plateforme est crucial pour automatiser des tâches et garantir l’autonomie des systèmes.
Résumé : Pour activer une fonction autonome sur une carte Red Pitaya, il faut pouvoir démarrer un programme automatiquement dès l’allumage. Ainsi, la carte fonctionnera de manière indépendante dans votre système ou laboratoire.
![]()
Information avant de commencer
Niveaux de difficulté : 




Prérequis :
- Une carte Red Pitaya
- La programmation en C
Logiciels gratuits utilisés dans ce tutoriel :
- WinSCP
- Putty
- Advanced IP Scanner
- Notepad++
- Firefox
Mettre en place l’exécution automatique d’un programme sur Red Pitaya
Ce guide vous montre étape par étape comment configurer l’exécution automatique d’un programme en C sur votre Red Pitaya dès son démarrage.
Préparer la carte SD de votre Red Pitaya
Téléchargez l’image OS nécessaire et écrivez-la sur une carte microSD en utilisant un outil comme Etcher. Cette étape est vitale pour que votre Red Pitaya exécute les programmes au démarrage.
Installation et configuration initiale
Après avoir mis la carte SD dans la Red Pitaya, connectez-la au réseau. Utilisez Advanced IP Scanner pour trouver l’adresse IP de la Red Pitaya. Fixez ensuite une IP stable pour faciliter les futures connexions.
Se connecter à la Red Pitaya avec WinSCP
Utilisez WinSCP pour accéder aux fichiers internes de la Red Pitaya, nécessaires à la modification et au transfert des scripts.
Modification des paramètres réseau
Pour un accès stable, configurez une IP fixe en accédant à l’interface web de la Red Pitaya et ajustez les paramètres réseau.
Créer et lancer le programme en C
Vous allez écrire, compiler et tester un programme simple en C, exécuté automatiquement au démarrage de la Red Pitaya.
Écrire un programme C basique
Commencez avec un programme simple, comme un clignotement de LED, et ajoutez les commandes pour initialiser et utiliser l’API de la Red Pitaya.
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include redpitaya/rp.hint main (int argc, char **argv) { unsigned int period = 1000000; // Lancer le programme FPGA system("cat /opt/redpitaya/fpga/fpga_0.94.bit > /dev/xdevcfg"); usleep(2); // Initialiser l'API if (rp_Init() != RP_OK) { fprintf(stderr, "Red Pitaya API init failed!"); return EXIT_FAILURE; } rp_DpinSetState(1, RP_HIGH); unsigned int retries = 1000; while (retries--){ rp_DpinSetState(0, RP_HIGH); usleep(period/2); rp_DpinSetState(0, RP_LOW); usleep(period/2); } // Libérer les ressources rp_DpinSetState(1, RP_LOW); rp_Release(); return EXIT_SUCCESS;}
Compiler le programme en C
Utilisez les commandes adéquates pour compiler votre programme en C. Cette étape est essentielle afin de s’assurer que le code est sans erreur avant de le paramétrer pour l’exécuter automatiquement. Par exemple :
gcc -g -std=gnu99 -Wall -Werror -I/opt/redpitaya/include -L/opt/redpitaya/lib votre_programme.c -lm -lpthread -lrp -o votre_programme
Tester le programme compilé
Lancez le programme pour vérifier qu’il fonctionne bien avant de le configurer pour l’exécution automatique. Utilisez les commandes dans le terminal pour tester son bon fonctionnement. Par exemple:
LD_LIBRARY_PATH=/opt/redpitaya/lib ./votre_programme
Diviser les blocs de code
Séparez les segments de code en sections claires et commentées pour expliquer leur rôle et assurer une bonne compréhension par les lecteurs.
Configurer le lancement automatique du programme
Cette partie du guide vous montre comment créer le fichier de service nécessaire pour démarrer automatiquement le programme en C à chaque démarrage de la Red Pitaya.
Créer le script startup.sh
Rédigez un script shell pour compiler et lancer le programme C automatiquement. Placez ce script dans un répertoire dédié pour qu’il soit exécuté au démarrage. Voici un exemple :
#!/bin/sh -egcc -g -std=gnu99 -Wall -Werror -I/opt/redpitaya/include -L/opt/redpitaya/lib /ScieTech/startup.c -lm -lpthread -lrp -o /ScieTech/startupLD_LIBRARY_PATH=/opt/redpitaya/lib /ScieTech/startupexit 0
Créer le fichier de service systemd
Rédigez et configurez un fichier de service systemd dans /etc/systemd/system. Ce fichier définit le script à exécuter et le moment de son exécution. Par exemple :
[Unit]Description=My start-up script[Service]ExecStart=/bin/bash /ScieTech/startup.sh[Install]WantedBy=multi-user.target
Activer le service au démarrage
Employez la commande systemctl pour activer le service créé et faire en sorte que le script startup.sh soit exécuté au démarrage de la Red Pitaya. Par exemple :
systemctl enable startup.servicereboot
Vérification et débogage
Vérifiez l’état du service pour vous assurer qu’il fonctionne bien. Débugguez d’éventuelles erreurs en consultant les logs et ajustant les commandes nécessaires. Utilisez :
systemctl status startup.service
FAQ et dépannage
Voici des réponses aux questions fréquentes et des solutions aux problèmes courants pour garantir une installation réussie.
Problèmes de connexion et d’adresse IP
Des solutions pour corriger les problèmes de connexion ou de détection de l’adresse IP de la Red Pitaya. Recommandations pour une configuration réseau stable.
- Vérifiez que votre Red Pitaya est bien connectée au réseau et examinez les câbles.
- Utilisez Advanced IP Scanner pour identifier l’adresse IP de votre Red Pitaya.
- Configurez une adresse IP fixe pour éviter les changements d’IP dus au DHCP.
Erreurs durant le lancement du programme
Repérer et résoudre les erreurs courantes lors de l’exécution du programme. Utilisez les commandes de diagnostic disponibles pour y remédier. Par exemple :
- Assurez-vous que les permissions d’exécution sont correctes en utilisant la commande
chmod +x /votre_programme. - Vérifiez que toutes les dépendances sont bien installées.
Arrêter un programme en boucle infinie
Utilisez des commandes spécifiques pour interrompre un programme qui entrerait dans une boucle infinie. Reprenez le contrôle du terminal. Par exemple :
pkill -f votre_programme
Maintenant que vous savez comment lancer un programme au démarrage, vous pouvez créer vos propres applications.
N’hésitez pas à laisser un commentaire ou à me contacter si vous avez des questions sur ce tutoriel ou souhaitez que j’aborde un sujet spécifique.
