Lines Matching refs:a

7     + Add stream batching buffer. A stream batching buffer differs from a stream
8 buffer when a task reads from a non-empty buffer:
9 - The task reading from a non-empty stream buffer returns immediately
11 - The task reading from a non-empty steam batching buffer blocks until the
30 + Add a config option to the FreeRTOS SMP Kernel to set the default core
53 + Update the POSIX port to use a timer thread for tick interrupts instead of
95 + Add a template FreeRTOSConfig.h, inclusive of an abbreviated explanation of
96 each configuration item. Application writers can use this template as a
98 + Add a template FreeRTOS port which can be used as a starting point for
99 developing a new FreeRTOS port.
111 base priority of a task. The base priority of a task is the priority that
122 + Prevent tasks waiting for a notification from being resumed by calls to
139 source and then enable SysTick. This is needed to address a bug in QEMU
141 enabled without first selecting a valid clock source. We thank @jefftenney
147 unnecessary steps while splitting a large memory block into two. We thank
153 operation of traversing a linked link from a critical section. We thank
158 task has inherited priority from a mutex it is holding, and the new priority
170 + Add the Pull Request (PR) Process explaining the stages a PR goes through.
180 - Wrap parameters for system calls with more than four parameters in a
200 + Add a new MPU wrapper that places additional restrictions on unprivileged
207 2. Save the task context in Task Control Block (TCB): When a task is
210 3. Execute system calls on a separate privileged only stack: FreeRTOS
211 system calls, which execute with elevated privilege, now use a
216 4. Memory bounds checks: FreeRTOS system calls which accept a pointer
280 + Add configTICK_TYPE_WIDTH_IN_BITS to configure TickType_t data type. As a result,
287 + Fix the scheduler logic in a couple of places to not preempt a task when an
314 + ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
316 read from or write to arbitrary addresses by passing a negative argument
319 ensure that passing a negative argument as the xIndex parameter does not
323 to invoke any function with privilege by passing it as a parameter to
331 + ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
333 achieve further privilege escalation by branching directly inside a
334 FreeRTOS MPU API wrapper function with a manually crafted stack frame.
336 a manually crafted stack frame cannot be used for privilege escalation
337 by branching directly inside a FreeRTOS MPU API wrapper.
353 - Add a check to heap_2 to track if a memory block is allocated to
357 - Add a new flag configHEAP_CLEAR_MEMORY_ON_FREE to heap_2, heap_4
360 - Add a new API pvPortCalloc to heap_2, heap_4 and heap_5 which has the same
365 instance of a stream buffer or message buffer. Earlier there could be
373 (and likewise APIs for message buffer) can be used to create a stream buffer
389 when using CM4 MPU ports on a Cortex-M7 r0p0/r0p1 core.
407 + Add a cap to the cRxLock and cTxLock members of the queue data structure.
417 a BaseType_t. The legacy function uxTimerGetAutoReload is retained with the
422 instead of inside vTaskStepTick(). This fixes the typical case where a task
423 wakes up one tick late and a rare case assertion failure when xTickCount\
426 are protected with a mutex. Contributed by @clemenskresser.
427 + Fix a warning in tasks.c when compiled with -Wduplicated-branches
440 a critical section when the tick count is also 16 bits.
443 + Remove #error when RISC-V port is compiled on a 64-bit RISC-V platform.
462 + Introduce a new config configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS which
473 for backward compatibility. #define configRUN_TIME_COUNTER_TYPE to a type
479 time is only a good measure of the slack time in a system if there are no
504 + Fix a race condition in the message buffer implementation. The
506 two distinct operations, which both modify the size of the buffer. If a
510 + The xTaskCreate() and xTaskCreateStatic() functions accept a task priority
512 (configMAX_PRIORITIES - 1) should it be set to a value above that priority.
513 Now values above that priority will also trigger a configASSERT() failure.
514 + Replace configASSERT( pcQueueName ) in vQueueAddToRegistry with a NULL
517 constant that enables the stack allocated to tasks to come from a heap other
526 + Correct a build error in the POSIX port.
554 a FreeRTOS API call.
556 vTaskDelayUntil(), with the addition of returning a value to
581 + Task notifications: Prior to FreeRTOS V10.4.0 each created task had a
585 operate on a task notification at any array index. See
588 ARMv8-M MPU ports now support a privilege access only heap. The ARMv7-M
621 contained are now available as a separate download.
630 + Update the Windows simulator port to use a synchronous object to prevent
631 a user reported error whereby a task continues to run for a short time
635 configISR_STACK_SIZE_WORDS is defined to a non zero value, which causes
650 + Added contributed port and demo application for a T-Head (formally C-SKY)
701 + Update the method used to detect if a timer is active. Previously the
702 timer was deemed to be inactive if it was not referenced from a list.
703 However, when a timer is updated it is temporarily removed from, then
704 re-added to a list, so now the timer's active status is stored separately.
715 uxTaskGetStackHighWaterMark() returns a UBaseType_t as always,
719 of static memory only and dynamic memory only builds. As a result the
721 complex and was moved to FreeRTOS.h with a table explaining its definition.
722 + Added a 'get task tag from ISR' function.
723 + Change the method used to determine if a timer is active or not from just
728 previously a name had to be provided.
737 + Reverted a few structure name changes that broke several kernel aware
753 debuggers). Note this required the pvContainer member of a ListItem_t
757 functionality in a more user friendly way - previously the generic thread
773 used to hold the length of a message in the message buffer to be reduced.
776 saving 3 bytes each time a message is written into the message buffer
785 V10.0.0. FreeRTOS+TCP can be configured as a UDP only stack, and
810 - Introduce ipconfigSOCKET_HAS_USER_WAKE_CALLBACK option to enable a user
811 definable callback to execute when data arrives on a socket.
836 important if a user defined tick hook function performs an operation that
851 set to 1 a user provided header file called freertos_task_c_additions.h
854 calls a macro called FREERTOS_TASKS_C_ADDITIONS_INIT(), if it is defined.
857 defined by a user in FreeRTOSConfig.h. The macro is called before
873 + Only fill the stack of a newly created task with a known value if stack
878 + Ensure suspended tasks cannot be unsuspended by a received task
885 + Priority dis-inheritance behaviour has been enhanced in the case where a
886 task that attempted to take a mutex that was held by a lower priority task
895 + Introduced configINITIAL_TICK_COUNT to allow the tick count to take a
904 the FPU is used before the scheduler is started. This just saves a few
905 bytes on the main stack as it prevents space being left for a later save
914 xTaskCreateStatic(), being a newer function, used a uint32_t.
917 priority, there is a risk that the host will become unresponsive, so also
927 remove a parameter and improve compatibility with other new
934 automatically given a floating point (FPU) context.
940 entry address placed onto the stack of a task when the task is created for
983 been simplified and will not revert to using dynamic allocation if a
984 buffer is passed into a function as NULL.
986 allow a FreeRTOS application to be built without a heap even being being
989 a reference for projects that do not include a FreeRTOS heap.
1012 + Added the xTaskGetTaskHandle() API function, which obtains a task handle
1018 a queue from the queue's handle.
1022 task is now freed immediately. If a task deletes itself, then the stack
1024 + If a task notification is used to unblock a task from an ISR, but the
1025 xHigherPriorityTaskWoken parameter is not used, then pend a context switch
1031 the heap at a specific memory location.
1032 + TaskStatus_t structures are used to obtain details of a task.
1034 + Added the vTaskGetTaskInfo() API function, which returns a TaskStatus_t
1035 structure that contains information about a single task. Previously this
1049 + Added a port and demo for the ARM Cortex-A53 64-bit cores on the Xilinx
1059 + Fix bug identified in a modification made in V8.2.2 to the software timer
1071 application, and uses a global XScuGic object so the same object can be
1123 + Simplify the code that creates a queue.
1133 + Added MSP430FR5969 demos (previously provided as a separate download).
1146 a fail safe transactional file system ideal for applications that require
1149 users to place the output buffer at a fixed memory address.
1160 + Fixed a potential issue related to the use of queue sets from an ISR.
1163 + Added ARM Cortex-M7 r0p1 port layer for IAR, GCC and Keil which contains a
1195 a new header file called FreeRTOS/Source/include/deprecated_definitions.h.
1201 + Made xSemaphoreGiveFromISR() a function rather than a macro that calls
1205 a semaphore can now be replaced with a task notification which is smaller
1211 enhancements at the cost of a little additional code space).
1212 + Queues are now allocated with a single call to pvPortMalloc() which
1214 + Introduced a new critical section macro for reading the tick count that
1234 belonging to a task when the task was deleted, even when the stack was
1248 + Updated Atmel SAM4E and SAM4S demos to include a lot of additional test
1250 + Fixed a corner case issue in Atmel SAM4L low power tickless
1269 By popular requests - a minor patch to V8.1.0 to re-instate the ability to
1270 give a mutex type semaphore (with priority inheritance) from an interrupt
1281 + Updated all Cortex-A9 ports to help trap a couple of common usage errors -
1282 the first being when a task incorrectly attempts to exit its implementing
1283 function and the second being when a non interrupt safe API function is
1286 restoring a task context.
1288 + Update all Cortex-M3/4F ports to trap a non interrupt safe API function
1297 + Introduce the pdMS_TO_TICKS() macro as a more user friendly and intuitive
1298 alternative to pdTICKS_PER_MS - both of which can be used to convert a
1299 time specified in milliseconds to a time specified in RTOS ticks.
1300 + Fix a bug in the Tasking compiler's Cortex-M port that resulted in an
1313 + Generic IAR Cortex-A5 port (without any reliance on a GIC) introduced.
1335 The 'clear bits from ISR' functionality is now implemented using a
1336 deferred interrupt callback instead of a function, and the 'wait bits' and
1338 returning a value in every possible path through the respective functions.
1339 + Ensure the updating of internal control data is protected by a critical
1340 section after a task is deleted or suspended.
1341 + Minor fixes to FreeRTOS+FAT SL - namely seeking beyond the end of a file
1342 when the offset was not a multiple of the sector size.
1352 + Call _reclaim_reent() when a task is deleted if configUSE_NEWLIB_REENTRANT
1359 FreeRTOS V8.x.x is a drop-in compatible replacement for FreeRTOS V7.x.x,
1360 although a change to the type used to reference character strings may result
1361 in application code generating a few (easily clearable) compiler warnings
1375 + Previously, when a task left the Blocked state, a context switch was
1377 to the priority of the Running task. Now a context switch is only
1385 ensure the alarm value (compare match value) cannot be set to zero when a
1386 tickless period is exited due to an interrupt originating from a source
1390 + xTaskIsTaskSuspended() is no longer a public function. Use
1405 WHEN configUSE_PREEMPTION IS SET TO 0 (which is in a small minority of
1406 cases) a context switch will now only occur when a task places itself into
1408 previous versions, where a context switch would also occur when implicitly
1409 moving a higher priority task out of the Blocked state. For example,
1411 writing to a queue, then the scheduler would switch to the higher priority
1413 writing to a queue, task B will not start running until task A enters the
1420 + Added a port layer and a demo project for the new PIC32MZ architecture.
1434 recommended to use vSemaphoreCreateBinary() (the version prefixed with a
1438 + Added a build configuration to the PIC32MX MPLAB X demo project that
1475 FreeRTOS+Nabto task, improvements to the DHCP behaviour, and a correction
1490 + Added a demo for the Infineon Cortex-M0 that can be built with the IAR
1509 V7.5.0 is a major upgrade that includes multiple scheduling and efficiency
1522 returns a value).
1556 options provides a mechanism that allows application writers to execute
1557 certain functions in privileged mode even when a task is running in user
1559 + Ports that support interrupt nesting now include a configASSERT() that
1561 interrupt that has a priority designated as above the maximum system/API
1567 include a new basic 'blinky' build option in addition to the original
1600 + Add a new RL78 IAR demo that targets numerous new RL78 chips and
1623 + Renamed eTaskStateGet() to eTaskGetState() for consistency, and added a
1632 used to ensure the start of the heap was aligned with a more portable
1658 (which would not be a normal usage model for a mutex).
1681 + Added a FreeRTOS+ sub-directory. The directory contains some FreeRTOS+
1683 + Added a new example heap allocation implementation (heap_4.c) that
1685 + Added a demo that targets the Atmel SAM4S Cortex-M4 based microcontroller.
1696 + Added a vQueueDelete() handler for the FreeRTOS MPU port (this was
1715 + Added a configASSERT() into the vPortFree() function in heap_1.c as it is
1718 This is probably not necessary, and is included as a precautionary
1723 + The software timer service (daemon) task is now created in a way that
1733 The following ports have been available as separate downloads for a number
1745 The following demos have been available as separate downloads for a number
1760 + Added a new trace macro, traceMOVE_TASK_TO_READY_STATE(), to allow future
1771 + Added a NOP following each DINT instruction on MSP430 devices for strict
1777 ensure the code can be built to a library without essential code being
1801 that build with Eclipse to include a #error statement informing the user
1820 + NXP LPC4350 using the Keil MDK, and demonstrated on a Hitex development
1841 specific ports to skip the second stack alignment check when a task is
1844 actually point to a stack.
1846 up when a task is deleted - again this is required by the TriCore port.
1847 + Various other minor changes to ensure warning free builds on a growing
1848 number of microcontroller and toolchain platforms. This includes a
1864 - the queue structure includes an additional member to hold a queue
1867 - the TCB structure includes an additional member to hold a task number
1874 + Updated the traceQUEUE_CREATE_FAILED() macro to take a parameter that
1881 where vTaskPrioritySet() is called with a null parameter.
1899 EDK, and includes a basic embedded web server that uses lwIP V1.4.0.
1911 a semaphore. In previous versions vQueueDelete() had to be used.
1912 + vTaskCleanUpResources() has been removed. It has been obsolete for a
1915 being generated when the size of a pointer does not match the size of
1928 necessary due to a change in the way EWARM uses the CMSIS libraries.
1933 + The bones of a new generic command interpreter is located in
1934 FreeRTOS/Demo/Common/Utils/CommandInterpreter.c. This is still a work in
1938 + A couple of new standard demos have been included. First, a version of
1942 point units, and revert to using emulated calculations whenever a double
1947 used by a couple of new demos.
1951 + Added a Fujitsu FM3 demo application for both the IAR and Keil tool
1953 + Added a SmartFusion demo application for all of the IAR, Keil and
1974 + Introduced a new software timer implementation.
1975 + Introduced a new common demo application file to exercise the new timer
1991 + Added a demo project for the MSP430X that targets the MSP430X Discovery
2003 + Various cosmetic changes to prepare for a standards compliance statement
2014 + Added a demo for the low power STM32L152 microcontroller using the IAR
2016 + Added a new port for the MSP430X core using the IAR Embedded Workbench.
2023 release, and to use a more recent version of the CMSIS libraries.
2031 + Added a "cpsie i" instruction before the "svc 0" instruction used to start
2043 allows them to effectively start in the Suspended state - a feature that
2047 + Added a STM32F103 demo application that uses the Rowley tools.
2050 + xTaskCreateGeneric() has a parameter that can be used to pass the handle
2054 case where the assignment is made to a global variable that is accessed by
2083 be defined when a memory protection unit (MPU) is being used - and then
2101 stack pointer is where the compiler expects it to be when a task first
2106 + portRESET_PRIVILEGE() assembly macro updated to include a clobber list.
2138 setting up the initial stack of a task - removing the need for
2160 + Added a new port and demo app for the Altera Nios2 soft core.
2162 + Added a USB CDC demo to all LPC1768 demos (Code Red, CrossWorks and IAR).
2170 problems that can arise should configUSE_16_BIT_TICKS be set to 1 on a
2171 32 bit architecture (which would probably be a mistake, anyway).
2204 + Added a new demo application for the Atmel AT91SAM3U Cortex-M3 based
2206 + Added a new demo application for the NXP LPC1766 Cortex-M3 based
2208 + Added a contributed port/demo that allows FreeRTOS to be 'simulated' in a
2213 statistics gathering feature - and include a served WEB page that
2214 presents the information in a tabular format.
2226 alignment. These have been converted to unions to save a few bytes of
2245 + Updated the MCF52233 FEC driver to work around a silicon bug that
2261 + Included FreeRTOS-uIP - a faster uIP. This is not yet complete.
2265 + Added a new port and demo application for the ColdFire V2 core using the
2268 Keil compiler with a new port that uses the new Keil/RVDS combo.
2276 + Replaced the two separate MSP430/Rowley port layers with a single and more
2285 + Bug fix: All Cortex M3 ports have a minor change to the code that sets
2302 + Added the IntQTimer demo/test tasks to a demo project for each CM3 port
2321 + Added a new PowerPC port that demonstrates how the trace macros can be
2322 used to allow the use of a floating point co-processor. The
2326 + BUG FIX: The first PPC405 port contained a bug in that it did not leave
2327 adequate space above the stack for the backchain to be saved when a task
2330 queue API functions to be called from interrupts that have a priority
2336 + Added the queue registry feature. The queue registry is provided as a
2338 purpose unless you are using a kernel aware debugger. The queue registry
2342 + Added a Keil STM32 demo application.
2344 ports to call queue API functions from within a critical section.
2350 + V5.0.1 was a customer specific release.
2372 + Added a Virtex4 PowerPC 405 port and demo application.
2381 a flexible trace facility.
2406 + Fixed co-operative scheduler behaviour upon the occurrence of a tick
2431 + Changed the method used to force a context switch within an ISR for the
2445 include a priority inheritance mechanism.
2455 + Consolidated the LM3Sxxxx EK demos for all development tools into a
2478 and are the subject of a call the vTaskResume() when they are not
2513 + Changes to both task.c and queue.c as a result of testing performed on
2526 + Tasks that block on events with a timeout of portMAX_DELAY are now
2547 stated a maximum block time, and the return value of the function needed
2555 only available as a separate download.
2565 of a task is changed. Previously only the priority of the TCB itself was
2571 + When ending the scheduler - do not try to attempt a context switch when
2579 + Added a port and demo application for the STR9 ARM9 based processors from
2587 + Added a port and demo application for the Cortex-M3 target using the IAR
2594 + The lwIP Rowley demo not includes a 'kernel aware' debug window.
2607 + Allow a task to delete itself by passing in its own handle. Previously
2611 + The tick hook function is now called only within a tick isr. Previously
2619 + In the Borland x86 ports there was a mistake in the portFIRST_CONTEXT
2621 BP value would never get used so this did not cause a problem, but it has
2629 + Added a Luminary Micro port and demo for use with Rowley CrossWorks.
2650 the task.c code to be tidied up a bit.
2666 a co-routine.
2677 some systems when the code is executed using a j-link debugger. The
2679 attempting to configure it again in the startup code was causing a
2680 problem for some user. Now a check is performed first to see if the
2682 + GCC port now contain all assembler code in a single asm block rather than
2685 choose the register to use as a temporary register during the context
2697 + Added a new Microblaze port and demo application.
2709 this end include the addition of a standard makefile and linker script to
2715 + The various LPC2000 ports had a mistake in the timer setup where the
2717 no effect unless a prescale value was actually required. This has been
2724 Workbench V4.30a format.
2745 V3.2.0 introduces two new MSP430 ports and corrects a minor kernel
2752 are called while the scheduler is locked (by a call to
2755 priority that is ready to run. Previously there was a possibility that
2758 one task is blocked on a semaphore or queue, the task with the highest
2760 + Added a couple of more test tasks to the PC demo which cover the points
2768 + Updated the HCS12 port to support banking and introduced a demo
2776 + The demo application file Demo/Common/Minimal/death.c has a slight
2790 + Added a new conditional compilation macro configIDLE_SHOULD_YIELD.
2825 and is now a supported port.
2850 definitions have been removed from 'portmacro.h' and placed inside a
2869 batch files used previously have been deleted. This means a recent
2870 version of WinAVR is required in order to create a binary suitable for
2873 constant as a parameter. Instead the constant is used directly within
2881 + pvPortMalloc() now takes a size_t parameter as per the ANSI malloc().
2883 + When resuming the scheduler a yield is performed if either a tick has
2884 been missed, or a task is moved from the pending ready list into a
2885 ready list. Previously a yield was not performed on this second
2933 a length that is an exact multiple of the FIFO to be transmitted.
2951 + Small change to sTaskCreate() to allow a context switch even when
2970 instead now stored in a variable, which is then saved as part of the
2983 This creates a better test condition.
2989 + The memory pool allocated within heap_1.c has been placed within a
3013 + Added a new test to the ARM7 demo application that tests the operation
3036 + Added TABLAT to the list of registers saved as part of a PIC18 context.
3083 now use a variable of type TickType_t in place of the unsigned long's
3091 + vTaskResumeAll() has been renamed cTaskResumeAll() as it now returns a
3100 + A mechanism has been introduced that allows a queue to be accessed by
3101 a task and ISR simultaneously.
3127 + Creating a task now causes a context switch if the task being created
3128 has a higher priority than the calling task - assuming the kernel is
3130 + vTaskDelete() now only causes a context switch if the calling task is
3140 still works but probably executes a number of NOP's before getting to the
3149 port was also calculating a register value incorrectly resulting in the
3169 V1.2.4 contains a release version of the PIC18 port.
3190 Changes between V1.2.2a and V1.2.3
3195 The zip file also contains a pre-release version of the PIC18 port. This
3209 Changes between V1.2.2 and V1.2.2a
3221 + Introduced a BCC directory under source\portable. This contains all the
3239 that no NULL pointers are passed as a parameter.
3241 The Flashlite 186 serial port driver has also been modified to use a DMA
3253 The tasks that operate at the idle priority now use a lower expected
3254 count than those running at a higher priority. This prevents the low
3258 + The flashlite 186 serial driver now uses a DMA channel for transmissions.
3265 need for a pointer comparison when checking if a list is empty, and so
3285 a display (currently PC and Flashlite 186 demo's). The files in the
3308 ports to allocate a different maximum number of priorities.
3311 + comtest.c now uses a psuedo random delay between sends. This allows for
3322 Improved context switch mechanism used when performing a context
3326 The assembler file portasm.asm has been replaced by a header file
3327 portasm.h. This includes a few assembler macro definitions.
3330 by the compiler. This means the initial stack setup for a task has to
3356 a high communications overhead.