STM32L151 NB-IoT and FreeRTOS Project
guowenxue
2018-11-14 a39234c0fd11d788aaab4b19de6bf01bf94f69fb
src/STM32L_FreeRTOS/FreeRTOS/FreeRTOSConfig.h
@@ -40,23 +40,60 @@
 * See http://www.freertos.org/a00110.html
 *----------------------------------------------------------*/
/* Îª1ʱRTOSʹÓÃÇÀռʽµ÷¶ÈÆ÷£¬Îª0ʱRTOSʹÓÃʱ¼äƬµ÷¶ÈÆ÷*/
#define configUSE_PREEMPTION         1
/*  µ±RTOSµ÷¶ÈÆ÷¿ªÊ¼¹¤×÷ºó£¬ÎªÁ˱£Ö¤ÖÁÉÙÓÐÒ»¸öÈÎÎñÔÚÔËÐУ¬¿ÕÏÐÈÎÎñ±»×Ô¶¯´´½¨£¬Õ¼ÓÃ×îµÍÓÅÏȼ¶¡£
    ÉèÖÃΪ1ʹÓÿÕÏй³×Óº¯Êý£¬0ºöÂÔ¿ÕÏй³×Óº¯Êý¡£ */
#define configUSE_IDLE_HOOK            1
#define configUSE_TICK_HOOK            0 // Modify 1->0 by gwx
/* Ê±¼äƬ¹³×Óº¯Êý¿ÉÒԺܷ½±ãµÄʵÏÖÒ»¸ö¶¨Ê±Æ÷¹¦ÄÜ¡£ÉèÖÃΪ1ʹÓÃʱ¼äƬ¹³×Óº¯Êý£¬0ºöÂÔʱ¼äƬ¹³×Óº¯Êý¡£ */
#define configUSE_TICK_HOOK            0
/* Ð´Èëʵ¼ÊµÄCPUÄÚºËʱÖÓÆµÂÊ£¬Ò²¾ÍÊÇCPUÖ¸ÁîÖ´ÐÐÆµÂÊ£¬Í¨³£³ÆÎªFcclk¡£ÅäÖôËÖµÊÇΪÁËÕýÈ·µÄÅäÖÃϵͳ½ÚÅÄÖжÏÖÜÆÚ¡£ */
#define configCPU_CLOCK_HZ            ( 32000000UL )
/* RTOS ÏµÍ³½ÚÅÄÖÐ¶ÏµÄÆµÂÊ¡£¼´Ò»ÃëÖжϵĴÎÊý£¬Ã¿´ÎÖжÏRTOS¶¼»á½øÐÐÈÎÎñµ÷¶È¡£ */
#define configTICK_RATE_HZ            ( ( TickType_t ) 1000 )
/* ÅäÖÃÓ¦ÓóÌÐòÓÐЧµÄÓÅÏȼ¶ÊýÄ¿¡£ÈκÎÊýÁ¿µÄÈÎÎñ¶¼¿ÉÒÔ¹²ÏíÒ»¸öÓÅÏȼ¶£¬Ê¹ÓÃЭ³Ì¿ÉÒÔµ¥¶ÀµÄ¸øÓëËüÃÇÓÅÏÈȨ¡£
   ÔÚRTOSÄÚºËÖУ¬Ã¿¸öÓÐЧÓÅÏȼ¶¶¼»áÏûºÄÒ»¶¨Á¿µÄRAM£¬Òò´ËÕâ¸öÖµ²»Òª³¬¹ýÄãµÄÓ¦ÓÃʵ¼ÊÐèÒªµÄÓÅÏȼ¶ÊýÄ¿¡£*/
