Un ingeniero eléctrico me dijo una vez que cada procesador ARM M3 se puede flashear de la misma manera, sin importar de qué fabricante provenga.
Supongo que quiso decir usar JTAG, ¿o hay otra forma?
Por cierto, tengo la intención de flashear un procesador ARM vacío sin un gestor de arranque.
Supongo que quiso decir usar JTAG, ¿o hay otra forma?
Probablemente no lo hizo. ARM tiene su propio estándar de bus de depuración: SWD (depuración de un solo cable), que está muy bien especificado. JTAG, por otro lado, es simplemente un estándar eléctrico y de nivel de registro de desplazamiento, y depende de los fabricantes de dispositivos dar un significado a los puntos finales y las acciones de JTAG.
Los programadores SWD se pueden conseguir por <5€. Busque productos llamados "STLink v2 compatible" más o menos. El ST en el nombre proviene del hecho de que se basan en el protocolo que los adaptadores STmicro USB a SWD hablan entre la computadora host y el adaptador, pero dado que solo "transportan" SWD, funcionan con todos los microcontroladores compatibles con SWD.
En la mayoría de los sistemas de desarrollo, querrá usar OpenOCD como "controlador" para estos dispositivos, de modo que pueda flashear imágenes fácilmente (ya sea directamente a través de OpenOCD o usando, por ejemplo, GDB load
). Si está atascado con un sistema operativo absurdo que necesita controladores específicos incluso para dispositivos genéricos, probablemente deba instalar las herramientas de ST.
Por cierto, tengo la intención de flashear un procesador ARM vacío sin un gestor de arranque.
Sí, suena como un caso clásico para SWD: ARM ofrece hardware para eso en sus núcleos, y la mayoría de los fabricantes eligen usar eso y asignar pines.
También tenga en cuenta que la mayoría de los fabricantes (incluido ST) envían sus circuitos integrados "vacíos" con algún tipo de cargador de arranque, sobre el cual puede cargar firmware a través de un puerto serie o incluso USB en el dispositivo, muy útil para la fabricación.
Para un poco de discusión sobre SWD, en realidad recomiendo (por pura diversión que es leer) PoC||GTFO 0x10, pp. 26 , que comienza con una introducción de la infraestructura de depuración de ARM y SWD como protocolo, y luego continúa para explicar cómo usar los ARM conectados a SWD como expansores de E/S sofisticados en lugar de MCU independientes.
CHendrix