Commit Graph

389 Commits (c1dca1a069172d936a1037a278a787da96153c7f)

Author SHA1 Message Date
Richard Barry 7eb7201b46 Casting only.
Richard Barry b24032d4b0 Efficiency improvement.
Richard Barry a6053582fc Update the sys tick to be more efficient.
Richard Barry a9ed428422 Update prototypes and macros for the new xQueueSendFromISR() function and the task hook feature.
Richard Barry da6d27b627 Introduce the application task hook feature.
Richard Barry b73dafb1f4 Change the semantics of the xQueueGenericSendFromISR() function.
Richard Barry 2bc9dfa3f8 Ensure the first task starts with interrupts enabled.
Richard Barry ed543197e0 Ensure the first task starts with interrupts enabled.
Richard Barry 24cb048892 Ensure the first task starts with interrupts enabled.
Richard Barry ada4744871 Minor changes to the trace macros.
Richard Barry 06e8e93eb5 Added traceTASK_SWITCHED_OUT macro.
Richard Barry a3677612d2 Corrected SysTick interval calculation.
Richard Barry 2ca3985a8c Corrected SysTick interval calculation.
Richard Barry 7ed94acdff Corrected SysTick interval calculation.
Richard Barry cfcad6e78a Corrected prototypes for newly added functions that had the 'signed' qualifier missing.
Richard Barry d1b9463e29 Changes required to build with the latest Xilinx tools.
Richard Barry 3fd422ff2f Return the lock counts to their original intended behaviour.
Richard Barry 9596b04eff Small mods, and update file headers.
Richard Barry 527fb6a907 Update version numbers to V4.8.0
Richard Barry 3b4545cdf6 Add extra const qualifiers and casts for linting purposes.
Richard Barry 8704fd145b
Richard Barry 343a6101c2 Correct function prototype.
Richard Barry 5024d47769
Richard Barry 8502ee5b1c Introduce configKERNEL_INTERRUPT_PRIORITY and make some performance optimisations.
Richard Barry 87575c5cfe Re-write the queue send and queue receive functions to improve their effect on interrupt responsiveness.
Richard Barry ed28aa2046 Add critical section around xTaskCheckForTimeout() as the new queue code makes a call while the scheduler is not locked.
Richard Barry 5ebd39bfc9 Add utilities that can be used to query a queue from within an ISR.
Richard Barry 58905b6fb4 Performance optimisation.
Richard Barry a8d03f24e3 Performance optimisation.
Richard Barry ebfede454f Check in before attempting to remove absolute paths in PPC405 project.
Richard Barry 5cb4e9b5a6 Get preeprocessor working correctly.
Richard Barry 1aecde4efd Renaming .s to .S.
Richard Barry ade2da38ed Clear the interrupt prior to servicing the interrupt - previously it was the other way around.
Richard Barry bf5cd55c55 Comment ready for release.
Richard Barry f73e663411 Rename PPC405 to PPC405_Xilinx.
Richard Barry 643c94a5a8 Rename PPC405 to PPC405_Xilinx.
Richard Barry 39b68e7fc5 PPC405 work in progress.
Richard Barry ebcac1c4b5 PPC405 work in progress.
Richard Barry 8e856177c9 Modified uxTaskGetStackHighWaterMark() to take a parameter for the task to be checked, rather than just checking the stack of the calling task.
Richard Barry 47a7f0165b Modified uxTaskGetStackHighWaterMark() to take a parameter for the task to be checked, rather than just checking the stack of the calling task.
Richard Barry 60bead5003 Remove warnings generated by new features.
Richard Barry 39f6b0b5de Add stack check macros.
Richard Barry 71ef3153ea Add trace macros.
Richard Barry b8b70528f4 Add trace macros.
Richard Barry 2b174e556c Add vTaskEnterCritical() and vTaskExitCritical() functions.
Richard Barry ebf69dab5d More work in progress (PPC).
Richard Barry 9a9cd41098 Basic cooperative reg test tasks working.
Richard Barry 3c2306ed72 Work in progress, for backup purposes only.
Richard Barry fedf9c7ba0 Add initial PPC405 files - this is a work in progress not a completed port.
Richard Barry 8c0260568e Add PPC definition.
Richard Barry 3e94695fb4 Update to V4.7.2.
Richard Barry 95189f40d2
Richard Barry babd7f05f7 Remove obsolete code.
Richard Barry 125a9ef81d Correct cut and paste asm code.
Richard Barry 79dd981500 Remove casts that were generating warnings (even though the casts were added to remove warnings with some compilers).
Richard Barry 61efe2504c Revert critical section handling back to the original method.
Richard Barry 991624461f Revert to original critical section handling method.
Richard Barry f44fc2c665 Change to use the configKERNEL_INTERRUPT_PRIORITY setting.
Richard Barry 5a418b56fa Tidy up - spell check.
Richard Barry 961e402e12 Add Fujitsu FX definition to portable.h.
Richard Barry 97bee57daa Work in progress still.
Richard Barry 0faf33fbca Work in progress.
Richard Barry bdea62587e Work in progress.
Richard Barry 35afa63a47 Add Fujitsu 16bit port files.
Richard Barry 7e5450acd1 Change the critical section handling (Fujitsu 32bit port).
Richard Barry 7e6a2b0bd5 Update Fujitsu port files - work in progress.
Richard Barry eed758709c Add MB91460 port and demo files.
Richard Barry e6e5add7d8 Remove obsolete comment.
Richard Barry 05920be92a Correct sample code for recursive mutexes.
Richard Barry c86dcf7826 Update to V4.7.1
Richard Barry 354a57ed5e Update counting semaphore function prototype.
Richard Barry 3ddf9a4210 Correct spelling.
Richard Barry 79b506472d Documentation updates.
Richard Barry dfb8e7003b Prepare for V4.7.1 release.
Richard Barry 3c02bc385b Remove .bak files.
Richard Barry 2ac722926e Correct some documentation.
Richard Barry fb799b7647 Update documentation.
Richard Barry 6e27b6ec86 Update documentation to correct spelling.
Richard Barry 44911a1c48 Update to V4.7.0.
Richard Barry 8603259d40 Add first version of alternative API.
Richard Barry b6d2b739f3 Ensure warning free compilation under GCC.
Richard Barry 2931f43895 Missing PIC32 files.
Richard Barry d69d2df8d6 Counting semaphore demo added.
Richard Barry 48b4870c7e Add STM32 Primer demo. Remove the .lock file from the Eclipse demos.
Richard Barry 620d3999ef Update to V4.6.1 - including PIC32MX port.
Richard Barry 0a9c978f18 Changes between V4.5.0 and V4.6.0 released October 28 2007
+ Changed the method used to force a context switch within an ISR for the
	  ARM7/9 GCC ports only.  The portENTER_SWITCHING_ISR() and 
	  portEXIT_SWITCHING_ISR() macros are no longer supported.  This is to 
	  ensure correct behaviour no matter which GCC version is used, with or
	  without the -fomit-frame-pointer option, and at all optimisation levels.
	+ Corrected the prototype for xQueueGenericSend() within queue.h.
