OpenOCD tiene un controlador sysfsgpio genérico y ha tenido un controlador Raspberry Pi BCM2835 por bastante tiempo , y AFAICT, la velocidad es buena (por ejemplo, el parpadeo STM32F1 está limitado por la velocidad de su flash): se pueden obtener fácilmente unos 4 MHz y para muchos casos no se necesita un circuito externo. También hay soporte para SWD , pero aún no está en la parte superior.
Debes clonar el Git HEAD actual y compilarlo de forma nativa con --enable-bcm2835gpio
, y luego usar config de interface/raspberrypi-native.cfg
.
Consulte el manual oficial de README y Texinfo para obtener información específica.
Con respecto a la parte de hardware de la pregunta: si el voltaje objetivo es igual o muy cercano a 3.3 V, puede conectar los pines de la Raspberry Pi directamente a la interfaz de destino, de lo contrario, podría (no siempre es necesario, ya que muchos microcontroladores modernos tienen Los 5 pines "tolerantes a V", por lo que se pueden conectar a fuentes con voltajes más altos que sus V cc sin ningún daño, ¡pero compruebe la documentación primero!) Es necesario agregar un búfer de conversión de voltaje adecuado.
Para proporcionar una mejor adaptación de impedancia, se recomienda tener resistores en serie de 47-100 ohmios en cada línea de señal, cerca del conector Raspberry Pi. Para obtener más detalles, consulte la explicación detallada de Michael Schwingen, Re: Capacidad de la unidad de alto rendimiento en Raspberry Pi .