FreeRTOS 笔记一:配置之FreeRTOSConfig.h
来源:互联网 发布:传奇世界物品数据库 编辑:程序博客网 时间:2024/05/01 04:10
/*
FreeRTOS V8.0.0:rc2 - Copyright (C) 2014 Real Time Engineers Ltd.
All rights reserved
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
* *
* FreeRTOS provides completely free yet professionally developed, *
* robust, strictly quality controlled, supported, and cross *
* platform software that has become a de facto standard. *
* *
* Help yourself get started quickly and support the FreeRTOS *
* project by purchasing a FreeRTOS tutorial book, reference *
* manual, or both from: http://www.FreeRTOS.org/Documentation *
* *
* Thank you! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
>>! NOTE: The modification to the GPL is included to allow you to distribute
>>! a combined work that includes FreeRTOS without being obliged to provide
>>! the source code for proprietary components outside of the FreeRTOS
>>! kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. Full license text is available from the following
link: http://www.freertos.org/a00114.html
1 tab == 4 spaces!
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
* not run, what could be wrong?" *
* *
* http://www.FreeRTOS.org/FAQHelp.html *
* *
***************************************************************************
http://www.FreeRTOS.org - Documentation, books, training, latest versions,
license and Real Time Engineers Ltd. contact details.
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool, a DOS
compatible FAT file system, and our tiny thread aware UDP/IP stack.
http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
licenses offer ticketed support, indemnification and middleware.
http://www.SafeRTOS.com - High Integrity Systems also provide a safety
engineered and independently SIL3 certified version for use in safety and
mission critical applications that require provable dependability.
1 tab == 4 spaces!
*/
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
/*-----------------------------------------------------------
* Application specific definitions.
*
* These definitions should be adjusted for your particular hardware and
* application requirements.
*
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*
* See http://www.freertos.org/a00110.html.
*----------------------------------------------------------*/
#define configUSE_PREEMPTION 1/* 是否配置成抢先式多任务内核,是1的时候,优先级高的任务优先执行。 为0任务就没有优先级之说,用时间片轮流执行 */
#define configUSE_IDLE_HOOK 0/* IDLE任务的HOOK函数,用于OS功能扩展,需要你自己编相应函数, 名字是void vApplicationIdleHook( void ) */
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned long ) 72000000 )/* 系统CPU频率,单位是Hz */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )/* 系统SYSTEM TICK每秒钟的发生次数, 数值越大系统反应越快,但是CPU用在任务切换的开销就越多 */
#define configMAX_PRIORITIES ( 5 )/* 系统任务优先级数。5 说明任务有5级优先度。这个数目越大耗费RAM越多 */
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )/* 系统最小堆栈尺寸,注意128不是128字节,而是128个入栈。比如ARM32位,128个入栈就是512字节 */
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 17 * 1024 ) )/* 系统可用内存。一般设成除了操作系统和你的程序所用RAM外的最大RAM。 比如20KRAM你用了2K,系统用了3K,剩下15就是最大HEAP 尺寸。你可以先设小然后看编译结果往大里加*/
#define configMAX_TASK_NAME_LEN ( 16 )/* 任务的PC名字最大长度,因为函数名编译完了就不见了,所以追踪时不知道哪个名字。16表示16个char */
#define configUSE_TRACE_FACILITY 0/* 是否设定成追踪,由PC端TraceCon.exe记录,也可以转到系统显示屏上 */
#define configUSE_16_BIT_TICKS 0/* 就是SYSTEM TICK的长度,16是16位,如果是16位以下CPU, 一般选1;如果是32位系统,一般选0 */
#define configIDLE_SHOULD_YIELD 1/* 简单理解以下就是和IDLE TASK同样优先级的任务执行情况。建议设成1,对系统影响不大 */
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES 0/* 是用用协程。协程公用堆栈,节省RAM,但是没有任务优先级高,也无法和任务通讯 */
/* 设置为1则包含co-routines 功能,如果包含了co-routines功能,则编译时需包含croutine.c 文件 */
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) /* co-routines 可以使用的优先级的数量 */
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
#define INCLUDE_vTaskPrioritySet 1/* 设定可以改变任务优先度 */
#define INCLUDE_uxTaskPriorityGet 1/* 设定可以查询任务优先度 */
#define INCLUDE_vTaskDelete 1/* 设定可以删除任务 */
#define INCLUDE_vTaskCleanUpResources 0/* 据说是可以回收删除任务后的资源(RAM等)*/
#define INCLUDE_vTaskSuspend 1/* 设置可以把任务挂起 */
#define INCLUDE_vTaskDelayUntil 1/* 设置任务延迟的绝对时间,比如现在4:30,延迟到5:00。时间都是绝对时间 */
#define INCLUDE_vTaskDelay 1/* 设置任务延时,比如延迟30分钟,相对的时间,现在什么时间,不需要知道 */
/* This is the raw value as per the Cortex-M3 NVIC. Values can be 255
(lowest) to 0 (1?) (highest). */
#define configKERNEL_INTERRUPT_PRIORITY 255/* 系统内核的中断优先级,中断优先级越低,越不会影响其他中断。一般设成最低 */
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 191 /* equivalent to 0xb0, or priority 11. */
/* This is the value being used as per the ST library which permits 16
priority values, 0 to 15. This must correspond to the
configKERNEL_INTERRUPT_PRIORITY setting. Here 15 corresponds to the lowest
NVIC value of 255. */
#define configLIBRARY_KERNEL_INTERRUPT_PRIORITY 15
#endif /* FREERTOS_CONFIG_H */
FreeRTOS V8.0.0:rc2 - Copyright (C) 2014 Real Time Engineers Ltd.
All rights reserved
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
* *
* FreeRTOS provides completely free yet professionally developed, *
* robust, strictly quality controlled, supported, and cross *
* platform software that has become a de facto standard. *
* *
* Help yourself get started quickly and support the FreeRTOS *
* project by purchasing a FreeRTOS tutorial book, reference *
* manual, or both from: http://www.FreeRTOS.org/Documentation *
* *
* Thank you! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
>>! NOTE: The modification to the GPL is included to allow you to distribute
>>! a combined work that includes FreeRTOS without being obliged to provide
>>! the source code for proprietary components outside of the FreeRTOS
>>! kernel.
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. Full license text is available from the following
link: http://www.freertos.org/a00114.html
1 tab == 4 spaces!
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
* not run, what could be wrong?" *
* *
* http://www.FreeRTOS.org/FAQHelp.html *
* *
***************************************************************************
http://www.FreeRTOS.org - Documentation, books, training, latest versions,
license and Real Time Engineers Ltd. contact details.
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool, a DOS
compatible FAT file system, and our tiny thread aware UDP/IP stack.
http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
licenses offer ticketed support, indemnification and middleware.
http://www.SafeRTOS.com - High Integrity Systems also provide a safety
engineered and independently SIL3 certified version for use in safety and
mission critical applications that require provable dependability.
1 tab == 4 spaces!
*/
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
/*-----------------------------------------------------------
* Application specific definitions.
*
* These definitions should be adjusted for your particular hardware and
* application requirements.
*
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*
* See http://www.freertos.org/a00110.html.
*----------------------------------------------------------*/
#define configUSE_PREEMPTION 1/* 是否配置成抢先式多任务内核,是1的时候,优先级高的任务优先执行。 为0任务就没有优先级之说,用时间片轮流执行 */
#define configUSE_IDLE_HOOK 0/* IDLE任务的HOOK函数,用于OS功能扩展,需要你自己编相应函数, 名字是void vApplicationIdleHook( void ) */
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned long ) 72000000 )/* 系统CPU频率,单位是Hz */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )/* 系统SYSTEM TICK每秒钟的发生次数, 数值越大系统反应越快,但是CPU用在任务切换的开销就越多 */
#define configMAX_PRIORITIES ( 5 )/* 系统任务优先级数。5 说明任务有5级优先度。这个数目越大耗费RAM越多 */
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )/* 系统最小堆栈尺寸,注意128不是128字节,而是128个入栈。比如ARM32位,128个入栈就是512字节 */
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 17 * 1024 ) )/* 系统可用内存。一般设成除了操作系统和你的程序所用RAM外的最大RAM。 比如20KRAM你用了2K,系统用了3K,剩下15就是最大HEAP 尺寸。你可以先设小然后看编译结果往大里加*/
#define configMAX_TASK_NAME_LEN ( 16 )/* 任务的PC名字最大长度,因为函数名编译完了就不见了,所以追踪时不知道哪个名字。16表示16个char */
#define configUSE_TRACE_FACILITY 0/* 是否设定成追踪,由PC端TraceCon.exe记录,也可以转到系统显示屏上 */
#define configUSE_16_BIT_TICKS 0/* 就是SYSTEM TICK的长度,16是16位,如果是16位以下CPU, 一般选1;如果是32位系统,一般选0 */
#define configIDLE_SHOULD_YIELD 1/* 简单理解以下就是和IDLE TASK同样优先级的任务执行情况。建议设成1,对系统影响不大 */
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES 0/* 是用用协程。协程公用堆栈,节省RAM,但是没有任务优先级高,也无法和任务通讯 */
/* 设置为1则包含co-routines 功能,如果包含了co-routines功能,则编译时需包含croutine.c 文件 */
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) /* co-routines 可以使用的优先级的数量 */
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
#define INCLUDE_vTaskPrioritySet 1/* 设定可以改变任务优先度 */
#define INCLUDE_uxTaskPriorityGet 1/* 设定可以查询任务优先度 */
#define INCLUDE_vTaskDelete 1/* 设定可以删除任务 */
#define INCLUDE_vTaskCleanUpResources 0/* 据说是可以回收删除任务后的资源(RAM等)*/
#define INCLUDE_vTaskSuspend 1/* 设置可以把任务挂起 */
#define INCLUDE_vTaskDelayUntil 1/* 设置任务延迟的绝对时间,比如现在4:30,延迟到5:00。时间都是绝对时间 */
#define INCLUDE_vTaskDelay 1/* 设置任务延时,比如延迟30分钟,相对的时间,现在什么时间,不需要知道 */
/* This is the raw value as per the Cortex-M3 NVIC. Values can be 255
(lowest) to 0 (1?) (highest). */
#define configKERNEL_INTERRUPT_PRIORITY 255/* 系统内核的中断优先级,中断优先级越低,越不会影响其他中断。一般设成最低 */
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 191 /* equivalent to 0xb0, or priority 11. */
/* This is the value being used as per the ST library which permits 16
priority values, 0 to 15. This must correspond to the
configKERNEL_INTERRUPT_PRIORITY setting. Here 15 corresponds to the lowest
NVIC value of 255. */
#define configLIBRARY_KERNEL_INTERRUPT_PRIORITY 15
#endif /* FREERTOS_CONFIG_H */
0 1
- FreeRTOS 笔记一:配置之FreeRTOSConfig.h
- FreeRTOS之配置详解、裁剪(FreeRTOSConfig.h)
- FreeRTOS学习笔记-2-FreeRTOSConfig.h
- FreeRTOS移植笔记(二)FreeRTOSConfig.h文件详解
- FreeRTOS FreeRTOSConfig.h内容定义
- 嵌入式FreeRTOS操作系统FreeRTOSConfig.h配置文件解读
- FreeRTOS学习笔记一
- FreeRTOS配置笔记
- FreeRTOS学习及移植笔记之一:开始FreeRTOS之旅
- FreeRTOS移植笔记(一)创建工程模板
- FreeRTOS学习笔记(一)基础篇
- 配置 FreeRTOS
- 配置FreeRTOS
- 配置 FreeRTOS
- freeRTOS配置
- 配置FreeRTOS
- 配置FreeRTOS
- ESP8266_RTOS_SDK学习笔记之 FreeRTOS移植浅析
- Python编程.Bluetooth HID Mouse and Keyboard(一)
- 你是一名努力工作的程序员,还是懒惰的程序员?
- Android 提升Android编译速度
- google jquery jquery取得table的第几行几列
- Android [USB]OTG功能如何打开及实现
- FreeRTOS 笔记一:配置之FreeRTOSConfig.h
- Android 技巧 - PopupWindow 最优定位
- 硬盘分区表及数据的恢复
- Ceilometer alarm 初学习
- 在jsp页面获取url请求参数
- 在MTK6572当中如何增加一个新按键,而且此按键值在虚拟按键当中可以使用
- Android.mk简介
- Android 如何加速./mk snod打包
- 图层跟随精灵移动