- ZYBO-Linux(I): Escribir la imagen de Linux-Debian en una SD
- ZYBO-Linux(II): Instalar o arrancar Linux-Ubuntu PC
- ZYBO-Linux(III): Conectar con la ZYBO a través del terminal, y usar los periféricos. Ejemplo de prender un led
- ZYBO-Linux(IV): Aplicación para leer el estado de los botones desde Linux
0- Tener creada una SD con la imagen de Linux-Debian hecho en el paso I y cambiar el Jumper JP5 a la posición SD.
1-Conectar la ZYBO a través de Ethernet al ordenador. Si tu ordenador carece de puerto Ethernet necesitarás un adaptador USB.
adaptador USB-Ethernet |
2- Configurar la conexión de red en la configuración de red y seleccionar Ethernet.
Introducir las siguientes direcciones de red en la configuración de IPv4 e IPv6:
IPv4 |
IPv6 |
3- Abrir el terminal en una computadora con linux (Debian/Ubuntu, etc) y conectar via ssh (secure shell) con la placa. Para ello escribiremos el siguiente comando en la consola:
ssh root@192.168.1.120
La dirección ip por defecto en la imagen cargada es 192.168.1.120. Esto puede variar con otras imágenes o configuraciones.
4- Para acceder la carpeta de archivos root para ver su contenido e incluir los ficheros c allí abrir una carpeta cualquiera (Nautilus) y hacer click en "connect to Server"
Introducir la IP del puerto de Ethernet anterior como se puede ver en la imagen:
Escribir “sftp://192.168.1.120” y conectar.
A continuación se deberá de abrir una carpeta de este tipo:
5- Crear un nuevo documento de texto en la carpeta raíz de la SD. Abriendo la carpeta y haciendo click derecho, seleccionamos creamos un nuevo archivo y lo renombramos para este ejemplo como blink.c
6- Escribir el código en el archivo de texto. Haciendo doble click sobre el archivo blick.c se abrirá con un bloc de notas vacío. Allí procedemos a insertar nuestro código.
Bloc de notas vacío |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include <stdio.h> #include <stdlib.h> #include <fcntl.h> /* Blinking led example www.dieBotReise.blogspot.com*/ int main () { int exportfd = open( "/sys/class/gpio/export" , O_WRONLY ); if( exportfd < 0) { printf( "Cannot open GPIO to export it \n"); exit (1); } write( exportfd ,"913",4); close( exportfd ); printf(" GPIO exported successfully \n " ); /* Get the GPIO value ready to be toggled */ int valuefd = open( "/sys/class/gpio/gpio913/value" , O_RDWR ); if ( valuefd < 0){ printf(" Cannot open GPIO value \n " ); exit (1); } printf(" GPIO value opened , now toggling ...\n " ); /* toggle the GPIO forever , press control + c to stop it */ while (1) { int i ; for(i=0;i<0xFFFFFF;i++){} write( valuefd , "1" , 2); for(i=0;i<0xFFFFFF;i++){} write( valuefd , "0" , 2); } } |
7- Guardar y compilar nuestro programa. Para compilar usando el compilador preinstalado de linux gcc abrimos el terminal y escribimos el comando:
gcc blink -o blink
Ahora si todo se compiló sin errores se debería mostrar una nueva línea de comando como en la siguiente imagen.
Compilación sin errores |
En el caso en que hubiera algún error en el código nos saldría un mensaje explicando el error como el de la figura de abajo:
Compilación con errores |
./blink
Y el led empezará a parpadear. Para parar la aplicación hay que pulsar cntrl+C!!
Buenos días,
ResponderEliminarMuy buen post! Al intentar realizar la conexión SSH me pide contraseña. ¿Cual es?
Gracias!