Estoy depurando un código escrito para el MSP430F2132, que tiene muy poca memoria flash disponible para el programa. Para realizar una depuración adecuada, debo enviar información a un terminal para que pueda almacenarse y verse en un momento posterior. Normalmente usaría printf o un comando similar (quizás putchar) y lo vincularía a la consola CCS 6.1. Sin embargo, debido a la falta de memoria de programa en el micro, no puedo usar estas funciones. Tampoco tengo la opción de modificar la placa para hacer uso de un canal UART incorporado en el micro. Estoy conectado al micro usando la interfaz de depuración USB MSP-FET430UIF, que supuestamente implementa una interfaz UART de canal trasero, pero creo que esto requiere conexiones especiales al objetivo que no tengo. ¿Tengo alguna opción que use muy poca memoria que me permita almacenar información de depuración? Solo necesito enviar dos enteros largos en cada ciclo.
EDITAR:
Luego de una inspección adicional (el diseño no era originalmente mío), noté que las "conexiones especiales al objetivo" requeridas para el MSP-FET430UIF (simplemente a los pines UCA0RXD y UCA0TXD en el micro objetivo) existen, pero las señales se convierten a RS-485 utilizando transceptores en la placa de interfaz (un dispositivo de prueba) y la placa de destino. Tal vez pueda usar el UART de canal trasero FET430UIF después de todo, aunque todavía tengo que encontrar buenas instrucciones sobre cómo hacerlo. Si alguien aquí tiene experiencia haciendo esto y puede ofrecer orientación, sería muy útil.
Si tiene una conexión JTAG en funcionamiento, puede usar el depurador incorporado de CCS para todas sus necesidades de depuración.
Simplemente almacene sus valores de depuración en una matriz y, opcionalmente, configure una cláusula "if" con __no_operation() para un punto de interrupción para verificar qué sucede periódicamente. O simplemente pause la ejecución después de regresar y ver los datos recopilados.
Alternativamente, en lugar de usar el printf hambriento de memoria para stdout, puede escribir en stderr con fprintf. Es mucho más lento y no utiliza almacenamiento en búfer, pero para los informes de estado periódicos puede ser suficiente.
CL.
DerStrom8
Andrejs Gasilovs
el fotón
DerStrom8
Nick Alexeev
DerStrom8
usuario162889