Richard Barry ada7fa862d Changed the way the ARM7/9 GCC ports enter interrupts that can cause a context switch.
Richard Barry a3921adfe1 + The macro portENTER_SWITCHING_ISR() no longer attempts to use the frame pointer. Variables declared within ISRs must now be declared static.
Richard Barry 98a9959a44 Update to V4.5.0 files and directory structure.
Richard Barry c77358491a Update the queue peek behaviour and add QPeek test files.
Richard Barry 5f16b0abca Fixed name of xQueueSendToFrontFromISR.
Richard Barry 86f4e8b4a0 Changed a couple of casts to remove compiler warnings.
Richard Barry 60338bd872 Added xQueueSendToBack, xQueueSendToFront, xQueuePeek and xSemaphoreCreateMutex - along with GenQTest.c to demonstrate their usage.
Richard Barry 15268bfbeb Update to V4.4.0.
Richard Barry a06a2e492f Results of testing new prvIsTaskSuspended() function.
Richard Barry de1094e980 Removed const from xTaskResumeFromISR() and xTaskResume() local variables as it upsets the call to the list function.
Richard Barry 7a8eb507a7 Modifications to correct behaviour when a task is blocked without specifying a wake time, and also introduce the xTaskGetSchedulerState() function.
Richard Barry 94c94d3c0e Updated AVR32 demos and added AVR32 UC3B demo.
Richard Barry 45e7e5ac55 Add in first STM32 demo.
Richard Barry 68a1ab1d04 Update in preparation for the V4.3.1 release.
Richard Barry 623aa3675f Update to V4.3.0 as described in http://www.FreeRTOS.org/History.txt
Richard Barry 5a3272cdca Accomodates wizC V14.00B and up with full optimisations.
Thanks Marcel.
Richard Barry b36ba44e0d Add LPC2368 demo.
Richard Barry 0a6d59a611 V4.2.1 files.
Richard Barry 6118595a07 Add AVR32 port and demo files.
Richard Barry 504382bcb8 Add AVR32 port and demo files.
Richard Barry 17228aca47 Add an option for 8 byte alignment.
Richard Barry 712bfdf9d2 Update version number to V4.2.0.
Richard Barry f20d072c4a Slight mod to take into account different definitions between SafeRTOS and FreeRTOS.org.
Richard Barry 684b802b27 Modification to the behaviour of xQueueSend() and xQueueReceive() in the case that a blocked task times out (bug fix).
Richard Barry edc1e01eab Bug fix in xTaskCheckForTimeOut() in the case where the tick count has incremented by exactly portMAX_DELAY ticks between two calls (i.e. extremely unlikely).
Richard Barry 3e92d8aca0 Updated version numbers to V4.1.3.
Richard Barry 09969dc53e Slight mods to comments in STR75X GCC port and demo files.
Richard Barry 6ac900dc95 First version of STR75x RIDE port and demo.
Richard Barry b2a52ede55 Changes from V4.1.2:
+ BUG FIX:  Removed the call to prvIsQueueEmpty from within xQueueCRReceive
	  as it exited with interrupts enabled.  Thanks Paul Katz.
