Video Pi Zero por programación Bare Metal

Óscar Soto
Óscar Soto

Ejecutar tu propio sintetizador no es poca cosa [Thomas] tomó su proyecto “Nerdsynth”. [Thomas] tiene una cantidad impresionante de datos en su sitio web que trata sobre el diseño general y el progreso del proyecto, pero eso no ha despertado nuestro interés. [Thomas] tiene una pantalla TFT incorporada para navegar por el menú versátil de Nerdsynth pero quería agregar una producción de video para hacer una secuencia de video. Después de investigar un poco y considerar las opciones disponibles, decidió abordar otro subproyecto (un libro de texto completo).

[Thomas] eligió hacer algunos programas bare metal en el Pi Zero para usarlo como una tarjeta de video para la salida de video. Siguiendo un tutorial de Valvers y modificando un controlador SPI de Microelecroniki, pudo clonar el video en un monitor externo. Este es un paso en la dirección correcta y tendremos que buscar en su sitio web actualizaciones de secuencias de video en la pantalla externa.

Puedes ver una demostración reciente de Nerdsynth en acción después de la pausa, desafortunadamente tendrás que conformarte con una imagen de la pantalla clonada (abajo) hasta [Thomas] publicar otra actualización.

https://www.youtube.com/watch?v=Uy1dT0vTwQE

Si no conoce el término “Programación completa”, se refiere a la escritura de código que funciona directamente en el hardware. De hecho, hemos hablado anteriormente de un conjunto de metal desnudo en el Pi. Así que piense en “bare metal” como código que se ejecuta sin un sistema operativo subyacente, lo más cerca posible del lenguaje de máquina, menos que escribir el programa. en Lenguaje de máquina. El siguiente lenguaje más cercano (que tiene más de 7 años, lo siento Rust) sería el lenguaje ensamblador. Ensamblador es ese código que notó en las hojas de datos, pero en realidad nunca dicen, “Estas instrucciones están en lenguaje ensamblador”. Otra alternativa popular es C, que permitirá reunirse en línea si realmente lo necesita.

  • localroger dice:

    Parallax Helix hubiera sido una plataforma mucho mejor para esto, y puede bit color VGA.

    • Hombre negro dice:

      ¿Crees que una hélice sería mejor para esto? ¿Por qué exactamente? ¿Por la mención de un ensamblador? ¿Viste el video? No puedo imaginarme una hélice funcionando tan bien.

      • Thomas dice:

        Debo agregar que el Nerdsynth en sí no se basa en el Raspberry. El RPI es solo para salida de video en este momento.

      • localroger dice:

        Todo lo que usa para Pi es un poco de video, y dado que eso ocupa todo el núcleo único del procesador durante la mayor parte del día, TODO lo que puede hacer. No puede atender la interrupción durante el video con bit-banging, por lo que la mayor parte del resto del hardware Pi es inútil. Pero el Helix fue diseñado para hacer esas cosas. Por supuesto, no puede obtener una tabla completa por $ 5 como el truco del guisante, pero probablemente usaría un máximo de tres engranajes para hacer el video, dejando cinco para otros usos como un SPI de golpe de bits u otro I / O.

        • Thomas dice:

          No hay bitbang de video aquí. Solo lleno el búfer de fotogramas y pi + gpu hace el resto. De hecho, el único punto que utilizo en los recursos del procesador es el procesamiento de datos SPI entrantes y cuando escribes en el framebuffer. Entonces, para las pantallas estáticas, el núcleo está casi inactivo.
          Y en el ejemplo también hay interrupciones atendidas.

    • Thomas dice:

      Sí, también marqué esa opción. Pero dejé VGA a favor de al menos un compuesto. Y aquí obtuvimos una tarjeta de video por $ 5, memoria más que suficiente para el búfer de cuadros e incluso obtuvo HDMI + sin necesidad de reproducir partes en paquetes pequeños.

      • cik dice:

        Tienes razón, el precio es inmejorable.
        Realmente me gusta la idea de usar un microcontrolador para tareas difíciles en tiempo real y dejar que Pi Zero maneje la interfaz de usuario, la red y el almacenamiento masivo. Barato, potente y ágil. Imagínese tener una imagen lista para eso, además de una poderosa biblioteca para el micro (¿alguien dijo Arduino?).

  • Hombre negro dice:

    Wow … Realmente genial: ¡una caja de seguimiento MOD dedicada! ¡Ambicioso también! Esto fácilmente podría tener un futuro comercial: muchas personas quieren un dispositivo de este tipo y ningún fabricante lo ha probado realmente. Hay algunas cosas similares, pero cuando comienzan a comercializar, a menudo se empujan más a una caja de canela de uso general.

    ¡También me encantan los medidores VU para pistas individuales (¿sonidos?).

  • Erick dice:

    ¡Participa en mi comunidad! ¡Comparte su página allí! Se trata de montaje. https://plus.google.com/u/0/communities/116808131791683759811

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *