Aktywne Wpisy
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
cmhqwidget +26
Odwrotna Familiada Sezon 2 cz. 15
Zasady: Masz odpowiedzi, zgadnij jakie jest pytanie. Odpowiedzi, które zawierają motyw, który wygrał w poprzednim tygodniu, będą eliminowane.
Motywy eliminowane w tym tygodniu: spółki skarbu państwa, polityka, Twój stary, słuchanie bajek, droga do przedszkola
Zostaw plusika dla zasięgu!
Nagroda publiczności dla @kinson:
"Co oprócz smogu kojarzy ci się z Krakowem?"
Prawidłowe pytanie:
Coś Krakowskiego
Wygrał/a: @ZAPRASZAM_DO_POLONEZA
"Co jest krakowskie?"
W poprzednim odcinku
Rozwiązanie i kolejny
Zasady: Masz odpowiedzi, zgadnij jakie jest pytanie. Odpowiedzi, które zawierają motyw, który wygrał w poprzednim tygodniu, będą eliminowane.
Motywy eliminowane w tym tygodniu: spółki skarbu państwa, polityka, Twój stary, słuchanie bajek, droga do przedszkola
Zostaw plusika dla zasięgu!
Nagroda publiczności dla @kinson:
"Co oprócz smogu kojarzy ci się z Krakowem?"
Prawidłowe pytanie:
Coś Krakowskiego
Wygrał/a: @ZAPRASZAM_DO_POLONEZA
"Co jest krakowskie?"
W poprzednim odcinku
Rozwiązanie i kolejny
Mireczki pytanie, kiedyś pamiętam że miałem okazję bawić się taką funkcjonalnością, ale kompletnie zapomniałem jak to się robiło.
Jest sobie program i załóżmy że się wykrzaczył gdzieś. Teraz wypadałoby to zdebugować - miałem przyjemność bawić się taką funkcjonalnością, że sprawdzało się adres ostatniego skoku procesora (w zmiennej w exception handlerze), następnie ten adres się wyszukiwało chyba w pliku .map i miałem na 90% miejsce gdzie przed wykrzaczeniem się (mam na mysli przed wpadnięciem w exception handler a potem resecie) był wskaźnik stosu - czyli gdzie był program przed wpadnięciem w handler.
Jak to się realizowało? Tzn domyślam się ze w datasheet będzie jakiś rejestr gdzie jest wskaźnik stosu. No i :
1. Mam wskaznik stosu
2. Mam zdefiniowany exception handler
3. Odczytuje sobie wskaznik stosu w tym exception handlerze
4. I porównuje z plikiem map gdzie linijka po linijce jest opisany program z adresami
Dobrze pamiętam czy mieszam?
Poza tym, nie musisz mieć pliku map, tool o nazwie zwykle addr2line daje radę.
https://developer.arm.com/documentation/dui0497/a/the-cortex-m0-processor/exception-model/exception-entry-and-return