¿Se puede hacer la programación de metal desnudo en Raspberry Pi en Python?

Depende de lo que estés llamando “metal desnudo”.

En Python, en Raspberry Pi, puede obtener un módulo para acceder a los pines GPIO, por lo que puede controlar robots, etc. Por lo tanto, es justo decir que puede acceder a esos pines, que cuentan como “metal desnudo”, supongo.

Sin embargo, no creo que Python, en ningún sentido real, pueda considerarse que está programando “bare metal”. Se está ejecutando en un tiempo de ejecución de alto nivel, no veo ninguna forma en que se pueda considerar la programación en el “metal desnudo”.

Para ser honesto, he hecho un poco de ensamblador ARM en mi RPi, e incluso eso no se siente como “metal desnudo” en el sentido de que el ensamblador (integrado en BASIC en RISC OS) sigue siendo una abstracción (un pequeño) sobre lo que la máquina está haciendo realmente .

Realmente no considero que trabajar en C sea “bare metal”, por lo que nunca podría considerar que Python lo sea.

Por ‘metal desnudo’, supongo que te refieres sin la ayuda (¿obstáculo?) De un sistema operativo. Entonces, la pregunta se reduce a cómo ejecutar Python sin la ayuda de un sistema operativo. Como ahora hay placas que arrancan en el intérprete de Python (microPython), en principio sería posible. La cuestión de portar o crear una nueva instancia por completo es todo lo que queda por hacer. Sin embargo, el Pi es bastante subóptimo para eso, ya que su primera etapa del cargador de arranque está inmutablemente integrada en la CPU o en otro lugar de la placa. Modificar el gestor de arranque para iniciar un intérprete de Python sería una tarea bastante laboriosa. Millones de usuarios de Pi probablemente tendrían su eterna gratitud si pudieran lograrlo.

Ahí vamos, una respuesta para alguien que busca una sugerencia sobre proyectos RPi.