Richard Barry 6083a3a3ad Ensure previous modification does not prevent compilation when INCLUDE_vTaskSuspend is set to false.
Richard Barry 96d4684fa7 Changes from V4.1.2
+ Tasks that block with a timeout of portMAX_DELAY are now blocked 
	  indefinitely.  Previously portMAX_DELAY was just the longest block time
	  possible.
Richard Barry 6456c000bd
Richard Barry 3021b1acc8 Change version numbers to V4.1.2
Richard Barry 3878b82c9b Add PIC24, dsPIC and Coldfire files.
Richard Barry 5561c55286 Update version number to V4.1.1.
Richard Barry 7508aa6219 Added the PRESERVE8 directive to all asm functions.
Richard Barry 155d8d1828 Update to V4.1.0.
Richard Barry 7c183b2f1c Add in the critical nesting save and restore.
Richard Barry 97a570fa10 Changes to the AVR demo's. IAR demo updated with new critical section method.
Richard Barry b18929ef7d Changes ready for V4.1.0.
Richard Barry b7199e5967 Removed spurious second portDISABLE_INTERRUPTS when compiling for ARM mode.
Richard Barry 6cc711d33e Only include xTaskResumeFromISR under the condition:
#if ( ( INCLUDE_xTaskResumeFromISR == 1 ) && ( INCLUDE_vTaskSuspend == 1 ) )
Richard Barry ab964f3c9d Updated to V4.0.5
+ Introduced API function xTaskResumeFromISR().  Same functionality as
	  xTaskResume(), but can be called from within an interrupt service routine.
	+ Optimised vListInsert() in the case when the wake time is the maximum 
	  tick count value.
	+ Bug fix:  The 'value' of the event list item is updated when the priority
	  of a task is changed.  Previously only the priority of the TCB itself was
	  changed.
	+ vTaskPrioritySet() and vTaskResume() no longer use the event list item.
	  This has not been necessary since V4.0.1 when the xMissedYield handling
	  was added.
	+ Lowered the PCLK setting on the ARM9 STR9 demo from 96MHz to 48MHz.
	+ When ending the scheduler - do not try to attempt a context switch when
	  deleting the current task.
	+ SAM7X EMAC drivers:  Corrected the Rx frame length mask when obtaining 
	  the length from the rx descriptor.
Richard Barry 58a357e6e6 Implement xTaskResumeFromISR.
Richard Barry 17617c5451 Change to xTaskResumeFromISR() function only. This function is untested.
Richard Barry d481cff89b Bug fix: The 'value' of the event list item is updated when the priority of a task is changed. Previously only the priority of the TCB itself was changed.
When resuming a task a check is first made to see if the task is actually suspended.

vTaskPrioritySet() and vTaskResume() no longer use the event list item.  This has not been necessary since V4.0.1 when the xMissedYield handling was added.
Richard Barry bc141db940 Optimised vListInsert() in the case when the wake time is the maximum tick count value.
Richard Barry 3dcbed5763 Update to V4.0.4. Add in STR912 port and demo.
Richard Barry 05023971cb
Richard Barry 946da76519
Richard Barry 210d5beaae New port files for Tern E-Engine.
Richard Barry 4202a62517 New port files for HCS12 using GCC.
Richard Barry b6df57c7e3 First version under SVN is V4.0.1