/*
FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.
All rights reserved
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
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 on the following
link: http://www.freertos.org/a00114.html
***************************************************************************
* *
* FreeRTOS provides completely free yet professionally developed, *
* robust, strictly quality controlled, supported, and cross *
* platform software that is more than just the market leader, it *
* is the industry's de facto standard. *
* *
* Help yourself get started quickly while simultaneously helping *
* to support the FreeRTOS project by purchasing a FreeRTOS *
* tutorial book, reference manual, or both: *
* http://www.FreeRTOS.org/Documentation *
* *
***************************************************************************
http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
the FAQ page "My application does not run, what could be wrong?". Have you
defined configASSERT()?
http://www.FreeRTOS.org/support - In return for receiving this top quality
embedded software for free we request you assist our global community by
participating in the support forum.
http://www.FreeRTOS.org/training - Investing in training allows your team to
be as productive as possible as early as possible. Now you can receive
FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
Ltd, and the world's leading authority on the world's leading RTOS.
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.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
licenses offer ticketed support, indemnification and commercial 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!
*/
/* Standard includes. */
#include <stdlib.h>
#include <string.h>
/* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining
all the API functions to use the MPU wrappers. That should only be done when
task.h is included from an application file. */
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
/* FreeRTOS includes. */
#include "FreeRTOS.h"
#include "task.h"
#include "timers.h"
#include "StackMacros.h"
/* Lint e961 and e750 are suppressed as a MISRA exception justified because the
MPU ports require MPU_WRAPPERS_INCLUDED_FROM_API_FILE to be defined for the
header files above, but not in this file, in order to generate the correct
privileged Vs unprivileged linkage and placement. */
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE /*lint !e961 !e750. */
/* Set configUSE_STATS_FORMATTING_FUNCTIONS to 2 to include the stats formatting
functions but without including stdio.h here. */
#if ( configUSE_STATS_FORMATTING_FUNCTIONS == 1 )
/* At the bottom of this file are two optional functions that can be used
to generate human readable text from the raw data generated by the
uxTaskGetSystemState() function. Note the formatting functions are provided
for convenience only, and are NOT considered part of the kernel. */
#include <stdio.h>
#endif /* configUSE_STATS_FORMATTING_FUNCTIONS == 1 ) */
#if( configUSE_PREEMPTION == 0 )
/* If the cooperative scheduler is being used then a yield should not be
performed just because a higher priority task has been woken. */
#define taskYIELD_IF_USING_PREEMPTION()
#else
#define taskYIELD_IF_USING_PREEMPTION() portYIELD_WITHIN_API()
#endif
/* Values that can be assigned to the ucNotifyState member of the TCB. */
#define taskNOT_WAITING_NOTIFICATION ( ( uint8_t ) 0 )
#define taskWAITING_NOTIFICATION ( ( uint8_t ) 1 )
#define taskNOTIFICATION_RECEIVED ( ( uint8_t ) 2 )
/*
* The value used to fill the stack of a task when the task is created. This
* is used purely for checking the high water mark for tasks.
*/
#define tskSTACK_FILL_BYTE ( 0xa5U )
/* Sometimes the FreeRTOSConfig.h settings only allow a task to be created using
dynamically allocated RAM, in which case when any task is deleted it is known
that both the task's stack and TCB need to be freed. Sometimes the
FreeRTOSConfig.h settings only allow a task to be created using statically
allocated RAM, in which case when any task is deleted it is known that neither
the task's stack or TCB should be freed. Sometimes the FreeRTOSConfig.h
settings allow a task to be created using either statically or dynamically
allocated RAM, in which case a member of the TCB is used to record whether the
stack and/or TCB were allocated statically or dynamically, so when a task is
deleted the RAM that was allocated dynamically is freed again and no attempt is
made to free the RAM that was allocated statically.
tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE is only true if it is possible for a
task to be created using either statically or dynamically allocated RAM. Note
that if portUSING_MPU_WRAPPERS is 1 then a protected task can be created with
a statically allocated stack and a dynamically allocated TCB. */
#define tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE ( ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) || ( portUSING_MPU_WRAPPERS == 1 ) )
#define tskDYNAMICALLY_ALLOCATED_STACK_AND_TCB ( ( uint8_t ) 0 )
#define tskSTATICALLY_ALLOCATED_STACK_ONLY ( ( uint8_t ) 1 )
#define tskSTATICALLY_ALLOCATED_STACK_AND_TCB ( ( uint8_t ) 2 )
/*
* Macros used by vListTask to indicate which state a task is in.
*/
#define tskBLOCKED_CHAR ( 'B' )
#define tskREADY_CHAR ( 'R' )
#define tskDELETED_CHAR ( 'D' )
#define tskSUSPENDED_CHAR ( 'S' )
/*
* Some kernel aware debuggers require the data the debugger needs access to be
* global, rather than file scope.
*/
#ifdef portREMOVE_STATIC_QUALIFIER
#define static
#endif
#if ( configUSE_PORT_OPTIMISED_TASK_SELECTION == 0 )
/* If configUSE_PORT_OPTIMISED_TASK_SELECT
没有合适的资源?快使用搜索试试~ 我知道了~
NXP i.MX RT1052实现FreeRTOS事件标志组【支持RT105X系列控制器_FreeRTOS实战】.zip
共258个文件
h:117个
c:104个
i:16个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 47 浏览量
2023-05-19
17:11:34
上传
评论
收藏 2.12MB ZIP 举报
温馨提示
NXP i.MX RT1052驱动程序,FreeRTOS实战。 支持RT105X系列控制器编译和运行。 项目代码可顺利编译运行~
资源推荐
资源详情
资源评论
收起资源包目录
NXP i.MX RT1052实现FreeRTOS事件标志组【支持RT105X系列控制器_FreeRTOS实战】.zip (258个子文件)
FreeRTOS.uvguix.alientek 174KB
tasks.c 154KB
fsl_enet.c 110KB
queue.c 82KB
fsl_sai.c 78KB
fsl_edma.c 75KB
fsl_trng.c 72KB
fsl_flexcan.c 71KB
fsl_usdhc.c 63KB
fsl_lpi2c.c 61KB
fsl_lpspi.c 61KB
fsl_lpuart.c 60KB
tftlcd.c 58KB
fsl_str.c 43KB
timers.c 40KB
fsl_semc.c 36KB
fsl_lpspi_edma.c 36KB
fsl_dcp.c 36KB
fsl_flexio_spi.c 35KB
fsl_clock.c 31KB
port.c 31KB
fsl_flexio_i2c_master.c 30KB
fsl_flexspi.c 29KB
port.c 29KB
port.c 28KB
fsl_io.c 27KB
port.c 27KB
fsl_flexio_uart.c 26KB
fsl_pwm.c 26KB
event_groups.c 26KB
fsl_flexio_i2s.c 25KB
fsl_spdif.c 22KB
port.c 21KB
fsl_snvs_lp.c 21KB
fsl_shell.c 21KB
fsl_csi.c 21KB
fsl_spdif_edma.c 20KB
fsl_pxp.c 19KB
fsl_lpi2c_edma.c 18KB
heap_5.c 18KB
fsl_log.c 18KB
fsl_cache.c 17KB
fsl_sai_edma.c 17KB
heap_4.c 17KB
fsl_enc.c 16KB
croutine.c 15KB
fsl_qtmr.c 15KB
fsl_flexio_spi_edma.c 15KB
fsl_adc_etc.c 15KB
elcdif.c 15KB
fsl_snvs_hp.c 14KB
fsl_flexio_i2s_edma.c 14KB
fsl_lpuart_edma.c 12KB
fsl_flexio_uart_edma.c 12KB
port.c 12KB
heap_2.c 12KB
port.c 12KB
fsl_dcdc.c 12KB
fsl_lpuart_freertos.c 11KB
fsl_debug_console.c 11KB
fsl_flexio.c 11KB
list.c 11KB
fsl_elcdif.c 11KB
system_MIMXRT1052.c 10KB
fsl_adc.c 10KB
fsl_xbara.c 10KB
fsl_cmp.c 9KB
sys.c 9KB
fsl_notifier.c 8KB
fsl_tsc.c 8KB
fsl_flexram.c 8KB
sdram.c 8KB
heap_1.c 7KB
fsl_kpp.c 7KB
fsl_bee.c 7KB
fsl_aoi.c 7KB
main.c 7KB
fsl_common.c 6KB
lpuart.c 6KB
fsl_gpio.c 6KB
malloc.c 5KB
heap_3.c 5KB
fsl_wdog.c 5KB
fsl_pit.c 5KB
fsl_gpt.c 5KB
fsl_ewm.c 5KB
fsl_xbarb.c 4KB
fsl_swo.c 4KB
fsl_lpi2c_freertos.c 4KB
fsl_rtwdog.c 4KB
fsl_lpspi_freertos.c 4KB
fsl_dmamux.c 4KB
fsl_gpc.c 4KB
key.c 3KB
delay.c 3KB
fsl_aipstz.c 3KB
fsl_pmu.c 3KB
fsl_src.c 3KB
pcf8574.c 2KB
fsl_assert.c 2KB
共 258 条
- 1
- 2
- 3
资源评论
不脱发的程序猿
- 粉丝: 24w+
- 资源: 5773
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功