1 votos

sama5 problema de reloj y depuración

He diseñado una placa que utiliza el ATSAMA5D225C-D1M (Corteza A5). He copiado principalmente el esquema de la ATSAMA5D27-SOM1.

Estoy utilizando un adaptador J-LINK PRO.

Estoy utilizando el marco de software de atmel y GCC para probar mi nueva placa.

Puedo paso a paso el depurador hasta llegar a pmc_switch_mck_to_slck()

void pmc_switch_mck_to_slck(void)
{
    /* Select Slow Clock as input clock for PCK and MCK */
    PMC->PMC_MCKR = (PMC->PMC_MCKR & ~PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_SLOW_CLK;
    while (!(PMC->PMC_SR & PMC_SR_MCKRDY));

    _pmc_mck = 0;
}

después de lo cual el depurador me dice

pmc_switch_mck_to_slck () at ../../drivers/peripherals/pmc.c:973
973             PMC->PMC_MCKR = (PMC->PMC_MCKR & ~PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_SLOW_CLK;
(gdb)
0xdeadbeee in ?? ()
(gdb) s
Cannot find bounds of current function

Entonces, ¿qué significa que todos los registros devuelvan 0xdeadbeee o 0xdeadbeef? ¿Me estoy perdiendo alguna definición de trampa?

¿Qué tipo de causas debo buscar en el problema de conmutación del reloj? ¿Ajuste del depurador o problema de hardware?

1voto

Ranjit Puntos 51

Esto es/era causado por un oscilador de cristal principal que no funciona.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X