Hallo, hat schonmal jemand versucht FreeRTOS zusammen mit libopencm3 zu verwenden? Bisher hab ich rausgefunden das man vector.c auf jedenfall anpassen muss. Hat hier jemand Erfahrungen die mit anderen teilen will ;-) Gruss Michael
Hallo, ich hab die vectoren entsprechend angepasst sodass die von FreeRTOS verwendet werden. Damit kann ich nun Tasks starten und delay verwenden. Soweit scheint alles zu funktionieren. Gruss Michael
Hallo. Ich möchte libopencm3 mit FreeRTOS verwenden. Können Sie erklären, Sie die Änderung vector.c gemacht? Gruß Greg
Hallo, also im prinzip nur folgende Änderung im lib/cms/vector.c #ifdef FREERTOS extern void vPortSVCHandler(void); #define sv_call_handler vPortSVCHandler #else void WEAK sv_call_handler(void); #endif void WEAK debug_monitor_handler(void); #ifdef FREERTOS extern void xPortPendSVHandler(void); extern void xPortSysTickHandler(void); #define pend_sv_handler xPortPendSVHandler #define sys_tick_handler xPortSysTickHandler #else void WEAK pend_sv_handler(void); void WEAK sys_tick_handler(void); #endif ----> snip #ifdef FREERTOS #pragma weak sv_call_handler = null_handler #endif #pragma weak debug_monitor_handler = null_handler #ifdef FREERTOS #pragma weak pend_sv_handler = null_handler #pragma weak sys_tick_handler = null_handler #endif Hab auch das file angehängt. Evt. sind Anpassungen bei der neusten Version nötig. Beim compile noch -DFREERTOS angeben. Ich hoffe das hilf weiter. Bei mir läuft FreeRtos so einwandfrei. Gruss Michael
Fantastisch, danke!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.