Witam,
mam PCB na której leży sobie STM32F103RET6. Układ działa.
Szopki są tylko przy debuggowaniu: podłączam debugger, włączam zasilanie układu, klikam w keilu "debug" i debuguję sobie w najlepsze przez parę chwil (10s..5m). Po pewnym losowym czasie debugger traci połączenie z prockiem, możnaby powiedzieć, że prawie bezpowrotnie. Nie dotykając nic po wywaleniu, po prostu próbuję łączyć się z procem jeszcze raz. Efekt? Nie widzi go, bo "TCK pin is LOW, but should be HIGH". Mierzę oscylem - faktycznie jest LOW...
Bywa, że pomaga przełączenie debuggera w "connect under reset", lub przecyklowanie zasilania, lub wielokrotne przecyklowanie zasilania, lub odłączenie i podłączenie USB od debuggera, lub kombinacje powyższych. Bywa, że nic nie pomaga - już jeden taki procesor istnieje, który DZIAŁA, ale debug ni cholerę...
Co ciekawe, problem występuje tylko z tym konkretnym modelem procesora. Na różnych płytkach, wykonując różne kody.
Mój debugger współpracował już z różnymi mikrokontrolerami, małe LPC, duże LPC, różne STM32 z serii performance (głównie F103RBT6,F103CBT6,F103ZET6), i nigdy nie występowały takie problemy.
Debugger dziala na pewno, bo podłączony do układu z innym modelem procesora wszystko jest OK.
Kod na pewno nie kombinuje przy konfiguracji pinów odpowiedzialnych za SWD; postawiłem pułapkę na pamięć GPIOA->CRH i AFIO->MAPR. Na 100% nic nigdy nie dotyka tych rejestrów (poza chamskim initem który wykonuje sie od razu przy starcie programu).
Zaczynam podejrzewać, że to po prostu ten konkretny model procesora ma jakieś ukryte wady...
Procesor: STM32F103RET6
Interfejs: SWD
Piny SWD i SWC: floating digital input
Debugger: Oryginalny segger j-link
Srodowisko: Keil mdk-arm
mam PCB na której leży sobie STM32F103RET6. Układ działa.
Szopki są tylko przy debuggowaniu: podłączam debugger, włączam zasilanie układu, klikam w keilu "debug" i debuguję sobie w najlepsze przez parę chwil (10s..5m). Po pewnym losowym czasie debugger traci połączenie z prockiem, możnaby powiedzieć, że prawie bezpowrotnie. Nie dotykając nic po wywaleniu, po prostu próbuję łączyć się z procem jeszcze raz. Efekt? Nie widzi go, bo "TCK pin is LOW, but should be HIGH". Mierzę oscylem - faktycznie jest LOW...
Bywa, że pomaga przełączenie debuggera w "connect under reset", lub przecyklowanie zasilania, lub wielokrotne przecyklowanie zasilania, lub odłączenie i podłączenie USB od debuggera, lub kombinacje powyższych. Bywa, że nic nie pomaga - już jeden taki procesor istnieje, który DZIAŁA, ale debug ni cholerę...
Co ciekawe, problem występuje tylko z tym konkretnym modelem procesora. Na różnych płytkach, wykonując różne kody.
Mój debugger współpracował już z różnymi mikrokontrolerami, małe LPC, duże LPC, różne STM32 z serii performance (głównie F103RBT6,F103CBT6,F103ZET6), i nigdy nie występowały takie problemy.
Debugger dziala na pewno, bo podłączony do układu z innym modelem procesora wszystko jest OK.
Kod na pewno nie kombinuje przy konfiguracji pinów odpowiedzialnych za SWD; postawiłem pułapkę na pamięć GPIOA->CRH i AFIO->MAPR. Na 100% nic nigdy nie dotyka tych rejestrów (poza chamskim initem który wykonuje sie od razu przy starcie programu).
Zaczynam podejrzewać, że to po prostu ten konkretny model procesora ma jakieś ukryte wady...
Procesor: STM32F103RET6
Interfejs: SWD
Piny SWD i SWC: floating digital input
Debugger: Oryginalny segger j-link
Srodowisko: Keil mdk-arm