Atmel SWD. Habilitar la función GPIO normal en el pin SWO

0

Estoy tratando de hacer un proyecto usando el microcontrolador ATSAM4LS2A (Cortex M4), y estoy usando el depurador AtmelICE. La cosa es que el pinout para el modo SWD también tiene, junto a los pines SWCLK y SWDIO, también el pin SWO (que debería ser opcional). El problema es que el pin SWO es el mismo que el pin SCLK que estoy usando para el SPI (tratando de hablar con un transceptor CC1101). Incluso si no conecto el pin SWO, cuando estoy depurando y tratando de leer un byte de SPI siempre obtengo 0, aunque estoy bastante seguro de que debería ser diferente. Entonces, mi primera pregunta es, ¿cómo podría probar que el pin SCLK funciona en modo SCLK y no en modo SWO? Segunda pregunta: ¿Cómo puedo deshabilitar el pin SWO en caso de que no se deshabilite automáticamente cuando no está conectado? (si es posible). Gracias.

    
pregunta user3808318

1 respuesta

2

Olvidé un poco que publiqué esta pregunta aquí, pero mientras tanto, encontré la respuesta en otro sitio que no puedo encontrar en este momento.

Puede deshabilitar la funcionalidad SWO simplemente a través de este código:

#include <core_cm4.h>
void disableSWO(void)
{
    CoreDebug_Type *core = CoreDebug_BASE;
    core->DEMCR = (0<<CoreDebug_DEMCR_TRCENA_Pos);
}

Simplemente llame a disableSWO () y el pin SWO está deshabilitado. Podría depurar mientras sigo manteniendo el SPI.

    
respondido por el user3808318

Lea otras preguntas en las etiquetas