Category : FreeRtos

I dag havde jeg et problem med jeg fik et stack overflow crash. Det viste sig, at det var et TMR SCR stack overflow. Efter lidt søgning viste det sig, at man bestemmer stack størrelse i freeRtosConfig.h. Jeg øgede Timer stack størrelsen til 3 gange minimal stack størrelse med nedenstående i freeRtosConfig.h. #define configTIMER_TASK_STACK_DEPTH            ( configMINIMAL_STACK_SIZE * ..

Read more

For at kunne kommunikere med en UNI/O eeprom med en STM32F7, som kører FreeRtos, har jeg lavet et lille test program. Jeg har taget udgangspunkt i et eksempel skrevet af Stephen Early (Thanks Steve 🙂 – https://github.com/martmaiste/UNIO/blob/master/UNIO.h )   /* Copyright (C) 2011 by Stephen Early <steve@greenend.org.uk> Permission is hereby granted, free of charge, to any ..

Read more

Jeg har altid lært, at man skal bruge semaphores til at synkronisere mellem threads i et multithreaded system, men er nu blevet opmærksom på at FreeRtos har noget, der hedder Tasknotify. TaskNotify kan bruges i langt de fleste tilfælde, hvor man ville ha brugt en semaphore. Jævnfør FreeRtos’s egen dokumentation bruger TaskNotify’ing mindre RAM og ..

Read more

I dag havde jeg er problem med at sende data til en FreeRtos queue fra et interrupt kald. Problemet var, at når jeg kaldte xQueueSendToFrontFromISR crash’ede systemet med en assertion. Det viste sig at FreeRtos ikke tillader at have en interrupt med en højere prioritet end configMAX_SYSCALL_INTERRUPT_PRIORITY, så problemet blev løst ved at sætte interrupt prioriteten. ..

Read more