#define configMAX_PRIORITIES         ( 5 )
/* ¶¨Òå¿ÕÏÐÈÎÎñʹÓõĶÑÕ»´óС£¬ÒÔ×Ö¶ø²»ÊÇ×Ö½ÚΪµ¥Î»¡£Í¨³£´ËÖµ²»Ó¦Ð¡ÓÚ¶ÔÓ¦´¦ÀíÆ÷ÑÝʾÀý³ÌÎļþFreeRTOSConfig.hÖж¨ÒåµÄÊýÖµ¡£*/
#define configMINIMAL_STACK_SIZE      ( ( unsigned short ) 70 )
#define configTOTAL_HEAP_SIZE         ( ( size_t ) ( 10 * 1024 ) )  // Modify 10->5 by gwx
/* Ö¸¶¨malloc()·ÖÅäµÄ¶ÑµÄ´óС¡£ Ã¿µ±´´½¨ÈÎÎñ¡¢¶ÓÁС¢»¥³âÁ¿¡¢Èí¼þ¶¨Ê±Æ÷»òÐźÅÁ¿Ê±£¬RTOSÄں˻áΪ´Ë·ÖÅäRAM£¬ÕâÀïµÄRAM¶¼ÊôÓÚ¶Ñ */
#define configTOTAL_HEAP_SIZE         ( ( size_t ) ( 10 * 1024 ) )
/* µ÷ÓÃÈÎÎñº¯Êýʱ£¬ÐèÒªÉèÖÃÃèÊöÈÎÎñÐÅÏ¢µÄ×Ö·û´®£¬Õâ¸öºêÓÃÀ´¶¨Òå¸Ã×Ö·û´®µÄ×î´ó³¤¶È¡£ÕâÀﶨÒåµÄ³¤¶È°üÀ¨×Ö·û´®½áÊø·û¡¯\0¡¯¡£ */
#define configMAX_TASK_NAME_LEN         ( 16 )
/* ÉèÖóÉ1±íʾÆô¶¯¿ÉÊÓ»¯¸ú×Ùµ÷ÊÔ£¬»á¼¤»îһЩ¸½¼ÓµÄ½á¹¹Ìå³ÉÔ±ºÍº¯Êý¡£ */
#define configUSE_TRACE_FACILITY      1
/* ¶¨Òåϵͳ½ÚÅļÆÊýÆ÷µÄ±äÁ¿ÀàÐÍ£¬¼´¶¨ÒåportTickTypeÊDZíʾ16λ±äÁ¿»¹ÊÇ32λ±äÁ¿¡£0±íʾ32λÎÞ·ûºÅÕûÐΣ¬1±íʾ16λÎÞ·ûºÅÕûÐΠ*/
#define configUSE_16_BIT_TICKS         0
/* Õâ¸ö²ÎÊý¿ØÖÆÈÎÎñÔÚ¿ÕÏÐÓÅÏȼ¶ÖеÄÐÐΪ¡£ */
#define configIDLE_SHOULD_YIELD         1
/* ÉèÖÃΪ1±íʾʹÓû¥³âÁ¿£¬ÉèÖóÉ0±íʾºöÂÔ»¥³âÁ¿¡£ */
#define configUSE_MUTEXES            1
/* ¶¨Òå¿ÉÒԼǼµÄ¶ÓÁкÍÐźÅÁ¿µÄ×î´óÊýÄ¿¡£*/
#define configQUEUE_REGISTRY_SIZE      5
/* Îª²»Í¬µÄ³£Á¿À´Ê¹Óò»Í¬¶ÑÕ»Òç³ö¼ì²â»úÖÆ¡£ */
#define configCHECK_FOR_STACK_OVERFLOW   2
/*  ÉèÖóÉ1±íʾʹÓõݹ黥³âÁ¿£¬ÉèÖóÉ0±íʾ²»Ê¹Óᣠ*/
#define configUSE_RECURSIVE_MUTEXES      0
/* ¸ÃºêÉèÖÃΪ1£¬ÄÇô±ØÐ붨ÒåÒ»¸ömalloc()ʧ°Ü¹³×Óº¯Êý£¬Èç¹ûºêÉèÖÃΪ0£¬malloc()ʧ°Ü¹³×Óº¯Êý²»»á±»µ÷Ó㬼´±ãÒѾ­¶¨ÒåÁËÕâ¸öº¯Êý¡£*/
#define configUSE_MALLOC_FAILED_HOOK   1
/* Ê¹ÄÜÈÎÎñ±êÇ©¹¦ÄÜ */
#define configUSE_APPLICATION_TASK_TAG   0
/* Co-routine definitions. */
@@ -94,6 +131,7 @@
/* Prevent the following definitions being included when FreeRTOSConfig.h
is included from an asm file. */
#if (configUSE_TICK_HOOK == 1 )
#include "stm32l1xx_tim.h"
extern void vConfigureTimerForRunTimeStats( void );
extern unsigned long ulTIM6_OverflowCount;
@@ -109,6 +147,7 @@
      ulCountValue = ( ( ulTIM6_OverflowCount << 16UL ) | ( unsigned long ) TIM6->CNT );   \
      TIM_Cmd( TIM6, ENABLE );                                             \
   }
#endif // (configUSE_TICK_HOOK == 1 )
#endif /* FREERTOS_CONFIG_H */