Program zachowuje się gdyby chciał a nie mógł skorzystać z SysTick_Handler. Najpierw kod:
Kod chyba prostszy być nie może, włączam zegar na portd, wyjście i zapalam diodę. Problemem jest to, że ten systick po sekundzie zamiast wywołać funkcję SysTick_Handler on zawiesza procesor. Po wejściu w pętlę nieskończoną stan systick:
Przy zmniejszeniu ilości taktów na przerwanie w systicku i debugowaniu po kroku przerwanie w ogóle nie występuje.
A gdy przy w/w kodzie ma być wywołane przerwane (via step to line) program wiesza się w miejscu:
Wg datasheeta przerwanie to powinno mieć adres 0x0000003C. Czyli chyba wektor działa i wiesza się gdzieś dalej (lub wywołuje się wyjątek o braku uchwytu dla przerwania ?) (bo adres nie jest równy z tym z wektora dla systicka w procesorze ??)
Nie jestem w stanie doprecyzować, bo ktoś nie pomyślał i nie zrobił wersji dla idiotów tylko wrzucił jakiś wektor (zamiast przypisań jak w AVR
) w pliku startup_stm32f407xx.s który wygląda tak: Robię coś źle przy tworzeniu projektu ? bo podobny do w/w kod znalazłem na kilku stronach + w poradniuku z tematu zamieszczonego na tym forum.
Wg manuala discoveryF4 mam tam procesor STM32F407VGT6, wybrałem w keilu f407vg, dodałem CMSIS-core i device-startup.
Byłbym wdzięczny gdyby ktoś powiedział co zrobiłem źle. Ew czy ktoś z tą płytką mógłby spróbować uruchomić ten projekt / zerknąć co tam jest namieszane ?
Kod: C / C++
Przy zmniejszeniu ilości taktów na przerwanie w systicku i debugowaniu po kroku przerwanie w ogóle nie występuje.
A gdy przy w/w kodzie ma być wywołane przerwane (via step to line) program wiesza się w miejscu:
Wg datasheeta przerwanie to powinno mieć adres 0x0000003C. Czyli chyba wektor działa i wiesza się gdzieś dalej (lub wywołuje się wyjątek o braku uchwytu dla przerwania ?) (bo adres nie jest równy z tym z wektora dla systicka w procesorze ??)
Nie jestem w stanie doprecyzować, bo ktoś nie pomyślał i nie zrobił wersji dla idiotów tylko wrzucił jakiś wektor (zamiast przypisań jak w AVR
Kod: C / C++
Wg manuala discoveryF4 mam tam procesor STM32F407VGT6, wybrałem w keilu f407vg, dodałem CMSIS-core i device-startup.
Byłbym wdzięczny gdyby ktoś powiedział co zrobiłem źle. Ew czy ktoś z tą płytką mógłby spróbować uruchomić ten projekt / zerknąć co tam jest namieszane ?
