Cómo programar microcontroladores de la familia PIC de Microchip en GNU/Linux
Introducción
Si tienes un programador serie de la familia T20 o derivados estás de suerte. Ahora, con una mínima modificación en tu programador, puedes programar microcontroladores PIC utilizando la herramienta PICPROG que actualmente se encuentra en su versión 1.7 (y tu programador seguirá siendo compatible con icprog
Qué necesitamos
Hablaremos del software. Lo único que nos hace falta es tener instalado picprog. Bajamos el paquetito debian que vemos (a la hora de escribir éste documento es picprog-1.7-2_i386.deb
Cuando tengamos el archivo, lo instalamos. Como root tecleamos
Después de la instalación ya estaremos listos para utilizarlo como se muestra a continuación.
Utilización
Borrado del microcontrolador
Para borrar por completo el microcontrolador escribimos:
Las opciones son las siguientes:
--erase Borra el chip.
--burn Si no utilizamos ésta opción, en realidad no haremos nada sobre el micro, tan solo simularemos la operación, lo cual nos sirve para verificar que la sintaxis ha sido correcta.
-d pic16f84 Microcontrolador sobre el que operar. Picprog es capaz de autodetectar gran cantidad de micros por si mismo, pero no está de mas ayudarle un poco.
-pic /dev/ttyS0 Puerto a utilizar para comunicarnos con el programador. Por defecto se utiliza /dev/ttyS0, pero tampoco está de mas indicárselo. No debemos olvidar dar los permisos necesarios a los puertos para poderlos utilizar.
Programación
Para programar el micro:
La única opción nueva aquí es --input que como habremos imaginado sirve para indicar cual es el archivo con extensión .hex a utilizar.
Lectura
Por último como leer del micro:
Con la opción --output le decimos a picprog dónde queremos que guarde los datos leídos.
Notas
Es útil indicar que se pueden realizar varias operaciones a la vez, como por ejemplo el borrado y la programación en una misma llamada, para ello solo hay que indicar las dos opciones a la vez y picprog borrará y después programará nuestro micro con el archivo que le indiquemos.
Para los menos versados en el tema que seguro que se preguntan que qué pasa con los fusibles, con la EEPROM, etc... Bueno, tanto los fusibles como el espacio de EEPROM pertenecen al espacio de direcciones de los micros, por lo que solo hay que buscar en la documentación de cada micro e indicarle al ensamblador con las directivas adecuadas qué valores hay que almacenar en cada dirección de memoria (usualmente suelen utilizarse directivas db para éso.
El hardware
Para poder utilizar el programador T20 con picprog (y aún así que sigua siendo compatible con icprog) deberemos hacer una pequeña modificación en el hardware. Ésta modificación consiste tan solo en cortar un par de pistas e introducir un transistor MOS 2N7000 o compatible.
En el siguiente enlace sobre modificación del T20 podremos ver de forma gráfica éste proceso.
Es muy sencillo, y si no nos atrevemos nosotros seguro que conocemos a alguien que se atreva a hacerlo por nosotros.
Cómo utilizar el gestor de instalación de paquetes GNU stow
Introducción
stow es una pequeña herramienta que sirve para instalar paquetes (normalmente a partir de sus fuentes). Permite que los binarios, ficheros de cabecera y de ayuda del paquete estén accesibles; pero teniendo controlado dónde va a parar cada fichero, de modo que la desistalación elimina TODO lo instalado. En cualquier caso, siempre es preferible utilizar el sistema de paquetes de la distribución (deb, rpm,) pues suele permitir un mejor control del sistema.
Instalación de stow
Suele estar disponible como paquete en las distribuiciones de GNU/Linux más extendidas. En Debian GNU/Linux y distribuciones derivadas (como Ubuntu) es tan fácil como:
Instalación de un paquete usando stow
Supongamos que vas a instalar un paquete a partir de sus fuentes, por ejemplo, gnome-commander-1.1.5.tar.gz. Primero se descomprime:
A continuación "configuramos" el sistema de compilación. Con prefix se indica a configure el directorio en el que se va a instalar el programa. Lo más aconsejable es utilizar un subdirectorio que cuelgue de /usr/local/stow es un buen sitio. Si ese directorio no hay que crearlo. El grupo propietario del directorio stow debería ser staff. Resulte este punto puedes proceder:
Con esto, los binarios quedan instalados en el directorio indicado. Sin embargo, esos directorios no están en el PATH y el programa no se puede invocar a menos que se indique la ruta completa. Aquí es donde entra en juego stow.
Una vez instalado hacemos lo siguiente. Es importante cambiar al directorio /usr/local/stow o de lo contrario habría que indicar las rutas explícitamente.
stow crea enlaces a los ficheros de modo que son accesibles desde /usr/local/bin, /usr/local/lib, etc.
Para poder hacer esto hay que ser root, o mejor, hacer que tu usuario pertenezca al grupo staff (el propietario del directorio).
Des-intalar un paquete gestionado con stow
Si quieres que stow elimine los enlaces que creó para un paquete concreto simplemente ejecuta:
Después de esto puedes borrar el directorio /usr/local/stow/gnome-commander sin problema, y todo habrá quedado tan limpito como antes de instalarlo.
En esta receta explico como compartir ficheros entre dos o más máquinas mediante NFS (Network File System). Una de las máquinas tiene que hacer de servidor y la otra de cliente.
Ingredientes
Hay que tener instalados los paquetes:
nfs-kernel-server
nfs-common
portmap
portmap permitirá realizar conexiones RPC al servidor y es el encargado de permitir o no el acceso al servidor a equipos concretos. Para saber si tienes portmap instalado bastará con hacer:
Fijate en las líneas marcadas con una flecha. Si el portmap no ofrece los servicios de NFS, es porque no se tiene instalado el servidor NFS.
Directorios compartidos
Una vez hecho esto, tienes que decidir lo que quieres compartir. Para ello edita el fichero /etc/exports; y añade el directorio que quieras dejar accesible, los permisos y el equipo o equipos que van a acceder a él.
Con esto indicas que vas exportar /home/arturo y /usr/local permitiendo acceso a tu rango de direcciones locales en modo de lectura/escritura.
En el caso del primero se accede sólo desde el equipo 192.168.0.4 en modo lectura-escritura, y en segundo toda la red local puede acceder a /usr/local.
Para tener un poco más de seguridad es necesario editar el fichero /etc/hosts.deny y añadir:
Con esto la seguridad es suficiente, aunque siempre se puede configurar de una forma más individualizada.
Si has cambiado el fichero /etc/exports después de iniciar el servicio NFS debes indicar al sistema que vuelva a leer el fichero y active los cambios. Esto lo puedes hacer reiniciando el demonio:
O bien:
Configurando el cliente
Ahora que ya tienes el servidor funcionando, prueba el acceso al directorio compartido desde la máquina cliente. Por ejemplo:
Esto montaría el directorio /home/arturo del servidor en /mnt/nfs del cliente. Hay que tener en cuenta que el directorio /mnt/nfs debe tener los permisos pertinentes.
Sino se monta, debes revisar los ficheros de configuración del servidor y comprobar que son correctos.
Montando desde /etc/fstab
Si quieres que el sistema de ficheros NFS se monte al arrancar debes añadir una entrada en el fichero /etc/fstab:
Hola amiguetes, como diría aquel otro
Os iba yo a preguntar, ya que le pregunté a Cleto y su respuesta no me ha funcionado ... ¿algún servidor así potente de rdp o algo similar para poder manejar una máquina conectada vía wifi desde otro PC en local?
Me refiero a algo en plan gráfico, para aprovechar la velocidad de la conexión, y no un simple ssh, que ya conseguí hacerlo funcionar
Alguien me puede decir como puedo configurar la wifi de la universidad, tengo todos los datos de la conexion y no tengo problemas con la tarjeta wireless, solo que tampoco está configurada. Gracias por adelantado.
Algunas posibilidades de las herramientas apt-get y dpkg de Debian GNU/Linux
Listar todos los ficheros de un paquete
Instalar un paquete de una release concreta
Bloquear (hold) un paquete para que no se actualice en los upgrades
Quitar el bloqueo a un paquete
Ver la versión de un paquete instalado
Listar los paquetes que contienen cierta cadena en su nombre
Obtener el estado(hold, purge) de un paquete
Eliminar un paquete y sus ficheros de configuración
Ver las dependencias de un paquete y su descripción
Buscar paquetes relacionados con un término
Posibles problemas
Al instalar un paquete, puede ocurrir que su script de post-instalación falle por alguna razón, lo cual impide que el paquete se instale correctamente. Si eso ocurre puedes editar su script correspondiente en /var/lib/dpkg/info/nombre_paquete.postinst e intentar arreglarlo. Después simplemente ejecuta:
Reinstalar todos los paquetes instalados
Útil para limpiar los binarios si el sistema ha sido infectado con un virus o un rootkit. USARCON PRECAUCIÓN.
¡Pues tomad Howto's! :-)
Es para la versión Hoary pero hay ciertas cosas que no dependen ni de que sea Hoary, ni que de sea Ubuntu. Muy chulo y muy completo. AQUÍ LO TENEIS.
Un saludo!
Cómo recuperar las fotos y videos borrados por accidente de una tarjeta de memoria o la memoria interna de una cámara digital.
Entre la gran cantidad de software que existe para poder recuperar fotos y videos, he encontrado uno libre y que funciona bastante bien. Se trata de Photorec.
Instalación
Si utilizas Debian, Ubuntu o similar es tan fácil como:
Uso
Enchufa tu cámara o disco extraible y ejecuta photorec. Para que funcione correctamente, debes tener la ventana de la consola lo suficientemente grande como para que Photorec se ejecute con normalidad. De todos modos, el programita advierte de esta cuestión.
Aparecerá una lista con los dispositivos que tengas enchufados y, si pulsas INTRO sobre el correspondiente, comenzará el escaneo. Conforme va avanzando, Photorec informa de los archivos encontrados y tardará más o menos en función del tamaño del disco (evidentemente).
Una vez finalizado, las fotos o los videos se encuentran en un directorio que crea Photorec llamado recup_dir.*; siendo * el número de fiheros recuperados.
OJO! Este directorio creado pertenece al root. Tienes que utilizar chown para cambiar de propietario, o bien darle permisos con chmod para que tu usuario pueda ver su contenido sin problemas.
Puesto que me encuentro como tantos otros dandole vueltas a la dichosa aceleracion 3d con ATI en Ubuntu, segui un tutorial que recomendaba la eliminacion de todo lo referente al modulo fglrx que viene en los repostiorios, segui dicho tutorial y parece ser que la cosa funciona mas o menos, dmesg no me lanza ningun error relacionando con el driver ni nada por el estilo, pero cuanod ejecuto glxgears: