Skip to content
Snippets Groups Projects
Select Git revision
  • e9ca7b4d0d460def70b2838b3b56ac7241f25e1d
  • master default protected
  • sonopard/display-pixels-drawimage
  • TilCreator/firmware-master
  • rahix/simple_menu
  • genofire/leds_rgb_get_state
  • genofire/rockets-state
  • genofire/ble-follow-py
  • hauke/ble-cleanups
  • plaetzchen/ios-workaround
  • blinkisync-as-preload
  • genofire/haule-ble-fs-deactive
  • schneider/max30001-pycardium
  • schneider/max30001-epicaridum
  • schneider/max30001
  • schneider/stream-locks
  • ios-workarounds
  • schneider/fundamental-test
  • schneider/ble-buffers
  • schneider/maxim-sdk-update
  • ch3/splashscreen
  • v1.8
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
33 results

FreeRTOSConfig.h

Blame
  • Forked from card10 / firmware
    1665 commits behind the upstream repository.
    Rahix's avatar
    e9ca7b4d
    History
    FreeRTOSConfig.h 2.42 KiB
    #ifndef FREERTOS_CONFIG_H
    #define FREERTOS_CONFIG_H
    
    #define  MXC_ASSERT_ENABLE
    #include "mxc_assert.h"
    
    #include "max32665.h"
    
    /* CMSIS keeps a global updated with current system clock in Hz */
    #define configCPU_CLOCK_HZ          ((unsigned long)120000000)
    
    /* TODO: Adjust this for tickless idle */
    #define configTICK_RATE_HZ          ((portTickType)1000)
    
    /* Memory
     *
     * Heap is managed by libc (heap_3.c).
     */
    #define configMINIMAL_STACK_SIZE    ((unsigned short)128)
    
    /* FIXME: Assign proper priorities to all interrupts */
    #define configMAX_PRIORITIES        5
    /* # of priority bits (configured in hardware) is provided by CMSIS */
    #define configPRIO_BITS             __NVIC_PRIO_BITS
    /* Priority 7, or 255 as only the top three bits are implemented.  This is the lowest priority. */
    #define configKERNEL_INTERRUPT_PRIORITY \
    	( ( unsigned char ) 7 << ( 8 - configPRIO_BITS) )
    #define configMAX_SYSCALL_INTERRUPT_PRIORITY \
    	( ( unsigned char ) 2 << ( 8 - configPRIO_BITS) )
    
    /* We want to use preemption to easier integrate components */
    #define configUSE_PREEMPTION        1
    
    /*
     * Tickless idle from the FreeRTOS port + our own hooks (defined further down in
     * this file)
     */
    #define configUSE_TICKLESS_IDLE     1
    
    /* TODO: Adjust */
    #define configUSE_IDLE_HOOK         0
    #define configUSE_TICK_HOOK         0
    #define configUSE_CO_ROUTINES       0
    #define configUSE_16_BIT_TICKS      0
    #define configUSE_MUTEXES           1
    #define configUSE_TIMERS            1
    
    #define configTIMER_TASK_PRIORITY   (configMAX_PRIORITIES - 1)
    #define configTIMER_QUEUE_LENGTH    10
    #define configTIMER_TASK_STACK_DEPTH (configMINIMAL_STACK_SIZE * 2)
    
    #define INCLUDE_vTaskSuspend        1
    #define INCLUDE_vTaskDelay          1
    
    /* Allow static allocation of data structures */
    #define configSUPPORT_STATIC_ALLOCATION 1
    
    /* Alias the default handler names to match CMSIS weak symbols */
    #define vPortSVCHandler       SVC_Handler
    #define xPortPendSVHandler    PendSV_Handler
    #define xPortSysTickHandler   SysTick_Handler
    
    /* Assert */
    #define configASSERT(x)       MXC_ASSERT(x)
    
    /* Tickless idle hooks */
    typedef uint32_t TickType_t;
    void pre_idle_sleep(TickType_t xExpectedIdleTime);
    #define configPRE_SLEEP_PROCESSING(xModifiableIdleTime) \
    	pre_idle_sleep(xModifiableIdleTime); xModifiableIdleTime = 0
    
    void post_idle_sleep(TickType_t xExpectedIdleTime);
    #define configPOST_SLEEP_PROCESSING(xExpectedIdleTime) \
    	post_idle_sleep(xExpectedIdleTime)
    
    #endif /* FREERTOS_CONFIG_H */