Richard Barry
94607d83f9
Add workaround to XMC4000 silicon bug to Tasking Cortex-M4F port layer.
11 years ago
Richard Barry
0c56f5018d
Add some defensive programming in the default tickless mode in case the application supplied post tick hook takes a long time to complete.
11 years ago
Richard Barry
aedf7824cb
Introduce the prvTaskExitError() function for all ARM_CMn ports.
...
Introduce the configTASK_RETURN_ADDRESS macro for the GCC ARM_CMn ports.
Improve time slippage penalty when entering tickless mode is abandoned.
11 years ago
Richard Barry
eaacbb099a
Clear up a few compiler warnings.
...
Correct header comments in the UARTCommandConsole.c file used in the SmartFusion2 demo.
Exercise the new xQueueSpacesAvailable() function in the MSVC demo.
Add defaults for the new traceMALLOC and traceFREE trace macros.
Catch tasks trying to exit their functions in the Cortex-M0 ports.
Add additional comments to timers.c in response to a support forum question.
Initialise _impure_ptr prior to the first task being started.
Prior to V7.5.0 a yield pended in the tick hook would have occurred during the same tick interrupt. Return pdTRUE from xTaskIncrementTick() if a yield is pending to revert to that behaviour.
11 years ago
Richard Barry
7ec4773131
Add traceMALLOC() and traceFREE() macros.
11 years ago
Richard Barry
1902d2b64a
Add the uxQueueSpacesAvailable() API function.
...
Move a configASSERT() call in timers.c to prevent a "condition is always true" compiler warning.
12 years ago
Richard Barry
73606369c4
Make Cortex-M0 set/clear interrupt flag from ISR functions nestable.
...
Don't reset the stack location when starting the scheduler in Cortex-M0 ports as the vector offset register is not implemented and XMC1000 devices have their application vector address somewhere other than 0x00.
12 years ago
Richard Barry
574f5044a6
Starting point for Keil Cortex-M0 port.
12 years ago
Richard Barry
c40370e96a
Fix a few typos and remove the "register" keyword.
12 years ago
Richard Barry
63e8044d33
Allow compilation when portALT_GET_RUN_TIME_COUNTER_VALUE() is defined.
12 years ago
Richard Barry
2f754d9b0c
Add additional critical section to the default tickless implementations.
...
Update version number for maintenance release.
12 years ago
Richard Barry
3cbe0a724d
Update version number.
12 years ago
Richard Barry
8ceb665994
Void a few unused return values and make casting more C++ friendly.
12 years ago
Richard Barry
bb2093cf5d
Update the header file included in the PIC32 port_asm.S file to use the header for the latest compiler version.
12 years ago
Richard Barry
679a3c670c
Update the Cortex-M vPortValidateInterruptPriority() implementation to ensure compatibility with the STM32 standard peripheral library.
12 years ago
Richard Barry
9054485f1a
Tidy up pre-processor as final act before tagging as V7.5.0
12 years ago
Richard Barry
08057fa77f
Changes to comments only.
12 years ago
Richard Barry
203ae64600
Rename xTaskGetSystemState() uxTaskGetSystemState().
12 years ago
Richard Barry
92fae7d262
For consistency change the name of configINCLUDE_STATS_FORMATTING_FUNCTIONS to configUSE_STATS_FORMATTING_FUNCTIONS.
12 years ago
Richard Barry
7d6758ee1a
Minor updates and change version number for V7.5.0 release.
12 years ago
Richard Barry
7d1292ced2
Linting and MISRA checking
12 years ago
Richard Barry
e83b93f5fc
Tidy up comments only.
12 years ago
Richard Barry
ce9c3b7413
Variable name change in the PIC32 port layer only.
12 years ago
Richard Barry
1e17924fa8
Update doxygen comments.
12 years ago
Richard Barry
da0fff63c9
Update Cortex-M MPU version to include new API functions.
12 years ago
Richard Barry
e5d9640863
Update RX ports to only include additional check on the existing IPL (so it is not lowered) if configASSERT() is defined.
12 years ago
Richard Barry
4b964814de
Implement portASSERT_IF_INTERRUPT_PRIORITY_INVALID() for PIC32.
12 years ago
Richard Barry
ad8fa53043
Kernel optimisations.
12 years ago
Richard Barry
c9d9bddc3c
Add comments to the portASSERT_IF_INTERRUPT_PRIORITY_INVALID() calls in the core queue.c and tasks.c files.
12 years ago
Richard Barry
5d902f2b9c
Complete additions of portASSERT_IF_INTERRUPT_PRIORITY_INVALID() for all RX compiler ports.
12 years ago
Richard Barry
65704174c9
Add portASSERT_IF_INTERRUPT_PRIORITY_INVALID() implementation to the RX ports that use the Renesas compiler.
...
Add portASSERT_IF_INTERRUPT_PRIORITY_INVALID() implementation to the Cortex-A9 ports.
12 years ago
Richard Barry
0f6b0d3a59
Enhance heap_4.c to prevent blocks accidentally being freed twice, or blocks that don't have a valid block link descriptor being freed.
...
Update the Cortex-A9 port to include asserts if an ISR safe FreeRTOS function is called from an interrupt that has a higher logical priority than configMAX_SYSCALL_INTERRUPT_PRIORITY (or whatever the CA9 equivalent is called), and also assert if the binary point is not set correctly.
12 years ago
Richard Barry
c4eef61d39
Added portASSERT_IF_INTERRUPT_PRIORITY_INVALID() implementation to Cortex-M3 and Cortex-M4F ports.
12 years ago
Richard Barry
b521d70e7e
Remove compiler warnings.
12 years ago
Richard Barry
c1b4fc58d2
Add new xTaskGetSystemState() API function to return raw data on each task in the system.
...
Relegate the vTaskList() and vTaskGetRunTimeStats() functions to "sample" functions demonstrating how to use xTaskGetSystemState() to generate human readable status information.
Introduce and default configINCLUDE_STATS_FORMATTING_FUNCTIONS which must now be defined to use vTaskList() and vTaskGetRunTimeStats().
12 years ago
Richard Barry
877ce218a4
Add additional comment only.
12 years ago
Richard Barry
0c0b54c175
Refine the default tickless idle implementation in the Cortex-M3 port layers.
12 years ago
Richard Barry
b8a219b30c
Update QueueOverwrite.c to include a call to xQueuePeekFromISR().
...
Default new QueuePeekFromISR() trace macros.
12 years ago
Richard Barry
3b02b4c8f8
Add xQueueOverwriteFromISR() and update the QueueOverwrite.c to demonstrate its use.
12 years ago
Richard Barry
671949ad78
Add xQueueOverwrite() and a common demo task to demonstrate its use.
...
Update MSVC Win32 demo to include the xQueueOverwrite() common demo tasks.
12 years ago
Richard Barry
59f75a12f6
Add Newlib reent support.
12 years ago
Richard Barry
4444b4ee68
Improve efficiency and behaviour of vListInsertEnd().
12 years ago
Richard Barry
f11635ed91
Remove reliance on strncpy() function.
12 years ago
Richard Barry
a7c47131fa
Remove portALIGNMENT_ASSERT_pxCurrentTCB() macro, which serves no purpose.
12 years ago
Richard Barry
6cbbfd2eb5
Slight correction to coding standard in heap_2.c and heap_4.c.
12 years ago
Richard Barry
fb47260e80
Improve efficiency of memory allocation when the memory block is already aligned correctly.
12 years ago
Richard Barry
87049ac37c
Re-implement the LPC18xx and SmartFusion2 run time stats implementation to use the free running Cortex-M cycle counter in place of the systick.
...
Correct the run-time stats counter implementation in the RZ demo.
Guard against run time counters going backwards in tasks.c.
12 years ago
Richard Barry
cdae14a8cb
Replace the #define that maps the uxRecursiveCallCount to the pcReadFrom pointer with a union - although this is against the coding standard it seemed the best way of ensuring complete adherence to the C standard and allow correct builds with LLVM when the optimiser is on.
12 years ago
Richard Barry
e6903dac61
Add extra debug comment into list.c.
12 years ago
Richard Barry
3a507bdc0c
Add missing function prototype.
12 years ago
Richard Barry
c3f9e3c5ff
Update RVDS port layer to match IAR port layer.
12 years ago
Richard Barry
5013baa2cd
RVDS ARM Cortex-A port layer.
12 years ago
Richard Barry
04dafed839
IAR ARM Cortex-A port layer.
12 years ago
Richard Barry
2fd431e971
Modify the GCC/AVR port to make use of the xTaskIncrementTick return value.
...
Add pre-processor directives in the dsPIC and PIC24 port layers that allows both port files to be included in the same project.
12 years ago
Richard Barry
62c0ae0926
Update port layers to make better use of the xTaskIncrementTick() return value.
12 years ago
Richard Barry
c75c01ffdf
Check in implementation of xTaskIncrementTick (replaced vTaskIncrementTick()).
12 years ago
Richard Barry
59a834eb86
Update ports that have their tick configuration in an application callback to use xTaskIncrementTick() in place of vTaskIncrementTick().
12 years ago
Richard Barry
c04b074707
Convert the remaining ports to use xTaskIncrementTick() in place of vTaskIncremenTick().
12 years ago
Richard Barry
2fc9d033c6
Update the PIC32 port to use xTaskIncrementTick() and change the macro used to detect if XC is being used.
12 years ago
Richard Barry
51d9ee0c1c
Add configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS mechanism to the relevant port.c file to allow the user to define functions that will execute in privileged mode.
12 years ago
Richard Barry
29ca4f1b36
Ensure queue functions go into the privileged code section when the MPU version is in use.
...
Provide a default value for configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS.
Revert prvQueueUnregisterQueue() back to a public function.
12 years ago
Richard Barry
f904d26957
Convert more ports to use xTaskIncrementTick() in place of vTaskIncrementTick().
12 years ago
Richard Barry
15ec6c87f7
Convert mpre ports to use xTaskIncrementTick() in place of vTaskIncrementTick().
12 years ago
Richard Barry
686d190798
Convert some ports to use xTaskIncrementTick() in place of vTaskIncrementTick().
...
Move DSB instructions to before WFI instructions in line with ARM recommendations.
12 years ago
Richard Barry
4e9374ad90
Add default value for configUSE_TIME_SLICING
12 years ago
Richard Barry
06953169ba
Update RM48/TMS570 port to use xTaskIncrementTick in place of vTaskIncrementTick.
12 years ago
Richard Barry
2c562bd3d7
Ensure a queue or semaphore that is not empty cannot be added to a queue set.
12 years ago
Richard Barry
bb7b711ca9
Update the code that generates the run time stats strings so the pcStatsString[] array is not required.
12 years ago
Richard Barry
a03b171992
Fix compiler warning in psp_test.c when compiled with ARM compiler.
...
Add portYIELD_FROM_ISR() macros to Cortex-M ports. The new macro just calls the exiting portEND_SWITCHING_ISR() macro.
Remove code from the MSVC port layer that was left over from a previous implementation and become obsolete.
12 years ago
Richard Barry
fb9662009a
Update comments in Atmel Studio CreateProjectDirectoryStructure.bat files to remove references to replace references to Eclipse with references to Atmel Studio.
...
Update the tickless idle implementations that use up counters for tick interrupt generate to ensure they remain in low power mode for the desired time instead of one tick less than the desired time.
12 years ago
Richard Barry
e08966c7e8
Update flop.c and FreeRTOS.h to include a macro (and a default null implementation of the macro) that enables the flop tasks to register their need for a floating point context with the kernel.
12 years ago
Richard Barry
96ceae8edd
Update version number ready to release the FAT file system demo.
12 years ago
Richard Barry
a4a830c44d
Add FAT SL code and demo project.
12 years ago
Richard Barry
bbe48d31a4
Clarify license blurb at the top of the FreeRTOS+UDP and FreeRTOS+CLI source files.
12 years ago
Richard Barry
f9918345e1
Update version numbers to V7.4.1.
12 years ago
Richard Barry
2b41be4cb9
Update yield code in RX200/Renesas compiler port.
12 years ago
Richard Barry
0013028c7a
Update yield code in RX600/IAR compiler port.
12 years ago
Richard Barry
4f5f527c73
Update yield code in RX600/Renesas compiler port.
12 years ago
Richard Barry
b7487b8dc2
Update yield code in RX600/GCC port.
12 years ago
Richard Barry
a69933782d
Add RX100 Renesas compiler port layer.
12 years ago
Richard Barry
74290b4425
Add RX100 IAR port layer.
12 years ago
Richard Barry
a0056e8fd3
Add RX100 GCC port layer.
12 years ago
Richard Barry
9a15f50b00
Add memory barrier instructions to Tasking CM4F port.
12 years ago
Richard Barry
7132e88685
Add memory barrier instructions to the RVDS CM3 ports.
12 years ago
Richard Barry
895ee2bb3e
Add barrier instructions to IAR CM3 ports.
12 years ago
Richard Barry
d135e45676
Replace the read back of the software interrupt register with barrier instructions (CCS/RM48/TMS570).
12 years ago
Richard Barry
0527099b51
Add barrier instructions to the GCC CM3 ports.
12 years ago
Richard Barry
af023e8bf1
Remove infinite loop from task delete function.
12 years ago
Richard Barry
6d20e2b5cd
Add barrier instructions to GCC CM3/4 code.
12 years ago
Richard Barry
3762630f27
RL78/IAR port - Allow the end user to define their own tick interrupt configuration by defining configSETUP_TIMER_INTERRUPT().
12 years ago
Richard Barry
a9b8f0ca69
Minor mods common files to fix warnings generated by Renesas compiler.
...
Correct the header comments in het.c and het.h (RM48/TMS570 demo) which were corrupt.
Correct version numbers in RX63N Renesas compiler demo.
Ensure stacks set up for tasks in the RX200 port layer end on 8 byte boundaries (was 4, which didn't matter but didn't match the definition).
Replaced unqualified (unsigned) in calls to standard functions with (size_t).
12 years ago
Richard Barry
caf1fbc899
Ensure IAR RL port layer works on devices using two different naming conventions for the interval timer registers.
12 years ago
Richard Barry
8c66fdbb8c
Updated IAR RL78 port layer.
12 years ago
Richard Barry
17bba16fa6
Added YRDKRL78G14 build configuration to the IAR RL78 demo.
12 years ago
Richard Barry
a5d0e3f0c1
Prepare for V7.4.0 release.
12 years ago
Richard Barry
902f9e1a58
Update PIC32 demo application to remove reliance on PLIB functions.
...
Update the default low power implementation in all the Cortex-M port layers to add a small critical section.
12 years ago
Richard Barry
c519ba094d
Correct spelling of xSuspendedTaskList in eTaskConfirmSleepModeStatus().
12 years ago
Richard Barry
dcc90bb6d9
Add default definition for configUSE_QUEUE_SETS.
...
Add eTaskConfirmSleepModeStatus() (not yet tested).
Only call prvQueueUnregisterQueue() when a queue or semaphore is deleted if configQUEUE_REGISTRY_SIZE > 0.
Back out change that checks the configUSE_PORT_OPTMISED_TASK_SELECTION value before uxPriorityUsedOnEntry is set in vTaskPrioritySet as it generated more warnings (with other compilers) than it fixed.
12 years ago
Richard Barry
a7eae6bed3
Added more files to the Rowley and IAR LM3S demos to test building the newer files and queue sets.
...
Made queue function prototypes consistent so xQueueHandle parameters are always xQueue, and xQUEUE * parameters pxQueue.
Likewise make the task API using px for pointers to TCBs, and just x for task handles.
Heap_x functions now automatically align the start of the heap without using the portDOUBLE union member.
Queue.c now includes queue.h.
12 years ago
Richard Barry
b671bf368a
Improve QueueSet.c test coverage by reading the queue set from an ISR to force paths through the queue locking and unlocking.
...
Add the FreeRTOS+Trace recorder into the Win32 MSVC demo.
Added more functions, including the queue set functions, to the MPU port.
12 years ago