No hay una respuesta única / correcta a tu pregunta y espero que se cierre porque es una cuestión de opinión ...
Realmente se reduce a la elección personal y / o lo que está disponible en el sistema que está utilizando. A veces tienes una interfaz de depuración jtag o similar y no tienes uart / led / other. A veces tienes un alcance y algo de gpio, a veces tienes un uart y algo para conectarlo para ver qué sale. Podría abstraer su código y, en lugar de enviar el código fuera del uart, cambiar el back-end e iniciar sesión en el ram, luego volcarlo con un depurador más tarde.
Todas las soluciones deben ser obvias. Si agrega el código de uart, está agregando el código, los uarts son relativamente lentos, por lo que su código puede tener demoras en la impresión, estos retrasos pueden causar problemas más adelante, ya que pueden ayudar a algunos dispositivos periféricos u otros a instalarse, etc. El código de impresión de uart pierde esa demora ahora que la sincronización de sus códigos está desactivada. Al mismo tiempo, si no tiene una buena visibilidad de lo que está pasando, es muy difícil sin un usuario.
Un led es una salida de un bit, puede parpadear, puede intentar hacer un código morse o algún otro esquema para secuenciar visualmente los datos / bits, puede simplemente golpear el pin de gpio a velocidades de uart con un protocolo de uart y Tener mejor visibilidad.
Para un chip nuevo para mí, el led es la primera herramienta, me dice que el código se está iniciando y ejecutando, si puedo parpadear, impresionante. A continuación encuentro un temporizador y trato de controlar cuidadosamente el tiempo de gpio. Confirmando que el oscilador creo que lo está usando está usando, puede usar ese led y un cronómetro / temporizador para configurar el pll, cambiar a un oscilador externo, etc. Con ese conocimiento ahora puedo calcular el divisor para el uart y tener un Bastante bien de estar en lo cierto o con una potencia de dos. Luego levante el uart y use el uart desde allí para desarrollar más la aplicación.
Encontrará que algunos productos mantienen el código uart allí (por ejemplo, los botones de Amazon Dash).
Se trata de lo que encuentra más fácil o mejor o lo que está disponible. Obtenga una placa de evaluación de microcontroladores basada en cortex-m (puede obtener una buena por $ 10, hay docenas para elegir de varios proveedores que no figuran aquí) a menudo tendrá usb para SWD (como jtag, lo lleva al depurador), un uart virtual al mcu objetivo, y alguna forma de programar el mcu además de una solución swd. No es que los que no son armas no tienen esto, pero muchas de las juntas de evaluación de brazos sí lo tienen. a menudo tienen un led también. así que puedes intentarlo todo por $ 10, led depuración parpadeando, uart debugging, en la depuración del chip depurador, ve a buscar un alcance y úsalo para la depuración. Comience a desarrollar una preferencia personal, pero mantenga las alternativas en su bolsillo trasero, ya que hay ocasiones en que puede necesitarlas.