Lines Matching refs:a

18     + Add a template FreeRTOSConfig.h, inclusive of an abbreviated explanation of
19 each configuration item. Application writers can use this template as a
21 + Add a template FreeRTOS port which can be used as a starting point for
22 developing a new FreeRTOS port.
34 base priority of a task. The base priority of a task is the priority that
45 + Prevent tasks waiting for a notification from being resumed by calls to
62 source and then enable SysTick. This is needed to address a bug in QEMU
64 enabled without first selecting a valid clock source. We thank @jefftenney
70 unnecessary steps while splitting a large memory block into two. We thank
76 operation of traversing a linked link from a critical section. We thank
81 task has inherited priority from a mutex it is holding, and the new priority
93 + Add the Pull Request (PR) Process explaining the stages a PR goes through.
103 - Wrap parameters for system calls with more than four parameters in a
123 + Add a new MPU wrapper that places additional restrictions on unprivileged
130 2. Save the task context in Task Control Block (TCB): When a task is
133 3. Execute system calls on a separate privileged only stack: FreeRTOS
134 system calls, which execute with elevated privilege, now use a
139 4. Memory bounds checks: FreeRTOS system calls which accept a pointer
203 + Add configTICK_TYPE_WIDTH_IN_BITS to configure TickType_t data type. As a result,
210 + Fix the scheduler logic in a couple of places to not preempt a task when an
237 + ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
239 read from or write to arbitrary addresses by passing a negative argument
242 ensure that passing a negative argument as the xIndex parameter does not
246 to invoke any function with privilege by passing it as a parameter to
254 + ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
256 achieve further privilege escalation by branching directly inside a
257 FreeRTOS MPU API wrapper function with a manually crafted stack frame.
259 a manually crafted stack frame cannot be used for privilege escalation
260 by branching directly inside a FreeRTOS MPU API wrapper.
276 - Add a check to heap_2 to track if a memory block is allocated to
280 - Add a new flag configHEAP_CLEAR_MEMORY_ON_FREE to heap_2, heap_4
283 - Add a new API pvPortCalloc to heap_2, heap_4 and heap_5 which has the same
288 instance of a stream buffer or message buffer. Earlier there could be
296 (and likewise APIs for message buffer) can be used to create a stream buffer
312 when using CM4 MPU ports on a Cortex-M7 r0p0/r0p1 core.
330 + Add a cap to the cRxLock and cTxLock members of the queue data structure.
340 a BaseType_t. The legacy function uxTimerGetAutoReload is retained with the
345 instead of inside vTaskStepTick(). This fixes the typical case where a task
346 wakes up one tick late and a rare case assertion failure when xTickCount\
349 are protected with a mutex. Contributed by @clemenskresser.
350 + Fix a warning in tasks.c when compiled with -Wduplicated-branches
363 a critical section when the tick count is also 16 bits.
366 + Remove #error when RISC-V port is compiled on a 64-bit RISC-V platform.
385 + Introduce a new config configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS which
396 for backward compatibility. #define configRUN_TIME_COUNTER_TYPE to a type
402 time is only a good measure of the slack time in a system if there are no
427 + Fix a race condition in the message buffer implementation. The
429 two distinct operations, which both modify the size of the buffer. If a
433 + The xTaskCreate() and xTaskCreateStatic() functions accept a task priority
435 (configMAX_PRIORITIES - 1) should it be set to a value above that priority.
436 Now values above that priority will also trigger a configASSERT() failure.
437 + Replace configASSERT( pcQueueName ) in vQueueAddToRegistry with a NULL
440 constant that enables the stack allocated to tasks to come from a heap other
449 + Correct a build error in the POSIX port.
477 a FreeRTOS API call.
479 vTaskDelayUntil(), with the addition of returning a value to
504 + Task notifications: Prior to FreeRTOS V10.4.0 each created task had a
508 operate on a task notification at any array index. See
511 ARMv8-M MPU ports now support a privilege access only heap. The ARMv7-M
544 contained are now available as a separate download.
553 + Update the Windows simulator port to use a synchronous object to prevent
554 a user reported error whereby a task continues to run for a short time
558 configISR_STACK_SIZE_WORDS is defined to a non zero value, which causes
573 + Added contributed port and demo application for a T-Head (formally C-SKY)
624 + Update the method used to detect if a timer is active. Previously the
625 timer was deemed to be inactive if it was not referenced from a list.
626 However, when a timer is updated it is temporarily removed from, then
627 re-added to a list, so now the timer's active status is stored separately.
638 uxTaskGetStackHighWaterMark() returns a UBaseType_t as always,
642 of static memory only and dynamic memory only builds. As a result the
644 complex and was moved to FreeRTOS.h with a table explaining its definition.
645 + Added a 'get task tag from ISR' function.
646 + Change the method used to determine if a timer is active or not from just
651 previously a name had to be provided.
660 + Reverted a few structure name changes that broke several kernel aware
676 debuggers). Note this required the pvContainer member of a ListItem_t
680 functionality in a more user friendly way - previously the generic thread
696 used to hold the length of a message in the message buffer to be reduced.
699 saving 3 bytes each time a message is written into the message buffer
708 V10.0.0. FreeRTOS+TCP can be configured as a UDP only stack, and
733 - Introduce ipconfigSOCKET_HAS_USER_WAKE_CALLBACK option to enable a user
734 definable callback to execute when data arrives on a socket.
759 important if a user defined tick hook function performs an operation that
774 set to 1 a user provided header file called freertos_task_c_additions.h
777 calls a macro called FREERTOS_TASKS_C_ADDITIONS_INIT(), if it is defined.
780 defined by a user in FreeRTOSConfig.h. The macro is called before
796 + Only fill the stack of a newly created task with a known value if stack
801 + Ensure suspended tasks cannot be unsuspended by a received task
808 + Priority dis-inheritance behaviour has been enhanced in the case where a
809 task that attempted to take a mutex that was held by a lower priority task
818 + Introduced configINITIAL_TICK_COUNT to allow the tick count to take a
827 the FPU is used before the scheduler is started. This just saves a few
828 bytes on the main stack as it prevents space being left for a later save
837 xTaskCreateStatic(), being a newer function, used a uint32_t.
840 priority, there is a risk that the host will become unresponsive, so also
850 remove a parameter and improve compatibility with other new
857 automatically given a floating point (FPU) context.
863 entry address placed onto the stack of a task when the task is created for
906 been simplified and will not revert to using dynamic allocation if a
907 buffer is passed into a function as NULL.
909 allow a FreeRTOS application to be built without a heap even being being
912 a reference for projects that do not include a FreeRTOS heap.
935 + Added the xTaskGetTaskHandle() API function, which obtains a task handle
941 a queue from the queue's handle.
945 task is now freed immediately. If a task deletes itself, then the stack
947 + If a task notification is used to unblock a task from an ISR, but the
948 xHigherPriorityTaskWoken parameter is not used, then pend a context switch
954 the heap at a specific memory location.
955 + TaskStatus_t structures are used to obtain details of a task.
957 + Added the vTaskGetTaskInfo() API function, which returns a TaskStatus_t
958 structure that contains information about a single task. Previously this
972 + Added a port and demo for the ARM Cortex-A53 64-bit cores on the Xilinx
982 + Fix bug identified in a modification made in V8.2.2 to the software timer
994 application, and uses a global XScuGic object so the same object can be
1046 + Simplify the code that creates a queue.
1056 + Added MSP430FR5969 demos (previously provided as a separate download).
1069 a fail safe transactional file system ideal for applications that require
1072 users to place the output buffer at a fixed memory address.
1083 + Fixed a potential issue related to the use of queue sets from an ISR.
1086 + Added ARM Cortex-M7 r0p1 port layer for IAR, GCC and Keil which contains a
1118 a new header file called FreeRTOS/Source/include/deprecated_definitions.h.
1124 + Made xSemaphoreGiveFromISR() a function rather than a macro that calls
1128 a semaphore can now be replaced with a task notification which is smaller
1134 enhancements at the cost of a little additional code space).
1135 + Queues are now allocated with a single call to pvPortMalloc() which
1137 + Introduced a new critical section macro for reading the tick count that
1157 belonging to a task when the task was deleted, even when the stack was
1171 + Updated Atmel SAM4E and SAM4S demos to include a lot of additional test
1173 + Fixed a corner case issue in Atmel SAM4L low power tickless
1192 By popular requests - a minor patch to V8.1.0 to re-instate the ability to
1193 give a mutex type semaphore (with priority inheritance) from an interrupt
1204 + Updated all Cortex-A9 ports to help trap a couple of common usage errors -
1205 the first being when a task incorrectly attempts to exit its implementing
1206 function and the second being when a non interrupt safe API function is
1209 restoring a task context.
1211 + Update all Cortex-M3/4F ports to trap a non interrupt safe API function
1220 + Introduce the pdMS_TO_TICKS() macro as a more user friendly and intuitive
1221 alternative to pdTICKS_PER_MS - both of which can be used to convert a
1222 time specified in milliseconds to a time specified in RTOS ticks.
1223 + Fix a bug in the Tasking compiler's Cortex-M port that resulted in an
1236 + Generic IAR Cortex-A5 port (without any reliance on a GIC) introduced.
1258 The 'clear bits from ISR' functionality is now implemented using a
1259 deferred interrupt callback instead of a function, and the 'wait bits' and
1261 returning a value in every possible path through the respective functions.
1262 + Ensure the updating of internal control data is protected by a critical
1263 section after a task is deleted or suspended.
1264 + Minor fixes to FreeRTOS+FAT SL - namely seeking beyond the end of a file
1265 when the offset was not a multiple of the sector size.
1275 + Call _reclaim_reent() when a task is deleted if configUSE_NEWLIB_REENTRANT
1282 FreeRTOS V8.x.x is a drop-in compatible replacement for FreeRTOS V7.x.x,
1283 although a change to the type used to reference character strings may result
1284 in application code generating a few (easily clearable) compiler warnings
1298 + Previously, when a task left the Blocked state, a context switch was
1300 to the priority of the Running task. Now a context switch is only
1308 ensure the alarm value (compare match value) cannot be set to zero when a
1309 tickless period is exited due to an interrupt originating from a source
1313 + xTaskIsTaskSuspended() is no longer a public function. Use
1328 WHEN configUSE_PREEMPTION IS SET TO 0 (which is in a small minority of
1329 cases) a context switch will now only occur when a task places itself into
1331 previous versions, where a context switch would also occur when implicitly
1332 moving a higher priority task out of the Blocked state. For example,
1334 writing to a queue, then the scheduler would switch to the higher priority
1336 writing to a queue, task B will not start running until task A enters the
1343 + Added a port layer and a demo project for the new PIC32MZ architecture.
1357 recommended to use vSemaphoreCreateBinary() (the version prefixed with a
1361 + Added a build configuration to the PIC32MX MPLAB X demo project that
1398 FreeRTOS+Nabto task, improvements to the DHCP behaviour, and a correction
1413 + Added a demo for the Infineon Cortex-M0 that can be built with the IAR
1432 V7.5.0 is a major upgrade that includes multiple scheduling and efficiency
1445 returns a value).
1479 options provides a mechanism that allows application writers to execute
1480 certain functions in privileged mode even when a task is running in user
1482 + Ports that support interrupt nesting now include a configASSERT() that
1484 interrupt that has a priority designated as above the maximum system/API
1490 include a new basic 'blinky' build option in addition to the original
1523 + Add a new RL78 IAR demo that targets numerous new RL78 chips and
1546 + Renamed eTaskStateGet() to eTaskGetState() for consistency, and added a
1555 used to ensure the start of the heap was aligned with a more portable
1581 (which would not be a normal usage model for a mutex).
1604 + Added a FreeRTOS+ sub-directory. The directory contains some FreeRTOS+
1606 + Added a new example heap allocation implementation (heap_4.c) that
1608 + Added a demo that targets the Atmel SAM4S Cortex-M4 based microcontroller.
1619 + Added a vQueueDelete() handler for the FreeRTOS MPU port (this was
1638 + Added a configASSERT() into the vPortFree() function in heap_1.c as it is
1641 This is probably not necessary, and is included as a precautionary
1646 + The software timer service (daemon) task is now created in a way that
1656 The following ports have been available as separate downloads for a number
1668 The following demos have been available as separate downloads for a number
1683 + Added a new trace macro, traceMOVE_TASK_TO_READY_STATE(), to allow future
1694 + Added a NOP following each DINT instruction on MSP430 devices for strict
1700 ensure the code can be built to a library without essential code being
1724 that build with Eclipse to include a #error statement informing the user
1743 + NXP LPC4350 using the Keil MDK, and demonstrated on a Hitex development
1764 specific ports to skip the second stack alignment check when a task is
1767 actually point to a stack.
1769 up when a task is deleted - again this is required by the TriCore port.
1770 + Various other minor changes to ensure warning free builds on a growing
1771 number of microcontroller and toolchain platforms. This includes a
1787 - the queue structure includes an additional member to hold a queue
1790 - the TCB structure includes an additional member to hold a task number
1797 + Updated the traceQUEUE_CREATE_FAILED() macro to take a parameter that
1804 where vTaskPrioritySet() is called with a null parameter.
1822 EDK, and includes a basic embedded web server that uses lwIP V1.4.0.
1834 a semaphore. In previous versions vQueueDelete() had to be used.
1835 + vTaskCleanUpResources() has been removed. It has been obsolete for a
1838 being generated when the size of a pointer does not match the size of
1851 necessary due to a change in the way EWARM uses the CMSIS libraries.
1856 + The bones of a new generic command interpreter is located in
1857 FreeRTOS/Demo/Common/Utils/CommandInterpreter.c. This is still a work in
1861 + A couple of new standard demos have been included. First, a version of
1865 point units, and revert to using emulated calculations whenever a double
1870 used by a couple of new demos.
1874 + Added a Fujitsu FM3 demo application for both the IAR and Keil tool
1876 + Added a SmartFusion demo application for all of the IAR, Keil and
1897 + Introduced a new software timer implementation.
1898 + Introduced a new common demo application file to exercise the new timer
1914 + Added a demo project for the MSP430X that targets the MSP430X Discovery
1926 + Various cosmetic changes to prepare for a standards compliance statement
1937 + Added a demo for the low power STM32L152 microcontroller using the IAR
1939 + Added a new port for the MSP430X core using the IAR Embedded Workbench.
1946 release, and to use a more recent version of the CMSIS libraries.
1954 + Added a "cpsie i" instruction before the "svc 0" instruction used to start
1966 allows them to effectively start in the Suspended state - a feature that
1970 + Added a STM32F103 demo application that uses the Rowley tools.
1973 + xTaskCreateGeneric() has a parameter that can be used to pass the handle
1977 case where the assignment is made to a global variable that is accessed by
2006 be defined when a memory protection unit (MPU) is being used - and then
2024 stack pointer is where the compiler expects it to be when a task first
2029 + portRESET_PRIVILEGE() assembly macro updated to include a clobber list.
2061 setting up the initial stack of a task - removing the need for
2083 + Added a new port and demo app for the Altera Nios2 soft core.
2085 + Added a USB CDC demo to all LPC1768 demos (Code Red, CrossWorks and IAR).
2093 problems that can arise should configUSE_16_BIT_TICKS be set to 1 on a
2094 32 bit architecture (which would probably be a mistake, anyway).
2127 + Added a new demo application for the Atmel AT91SAM3U Cortex-M3 based
2129 + Added a new demo application for the NXP LPC1766 Cortex-M3 based
2131 + Added a contributed port/demo that allows FreeRTOS to be 'simulated' in a
2136 statistics gathering feature - and include a served WEB page that
2137 presents the information in a tabular format.
2149 alignment. These have been converted to unions to save a few bytes of
2168 + Updated the MCF52233 FEC driver to work around a silicon bug that
2184 + Included FreeRTOS-uIP - a faster uIP. This is not yet complete.
2188 + Added a new port and demo application for the ColdFire V2 core using the
2191 Keil compiler with a new port that uses the new Keil/RVDS combo.
2199 + Replaced the two separate MSP430/Rowley port layers with a single and more
2208 + Bug fix: All Cortex M3 ports have a minor change to the code that sets
2225 + Added the IntQTimer demo/test tasks to a demo project for each CM3 port
2244 + Added a new PowerPC port that demonstrates how the trace macros can be
2245 used to allow the use of a floating point co-processor. The
2249 + BUG FIX: The first PPC405 port contained a bug in that it did not leave
2250 adequate space above the stack for the backchain to be saved when a task
2253 queue API functions to be called from interrupts that have a priority
2259 + Added the queue registry feature. The queue registry is provided as a
2261 purpose unless you are using a kernel aware debugger. The queue registry
2265 + Added a Keil STM32 demo application.
2267 ports to call queue API functions from within a critical section.
2273 + V5.0.1 was a customer specific release.
2295 + Added a Virtex4 PowerPC 405 port and demo application.
2304 a flexible trace facility.
2329 + Fixed co-operative scheduler behaviour upon the occurrence of a tick
2354 + Changed the method used to force a context switch within an ISR for the
2368 include a priority inheritance mechanism.
2378 + Consolidated the LM3Sxxxx EK demos for all development tools into a
2401 and are the subject of a call the vTaskResume() when they are not
2436 + Changes to both task.c and queue.c as a result of testing performed on
2449 + Tasks that block on events with a timeout of portMAX_DELAY are now
2470 stated a maximum block time, and the return value of the function needed
2478 only available as a separate download.
2488 of a task is changed. Previously only the priority of the TCB itself was
2494 + When ending the scheduler - do not try to attempt a context switch when
2502 + Added a port and demo application for the STR9 ARM9 based processors from
2510 + Added a port and demo application for the Cortex-M3 target using the IAR
2517 + The lwIP Rowley demo not includes a 'kernel aware' debug window.
2530 + Allow a task to delete itself by passing in its own handle. Previously
2534 + The tick hook function is now called only within a tick isr. Previously
2542 + In the Borland x86 ports there was a mistake in the portFIRST_CONTEXT
2544 BP value would never get used so this did not cause a problem, but it has
2552 + Added a Luminary Micro port and demo for use with Rowley CrossWorks.
2573 the task.c code to be tidied up a bit.
2589 a co-routine.
2600 some systems when the code is executed using a j-link debugger. The
2602 attempting to configure it again in the startup code was causing a
2603 problem for some user. Now a check is performed first to see if the
2605 + GCC port now contain all assembler code in a single asm block rather than
2608 choose the register to use as a temporary register during the context
2620 + Added a new Microblaze port and demo application.
2632 this end include the addition of a standard makefile and linker script to
2638 + The various LPC2000 ports had a mistake in the timer setup where the
2640 no effect unless a prescale value was actually required. This has been
2647 Workbench V4.30a format.
2668 V3.2.0 introduces two new MSP430 ports and corrects a minor kernel
2675 are called while the scheduler is locked (by a call to
2678 priority that is ready to run. Previously there was a possibility that
2681 one task is blocked on a semaphore or queue, the task with the highest
2683 + Added a couple of more test tasks to the PC demo which cover the points
2691 + Updated the HCS12 port to support banking and introduced a demo
2699 + The demo application file Demo/Common/Minimal/death.c has a slight
2713 + Added a new conditional compilation macro configIDLE_SHOULD_YIELD.
2748 and is now a supported port.
2773 definitions have been removed from 'portmacro.h' and placed inside a
2792 batch files used previously have been deleted. This means a recent
2793 version of WinAVR is required in order to create a binary suitable for
2796 constant as a parameter. Instead the constant is used directly within
2804 + pvPortMalloc() now takes a size_t parameter as per the ANSI malloc().
2806 + When resuming the scheduler a yield is performed if either a tick has
2807 been missed, or a task is moved from the pending ready list into a
2808 ready list. Previously a yield was not performed on this second
2856 a length that is an exact multiple of the FIFO to be transmitted.
2874 + Small change to sTaskCreate() to allow a context switch even when
2893 instead now stored in a variable, which is then saved as part of the
2906 This creates a better test condition.
2912 + The memory pool allocated within heap_1.c has been placed within a
2936 + Added a new test to the ARM7 demo application that tests the operation
2959 + Added TABLAT to the list of registers saved as part of a PIC18 context.
3006 now use a variable of type TickType_t in place of the unsigned long's
3014 + vTaskResumeAll() has been renamed cTaskResumeAll() as it now returns a
3023 + A mechanism has been introduced that allows a queue to be accessed by
3024 a task and ISR simultaneously.
3050 + Creating a task now causes a context switch if the task being created
3051 has a higher priority than the calling task - assuming the kernel is
3053 + vTaskDelete() now only causes a context switch if the calling task is
3063 still works but probably executes a number of NOP's before getting to the
3072 port was also calculating a register value incorrectly resulting in the
3092 V1.2.4 contains a release version of the PIC18 port.
3113 Changes between V1.2.2a and V1.2.3
3118 The zip file also contains a pre-release version of the PIC18 port. This
3132 Changes between V1.2.2 and V1.2.2a
3144 + Introduced a BCC directory under source\portable. This contains all the
3162 that no NULL pointers are passed as a parameter.
3164 The Flashlite 186 serial port driver has also been modified to use a DMA
3176 The tasks that operate at the idle priority now use a lower expected
3177 count than those running at a higher priority. This prevents the low
3181 + The flashlite 186 serial driver now uses a DMA channel for transmissions.
3188 need for a pointer comparison when checking if a list is empty, and so
3208 a display (currently PC and Flashlite 186 demo's). The files in the
3231 ports to allocate a different maximum number of priorities.
3234 + comtest.c now uses a psuedo random delay between sends. This allows for
3245 Improved context switch mechanism used when performing a context
3249 The assembler file portasm.asm has been replaced by a header file
3250 portasm.h. This includes a few assembler macro definitions.
3253 by the compiler. This means the initial stack setup for a task has to
3279 a high communications overhead.