Commit Graph

706 Commits (ab49c6ae048414a45413f454306f789b8105cbaf)

Author SHA1 Message Date
Richard Barry 34a7b0431b Complete large memory model MSP430FR5969 demo - including CLI and run-time stats. 10 years ago
Richard Barry 91b249d24b Start of an MSP430FR5969 IAR project - currently running Blinky only. 10 years ago
Richard Barry d39c0d5926 Update TimerDemo.c to test the new vTimerSetTimerID() function.
Update WinPCap NetworkInterface.c for FreeRTOS+UDP to correctly store a pointer to the network buffer structure at the beginning of the network buffer.
10 years ago
Richard Barry 03213b9e4a Add the errno definitions used by FreeRTOS+TCP and FreeRTOS+FAT into FreeRTOS's projdefs.h.
Remove redundant global definition vPortInstallFreeRTOSVectorTable from the GCC ARM_CA9 portASM.S file.
Ensure correct sequence of start up sequence when the Windows port is used on multi-core Windows machines by starting one thread in the suspended state.
Move initialisation of xNextTaskUnblockTime to the function that starts the scheduler, rather than from where the variable is declared - this fixes a compiler warning in newer IAR compilers.
Fix "elif (SELECTED_PORT == PORT_MICROCHIP_PIC32MX || PORT_MICROCHIP_PIC32MZ)" in the FreeRTOS+Trace trcHardwarePort.h header file.
10 years ago
Richard Barry 8dadb6b87c Final V8.2.1 release ready for tagging:
+ Added MSP432 (ARM Cortex-M4F MSP430!) demos for IAR, Keil and CCS.
+ Renamed directory containing demo for STM32F7 ARM Cortex-M7.
+ Renamed directory containing demo for SAMV71 ARM Cortex-M7.
+ Introduced xTaskNotifyAndQuery().
10 years ago
Richard Barry 693d0520bc Update version number ready for V8.2.1 release. 10 years ago
Richard Barry 63b3c773d5 Kernel changes:
Exclude the entire croutine.c file when configUSE_CO_ROUTINES is 0.

New ports:
Added Cortex-M7 IAR and Keil port layers that include a minor errata workaround r0p1 Cortex-M7 devices.
Added Cortex-M4F port layer for CCS.

New demo applications:
Added demo application for STM32F7.
Added demo application for SAMv71.
10 years ago
Richard Barry 2bf93bf925 Minor updates relating to formatting and comments only. 10 years ago
Richard Barry a61db8f155 Minor updates to the Microblaze KC702 demo to allow easier connection from a Telnet server. 10 years ago
Richard Barry 18ff880e75 Add networking option to the Microblaze Kintex demo. 10 years ago
Richard Barry 3012d9b94d Work-in-progress check in of MicroBlaze Kintex7 demo. 10 years ago
Richard Barry 96e72413f7 Kernel code:
+ Added mtCOVERAGE_TEST_DELAY() macro to facilitate getting better code coverage during testing.
+ Update prvNotifyQueueSetContainer() so it does not call xTaskRemoveFromEventList() if it is called from an interrupt, and the queue is locked.

Demo apps:
Added QueueSetPolling.c/h demo/test functions.
10 years ago
Richard Barry 7d169cef52 Correct typeo that broke the Win32 port. 10 years ago
Richard Barry 86b09bfeb9 Kernel updates:
+ Added vTimerSetTimerID() to compliment vTimerGetTimerID().  Now the timer ID can be used as timer local storage.
+ Updated comments and added some additional assert() calls.

Win32 port:
+ Some changes to allow easier 64-bit builds

PIC24/dsPIC port:
+ Added NOP after disable interrupt instruction.
10 years ago
Richard Barry dfdc319518 Kernel updates:
- Add user configurable thread local storage array, with get/set access function.
10 years ago
Richard Barry 51aa373c4c Add run-time stats to the Kintex7 Microblaze demo. 10 years ago
Richard Barry acfbb7dd14 Add the beginnings of a Microblaze project for the KC705. 10 years ago
Richard Barry 501a531d46 Update version number in preparation for official V8.2.0 release. 10 years ago
Richard Barry c37b2ca39b Demo app changes:
Add a "query heap" command to the standard sample CLI commands.
Remove casting from configMAX_PRIORITIES setting in Win32 simulator demos as it was preventing a clean build. 

Source code changes.
General tidy up and addition of assert points.
10 years ago
Richard Barry 271393b7d9 Release candidate - this will be tagged as FreeRTOS V8.2.0rc1 and a zip file provided.
Minor lint changes.
10 years ago
Richard Barry 5dd77c7aeb Rename SAM4E demo directory to include the 'F' in 'M4F' - minor point for the sake of consistency. 10 years ago
Richard Barry 6741592026 Update version numbers in preparation for V8.2.0 release candidate 1. 10 years ago
Richard Barry fd02010886 Kernel changes:
+ Made xTaskNotifyGiveFromISR() its own function, rather than a macro that calls xTaskNotifyFromISR() (minor performance improvement).
+ GCC and Keil Cortex-M4F ports now use vPortRaiseBASEPRI() in place of ulPortRaiseBASEPRI() where the return value is not required (minor performance improvement).

Demo changes:
Change the [very basic] FreeRTOS+UDP SAM4E driver to use task notifications rather than a semaphore (execution time now 55% what it was in FreeRTOS V8.1.2!).
Robustness improvements to IntQueue.c standard demo task.h.
Added the latest standard demo tasks, reg test tasks and int q  tasks to the SAM4E demo.
10 years ago
Richard Barry 2de32c0141 Kernel changes:
+ Do not attempt to free the stack of a deleted task if the stack was statically allocated.
+ Introduce configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES - which optionally writes known values into the list and list item data structures in order to assist with the detection of memory corruptions.

Microblase port:  
+Change occurrences of #if XPAR_MICROBLAZE_0_USE_FPU == 1 to 	#if XPAR_MICROBLAZE_0_USE_FPU != 0 as the value can also be 2 or 3.

Demo app modifications:
+ Update Zynq project to use the 2014.4 tools and add in tests for the new task notification feature.
+ Update SAM4S project to include tests for the new task notification feature.
10 years ago
Richard Barry f407b70dcc + Update demos that use FreeRTOS+Trace to work with the latest trace recorder library.
+ Fix a few compiler warnings.
+ Add TickType_t specific critical sections so critical sections are not used when accessing the tick count in cases where the access is atomic (32-bit tick count, 32-bit architecture).
10 years ago
Richard Barry 85fb1cc024 + New feature added: Task notifications.
+ Optimise Cortex-M4F ports by inlining some critical section macros.
+ Original ports used a #define to set the path to portmacro.h - that method has been obsolete for years and now all the old definitions have been moved into a separate header files called deprecated_definitions.h.
+ Cortex-M port now check the active vector bits against 0xff when determining if a function is called from an interrupt - previously only a subset of the bits (0x1f) were checked.
+ Add in new standard demo/test files TaskNotify.c/h and include the files in the simulator demos.
+ Update trace recorder code, and some demos to use the new version (more to do).
+ Introduce uxTaskPriorityGetFromISR().
+ Minor typo corrections.
+ Update MingW simulator demo to match the MSVC simulator demo.
10 years ago
Richard Barry ca22607d14 Core kernel code:
Allow the stats formatting functions to be built in without stdio.h being included inside tasks.c.

Kernel port code:
- Slight change to the Cortex-A GIC-less port to move all non portable code to the application level.

SAMA5D4 demo project:
- Update the Atmel provided library to V1.1.
- Create a DDR build configuration.
- Ensure interrupts are all edge sensitive.
- Update the regtest code to use all 32 flop registers.
10 years ago
Richard Barry e3263bb9b3 Demo projects only:
+ Remove some #warnings messages from the Cycle 5 - which were left in the code as reminders of tests that were not yet completed but are now.
10 years ago
Richard Barry 9e66637bec Core kernel files:
+ Change how queues are allocated and deleted so only one pvPortMalloc() or vPortFree() is required in place of the previous 2.
+ Where the TCB is allocated in relation to the stack is now dependent on the stack growth direction.  The stack will not grow into the TCB.
+ Introduce the configAPPLICATION_ALLOCATED_HEAP constant to allow the application to provide the array used by heap_4.c as its heap.  This allows the application writer to use qualifiers on the array to, for example, force the memory into faster RAM.

Demo application:
+ Add demo for SAMA5D4 using IAR.
10 years ago
Richard Barry ee541a347d MSP430 Demo projects only:
Update project format to new IAR version.
10 years ago
Richard Barry e0d9a274e2 Demo project only:
Added comprehensive demo including FreeRTOS+CLI to the Cyclone V SoC project.
10 years ago
Richard Barry d269f2027a Demo project only: Cyclone V SoC now running from external RAM. 10 years ago
Richard Barry e2f2cfa816 Added project for Altera Cyclone V SoC, currently running from internal RAM. 10 years ago
Richard Barry 3b0854bf96 Core kernel code:
+ Introduce xSemaphoreGenericGiveFromISR() as an optimisation when giving semaphores and mutexes from an interrupt.

Demo applications:
+ Update IntSemTest.c to provide more code coverage in xSemaphoreGenericGiveFromISR().
+ Ensure the MMU is turned on in the RZ IAR demo.  It was already on in the RZ ARM demo.
11 years ago
Richard Barry b3c040fc27 SAM4L tickless implementation: Bug fix and update the demo project to exercise the fix. 11 years ago
Richard Barry 4f03f7d1bb Demo project only:
Add the new IntSem test/demo code into the MSVC demo project.
11 years ago
Richard Barry b6e4854f26 Demo tasks only, with the aim of improving test coverage:
+ Split out the code that uses a mutex from an interrupt from GenQTest.c and add to new common demo task IntSemTest.c.
11 years ago
Richard Barry d55e7e77a2 Update version number to 8.1.2 after moving the defaulting of configUSE_PORT_OPTIMISED_TASK_SELECTION into individual port layers so it does not affect ports that do not support the definition. 11 years ago
Richard Barry 33cc3a292b Demo code only:
Add the IntQ standard test to the SAM4S project.
11 years ago
Richard Barry 99229b597b Correct potential compiler warning when configUSE_MUTEXES is set to 0.
Add comments.
11 years ago
Richard Barry a60ce58731 Update version number to 8.1.1 for patch release that re-enables mutexes to be given from an interrupt. 11 years ago
Richard Barry ff5d3512b3 Core kernel code:
- Re-introduce the ability to give a mutex from an ISR.

Common demo code:
- Add additional tests into the GenQTest files for priority inheritance and using a mutex from an ISR.
11 years ago
Richard Barry 6507701fdf Lower the minimum stack size used by the ATSAMA5 demo. 11 years ago
Richard Barry 7d49c2190c Minor edits prior to tagging V8.1.0. 11 years ago
Richard Barry d33a14b5fb ***IMMINENT RELEASE NOTICE***
Update version numbers ready for FreeRTOS V8.1.0 release in about 10 days.
11 years ago
Richard Barry 52e687086c Demo application related:
+ Update the RZ IAR project so it targets the RZ RSK rather than custom hardware.
+ Update the RZ ARM/DS-5 project so it targets the RZ RSK rather than custom hardware.
+ Updated RX64M demos to use the new iodefine.h naming.

Cortex-A9 port related:
+ Update IAR, ARM and GCC Cortex-A9 port layers to include a 'task exit error' function which is called if a task attempts to incorrectly exit its implementing function.
+ Moved the instruction which switches into system mode out of the restore context macro, as it is only needed when starting the first task.

Core kernel files related:
+ Ensure there are no references to the mutexes held count when mutexes are excluded from the build.
11 years ago
Richard Barry 162448f06b General maintenance - changing comments and correcting spellings only. 11 years ago
Richard Barry 60538c7480 Common demo tasks:
- Add additional tests to GenQTest.c to test the updated priority inheritance mechanism.
- Slightly increase some delays in recmutex.c to prevent it reporting false errors in high load test cases.

SAMA5D3 Xplained IAR demo:
- Remove space being allocated for stacks that are not used.
- Remove explicit enabling of interrupts in ISR handers as this is now done from the central ISR callback before the individual handers are invoked.
- Reduce both the allocated heap size and the stack allocated to each task.
- Enable I cache.
11 years ago
Richard Barry 47f895cb34 Cortex-A5 IAR port:
- Removed SAMA5 specifics from the port layer, and instead call a generic ISR callback as per Cortex-A9 ports.
11 years ago
Richard Barry b2e739495a Cortex-A5 IAR port baseline prior to removing all SAMA5 specifics to make it generic.:
- Slight improvement to the save context macro.
- Remove some #warning remarks.
- Enable interrupts before calling the ISR handler rather than in the ISR handler.
11 years ago
Richard Barry 3a3d061cc5 Continue working on the GIC-less Cortex-A5 port for IAR:
- Add in the assert when a task attempts to exit its implementing function without deleting itself.
- Remove obsolete code from the context switch asm code (obsoleted by the fact that there is no mask register).
- Attempt to make code more generic by using definitions for additional register addresses.
11 years ago
Richard Barry e9b5deb34a Carry on working on SAMA5D3 demo:
- Add full interrupt nesting tests.
- Add additional critical section/context switching tests.
- Set interrupt priorities so everything can run at once without any software watchdog errors.
- Re-enable interrupts in each IRQ handler.
- Add in run-time stats.
11 years ago
Richard Barry 146b46df87 SAMA5D3 demo: Add CDC driver code and use CDC to create a simple command console. 11 years ago
Richard Barry 5fcd270398 Re-test Zynq demo now it is using the latest tools. 11 years ago
Richard Barry bd9d37924d Add back Zynq demo - this time using SDK V14.2. 11 years ago
Richard Barry 96ceb9f537 Remove Zynq demo project ready to recreate the project using the 14.2 version of Xilinx's SDK. 11 years ago
Richard Barry 5b96cf6eea Add 'full' demo to the SAMA5 Xplained demo - but so far without interrupt nesting tests or CLI. 11 years ago
Richard Barry 8ad9b75810 Rename ARM_CAx_No_GIC ARM_CA5_No_GIC and add FreeRTOSConfig setting to specify the number of registers in the FPU unit. 11 years ago
Richard Barry 29336e35b5 SAMA5D3 Xplained demo blinky running. 11 years ago
Richard Barry f4a1a7d577 Add new port layer for Cortex-A devices without the means to mask interrupt priorities. 11 years ago
Richard Barry 5b96c12e92 Start of SAMA5D3 XPlained demo. 11 years ago
Richard Barry 8aa5fa3459 Make the parameters to vPortDefineHeapRegions() const.
Add additional asserts to the Keil CM3 and CM4F ports (other CM3/4 ports already updated).
Add the additional yield necessitated by the mutex held count to the case when configUSE_QUEUE_SETS is 0.
11 years ago
Richard Barry 4fe2abc792 Update the MSVC simulator demo to demonstrate heap_5 allocator and pdTICKS_TO_MS macro being used. 11 years ago
Richard Barry d96dc2adb0 Simply some of the alignment calculations in heap_4.c to match those used in heap_5.c.
Remove some apparently obsolete code from xTaskPriorityDisinherit() (a task cannot be both blocked and giving bac a mutex at the same time].
Update the new "mutex held count" increment and decrement functions to allow mutexes to be created before the scheduler is started.
11 years ago
Richard Barry b0ba273489 Check in the portable.h version required to use heap_5.c. 11 years ago
Richard Barry 4b26dc0614 Check in the new memory allocator that allows the heap to span multiple blocks. 11 years ago
Richard Barry 4ce4de750a Update timer demo in PIC32MZ demo to remove multiple extern definition created by adding in the macro that checks non ISR safe functions are not called from ISRs. 11 years ago
Richard Barry 42b1688a30 Implementation of mutex held counting in tasks.c - needs optimisation before release. 11 years ago
Richard Barry 583b144bc3 Default the definition of portASSERT_IF_IN_ISR() to nothing if it is not defined.
Helper updates to allow a count of the number of mutexes held to be added.
Updates to the CCS Cortex-R4 implementation necessitated by a change in compiler semantics.
Update PIC32MX and MZ ports to assert if a non ISR safe function is called from an ISR.
11 years ago
Richard Barry b4659d8872 Add code to assert() if non ISR safe API function is called from ISR in Tasking CM4F ports - plus fix bug where the max syscall interrupt priority was used incorrectly in the Tasking CM4F port. 11 years ago
Richard Barry 113220628f Add code to assert() if non ISR safe API function is called from ISR in IAR and GCC CM3 and CM4F ports - Keil and tasking to follow. 11 years ago
Richard Barry 4723209074 Simplify the assert that checks if a non-ISR safe function is called from an ISR in the GCC Cortex-A9 port. 11 years ago
Richard Barry d45f18cc8d Add additional comments to the Zynq lwIP demo. 11 years ago
Richard Barry 8426eba8e7 Added portASSERT_IF_IN_INTERRUPT() macro to the GCC Cortex A9 port layer. 11 years ago
Richard Barry de7df3cfda Zynq demo: Fix Xilinx network driver by deferring the function that allocated memory from the interrupt into a task. Add DHCP option. 11 years ago
Richard Barry f1a0534a56 Remove some of the lwip asserts to allow use with 64-bit alignment. 11 years ago
Richard Barry 7fa64efeeb Switch to using the private watchdog as the run time stats timer in the Zynq demo. 11 years ago
Richard Barry 2f6cb8a86c Reorganise Zynq project after spitting lwIP example into a separate configuration. 11 years ago
Richard Barry e92795bcc8 Move the Zynq's lwIP example from the Full demo into its own configuration as having the lwIP tasks at a high priority made the self checking test tasks report failures, while having the lwIP tasks at a low priority slugged the throughput. 11 years ago
Richard Barry be8b0ed21d Update lwIP byte alignment to make Zynq pings more reliable. 11 years ago
Richard Barry 16ff69e873 Update RL78 GCC demo application after testing with fixed compiler. 11 years ago
Richard Barry 9efb5c8b2f Check in RL78 GCC port layer now it has been verified with the fixed compiler. 11 years ago
Richard Barry 5cbab67186 Complete RX64M GCC demo. 11 years ago
Richard Barry 1130a53ec8 Reverse order of projdefs.h and FreeRTOSConfig.h includes in FreeRTOS.h to allow addition of pdMS_TO_TICKS() macro.
Update RXv2 GCC port to match RXv2 Renesas port.
11 years ago
Richard Barry 5cd0b1e5ef Add -nomessage command line option to RX64M demo to suppress warning about the yield function being defined when it is not called directly. 11 years ago
Richard Barry f46070dc79 Ensure demo app files are using FreeRTOS V8 names - a few were missed previously. 11 years ago
Richard Barry ef254df85f A few additional casts to keep the Renesas RX compiler happy. 11 years ago
Richard Barry 74ffdb0b89 Add lwIP driver into Zynq demo - not yet fully functional. 11 years ago
Richard Barry 09a89763ee Add brackets in lwIP assert statement to prevent compiler warnings. 11 years ago
Richard Barry b215310e63 Add some missing volatiles to __asm statements in the CA9 GCC port. 11 years ago
Richard Barry 0bb794301a Update version number ready for release. 11 years ago
Richard Barry 911e82a909 Add xQueueGetMutexHolder() to MPU functions. 11 years ago
Richard Barry f25503977e Event Groups: Convert the 'clear bits from ISR' function into a pended function to fix reentrancy issue.
Event Groups: Ensure the 'wait bits' and 'sync' functions don't return values that still contain some internal control bits.
11 years ago
Richard Barry fa7222ab4a Update demos that use FreeRTOS+FAT SL to have correct version numbers after the update of FreeRTOS+FAT SL itself. 11 years ago
Richard Barry 03c95b5950 Update IAR XMC4200 project to fix link error that resulted from updating the IAR version to 7.x. 11 years ago
Richard Barry 6af9b013eb Ensure xNewLib_reent is reclaimed when a task is deleted. 11 years ago
Richard Barry 82207ebffa Add test and correct code for the unusual case of a task using an event group to synchronise only with itself.
Add critical sections around call to prvResetNextTaskUnblockTime() that can occur from within a task.
11 years ago
Richard Barry ef7f3c5320 Add the pcTimerGetTimerName() API function. 11 years ago
Richard Barry 887fcd04f4 Add interrupt nesting test code into RX64M demo. 11 years ago
Richard Barry 42cbd6a778 Add RSK definition and LED flash tasks into RX64M demo. 11 years ago
Richard Barry 29a08b5e24 Update Cortex-A port layers to ensure the ICCRPR and ICCPMR registers are always accessed as 32-bit values. 11 years ago
Richard Barry d59bf60ff9 Started to create RX64M GCC project - building but not yet converted to new core. 11 years ago
Richard Barry 6fe7e7ef67 Delete old RL78 launch configurations. 11 years ago
Richard Barry 7f7ad3d081 Add RL78/L1C configuration into e2studio demo. 11 years ago
Richard Barry 2283bfb0ae RL78/L1C configuration added to the IAR RL78 demo projects. 11 years ago
Richard Barry a5f00caf16 Working but incomplete RXv2 demo. 11 years ago
Richard Barry 05a0e4379e First pass at RXv2 port layer. 11 years ago
Richard Barry 3788026636 RXv1 tests running before updating to RXv2. 11 years ago
Richard Barry b17ab311af Start to create an RX64M demo. 11 years ago
Richard Barry 9bd5e5cf03 Cast away a few unused return types to ensure lint/compilers don't generate warnings when the warning level is high. 11 years ago
Richard Barry c8953a68cd Add extra #error message as a configuration sanity check. 11 years ago
Richard Barry ba6d285ea8 Minor updates to ensure all kernel aware debuggers are happy with V8. 11 years ago
Richard Barry e101e7e437 Update version number to V8.0.0 (without the release candidate number). 11 years ago
Richard Barry 38ae9b76bc Add logic to determine the tick timer source and vector installation into the PIC32MZ port assembly file to allow more efficient interrupt entry. 11 years ago
Richard Barry c3dd6f6593 Add event group code to the PIC32MZ demo. 11 years ago
Richard Barry 0f6b699eef Linting. 11 years ago
Richard Barry a2089bbcf6 Add #define INCLUDE_eTaskGetState 1 to the demos that use the int queue test. 11 years ago
Richard Barry d6da7b1231 Remove test of trace functions from the Win32/GCC build as it messes up the trace recorder. 11 years ago
Richard Barry 0ccfdd1021 Remove test of trace functions from the Win32 build as it messes up the trace recorder. 11 years ago
Richard Barry 853696a991 Add event groups demo to SAM4E demo. 11 years ago
Richard Barry b7eb76904a Add event group tests to IAR LM3S demo. 11 years ago
Richard Barry e4dbc6b770 Make xEventGroupSetBitsFromISR() a function when configUSE_TRACE_FACILITY is enabled to allow the inclusion of a trace macro. 11 years ago
Richard Barry b96016e234 Follow instructions on http://blogs.msdn.com/b/vsproject/archive/2009/07/21/enable-c-project-system-logging.aspx to manually prevent MSVC from incorrectly reporting the MSVC demo project as being out of date. 11 years ago
Richard Barry 5a2a8fc319 Update the demo directory to use the version 8 type naming conventions. 11 years ago
Richard Barry c6d8892b0d Replace xTaskIsTaskSuspended() call with eTaskGetState() call in IntQueue.c as the former is now a private function. 11 years ago
Richard Barry 4f01401c00 Add a small amount of randomisation into the Zynq demo. 11 years ago
Richard Barry 0cc51d99a7 Add event groups demo to Zynq demo.
Add C implementations of some standard library functions to the Zynq demo to prevent the GCC libraries (which use floating point registers as scratch registers) being linked in.
11 years ago
Richard Barry 3eb212f454 Update IAR RL78 demo regtest tasks to make use of SKZ instructions as the latest IAR linker didn't seem to like the previous version. 11 years ago
Richard Barry 84f4ae9aa0 Make xTaskIsTaskSuspended() a private function as it should only be called from within critical sections.
Fix issue in and simplify the xTaskRemoveFromUnorderedEventList() function.  The function is new to the V8 release candidates so does not effect official released code.
11 years ago
Richard Barry eea669240b Remove inclusion of now removed header file from the RZ/IAR LowLevelInitialise.c file. 11 years ago
Richard Barry d4ca65f22f Third attempt: Improve how TimerDemo.c manages differences between the tick count and its own internal tick count, which can temporarily differ when the tick hook is called while the scheduler is suspended. 11 years ago
Richard Barry 660162a5b8 Update the Win32/MingW demo to match the latest Win32/MSVC demo. 11 years ago
Richard Barry d12ec14160 Add configCLEAR_TICK_INTERRUPT() to the IAR and RVDS Cortex-A9 ports.
Replace LDMFD with POP instructions in IAR and RVDS Cortex-A9 ports.
Replace branch to address with indirect branch and exchange to address in register in the IAR and RVDS Cortex-A9 ports.
11 years ago
Richard Barry 9a8da3ff38 Second attempt: Improve how TimerDemo.c manages differences between the tick count and its own internal tick count, which can temporarily differ when the tick hook is called while the scheduler is suspended. 11 years ago
Richard Barry 03f9bbda52 Improve how TimerDemo.c manages differences between the tick count and its own internal tick count, which can temporarily differ when the tick hook is called while the scheduler is suspended. 11 years ago
Richard Barry 481db56078 Related to Zynq demo: Remove compiler warnings when configASSERT() is not defined and set the type of the assembly functions to allow them to be called when the C code is compiled to THUMB instructions. 11 years ago
Richard Barry f843888e60 Complete GCC/Cortex-A9 port. 11 years ago
Richard Barry c83414ccc4 Finish the Zynq demo. 11 years ago
Richard Barry 2fc4e89b98 Add in interrupt nesting test. 11 years ago
Richard Barry d898d16c44 Check in working IntQueueTimer.c for Zynq before overhauling to ensure it conforms to the FreeRTOS style and coding standard. 11 years ago
Richard Barry 6c72f470ac Update Zynq serial.c to be interrupt driven. 11 years ago
Richard Barry d310ac4552 Add very basic serial CLI to the Zynq demo - needs a lot of tidy up yet! 11 years ago
Richard Barry 51ea2639a9 vQueueAddToRegistry() now takes a const char * instead of a char *.
tmrCOMMAND_CHANGE_PERIOD_FROM_ISR constant added for the "FromISR" version of the software timer change period API function.
11 years ago
Richard Barry 0bf2e615b2 Uncheck the "Do not search standard system directories for header files" compiler option in two RX600 project to ensure stdint.h can be found correctly. 11 years ago
Richard Barry 6130fec60e Introduce xTimerPendFunctionCall().
Change INCLUDE_xTimerPendFunctionCallFromISR to INCLUDE_xTimerPendFunctionCall
Update event group trace macros to match the new trace recorder code.
Ensure parameter name consistency by renaming any occurrences of xBlockTime and xBlockTimeTicks to xTicksToWait.
Continue work on GCC/RL78 port - still a work in progress.
Adjust how the critical section was used in xQueueAddToSet.
11 years ago
Richard Barry 888733ef79 Add main_full.c to Zynq demo. Still a work in progress. 11 years ago
Richard Barry b352be2e23 Tidy up GCC Cortex-A port layer - still a work in progress. 11 years ago
Richard Barry 14f895478d Continue work on GCC/Cortex-A port layer. 11 years ago
Richard Barry 4c9b5d88ae Continue Zynq demo - ParTest.c now working (with single LED), but still very much a work in progress. 11 years ago
Richard Barry 1e26b1875f Remove #error that attempted to catch stdint.h not being included.
Split the previously overloaded trmCOMMAND_nnn definitions into individual definitions to enable better logging.
11 years ago
Richard Barry d0323e67ae Continue working on GCC/CA_9 port layer - tick interrupt now working but needs tidy up. 11 years ago
Richard Barry 8cb6a4f032 Continue working on Zynq demo - tick interrupt now working but needs tidy up. 11 years ago
Richard Barry 371f6f359a Carry on working on the Zynq demo - still a work in progress. 11 years ago
Richard Barry 3e430b3801 Carry on working on the Cortex-A/GCC port layer - still a work in progress. 11 years ago
Richard Barry 33351b02c9 Beginnings of a project to build the GCC Cortex-A port targeting a Zynq. 11 years ago
Richard Barry 86023aa5a6 Beginnings of GCC Cortex-A port - not yet completely converted from IAR version. 11 years ago
Richard Barry d8c135e2dc Add extern 'C' to FreeRTOS.h.
Remove obsolete extern declaration of vTaskSwitchContext() from the MPX430X IAR portmacro.h (other older portmacro.h header files contain the same declaration).
11 years ago
Richard Barry a1b8079df1 Introduce configENABLE_BACKWARD_COMPATIBILITY to allow the #defines that provide backward compatibility with FreeRTOS version prior to V8 to be optionally omitted. 11 years ago
Richard Barry f01bf9fdc3 Add additional NOP after EINT instruction in MSP430 ports. 11 years ago
Richard Barry a20e75082e Remove obsolete OpenOCD driver. 11 years ago
Richard Barry 1aaa80fba6 Map portTICK_RATE_MS to portTICK_PERIOD_MS. 11 years ago
Richard Barry a56d4b998c Minor tidy ups that don't effect code generation, plus:
When a task is unblocked the need for a context switch is only signalled if the unblocked task has a priority higher than the currently running task, instead of higher than or equal to the priority of the currently running task.
11 years ago
Richard Barry 723682f1dd Minor comment corrections prior to tagging. 11 years ago
Richard Barry a8836b5c43 Change version numbers ready for V8.0.0 release candidate 1 tag. 11 years ago
Richard Barry 3705435417 Add the event group interrupt tests to the Win32 demo projects. 11 years ago
Richard Barry 8ae3d489fe Comment the event groups standard demo files. 11 years ago
Richard Barry 2aa19f1a14 Add xEventGroupClearBitsFromISR() and xEventGroupGetBitsFromISR() functions.
Move some types defines out of generic kernel headers into feature specific headers.
Convert the function prototype dypedefs to the new _t naming.
11 years ago
Richard Barry 38e7554138 Update FreeRTOS+ more demos that use FreeRTOS+CLI to remove casting to int8_t * from strings. 11 years ago
Richard Barry 42a2338f1c Update demos that use FreeRTOS+CLI to remove casting to int8_t * from strings. 11 years ago
Richard Barry e95b482f56 Minor updates to demo projects to ensure correct building with V8 rc1. 11 years ago
Richard Barry f9072e7bac Remove casting from definition of configMAX_PRIORITIES to allow its use in pre-processor defined conditional compilation. 11 years ago
Richard Barry e4965ca03c Minor updates to demo projects to ensure correct building with V8 rc1. 11 years ago
Richard Barry 2b6eb1c5ab Revert some library files back to using standard types as they are not FreeRTOS files. 11 years ago
Richard Barry b54158d1dc Replace use of legacy portTYPE macros from old demos and standard demo files. 11 years ago
Richard Barry 3e20aa7d60 Replace standard types with stdint.h types.
Replace #define types with typedefs.
Rename all typedefs to have a _t extension.
Add #defines to automatically convert old FreeRTOS specific types to their new names (with the _t).
11 years ago
Richard Barry f292243dcf Change 'signed char *pcTaskName) to 'char *pcTaskName' in vApplicationStackOverflowHook(). 11 years ago
Richard Barry 653fdb81d5 Continue to remove unnecessary 'signed char *' casts from strings that are now just plain char * types. 11 years ago
Richard Barry da93f1fc4b Start to remove unnecessary 'signed char *' casts from strings that are now just plain char * types. 11 years ago
Richard Barry b4116a7c7d Change the type used for strings and single characters from signed char to just char. 11 years ago
Richard Barry b3aa1e90ad Add additional const qualifiers. 11 years ago
Richard Barry 6179690dc9 Don't free xQueue->ucHead if it is NULL. 11 years ago
Richard Barry a3c2f45116 Move the event groups single tasks test out of the common demo file (they are now part of the module tests). 11 years ago
Richard Barry c861e3883d Add coverage test markers. 11 years ago
Richard Barry 64ad1c00b5 In process of module testing event_groups.c.
Introduce xPortRunning variable into Win32 simulator port layer.
Add port optimised task selection macro for the GCC Win32 port layer (the MSVC version has had one for a while).
Ensure the event list item value does not get modified by code in tasks.c (priority inheritance, or priority change) when it is in use by the event group implementation.
11 years ago
Richard Barry 0147415c40 Change some task priorities in the MingW simulator demo. 11 years ago
Richard Barry 39b2d049a6 Update GCC/Eclipse Win32 simulator port to make better use of Eclipse resource filters and match the functionality of the MSVC equivalent. 11 years ago
Richard Barry 4b2f9dad42 Force the SysTick clock bit to be set in Cortex-M3 and Cortex-M4F bits if configSYSTICK_CLOCK_HZ is not defined, otherwise leave the bit as it is found as the SysTick may use a divided clock. 11 years ago
Richard Barry 040a7c02df Change the configCPU_CLOCK_HZ setting in the SAM4E demo to use the SystemCoreClock variable. 11 years ago
Richard Barry a320d6dffd Update the ucQueueNumber member of the queue structure (used with FreeRTOS+Trace to be an unsigned portBASE_TYPE instead of an unsigned char. 11 years ago
Richard Barry c17c65fc09 Introduce prvResetNextTaskUnblockTime() to encapsulate functionality from various places in the code into a single function. 11 years ago
Richard Barry acad916453 Change the way one thread deletes another in the Windows simulator port (the way one thread deleted itself was already changed in a previous check-in).
Reset the expected block time variable when a task is suspended or deleted in case the value held in the variables was associated with the task just suspended or deleted.
11 years ago
Richard Barry 0d1e12522b Update Cortex-M3 and Cortex-M4F ports to allow the SysTick to be clocked at a different speed than the system clock (as is done in the recent STM32L demo. ).
Add additional asserts and isb instructions into the Cortex-M3 and Cortex-M4F ports.
11 years ago
Richard Barry 6b3393b4b6 Add trace macros into the event groups implementation.
Add a task pre-delete hook to allow the insertion of any port specific clean up when a task is deleted.
Increase use of 'const' qualifiers.
Add vPortCloseRunningThread() into the Win32 port layer to attempt to allow Windows threads to be closed more gracefully when a task deletes itself.
11 years ago
Richard Barry 0416289066 Comment typo correction only. 11 years ago
Richard Barry ed54bc497d Complete STM32L low power demo. 11 years ago
Richard Barry 4b655ac3bb Remove [unused] touch library files from the STM32L discovery demo. 11 years ago
Richard Barry 0028cc48c1 Remove unused files from STM32L discovery board demo directory structure and build. 11 years ago
Richard Barry 751103d848 Tidy up STM32L low power demo and add 'comprehensive demo' option. 11 years ago
Richard Barry 5638fe28a2 Remove duplication of comments at the top of the file. 11 years ago
Richard Barry 3d00d47239 STM32L discovery demo is now demonstrating three low power modes - still needs clean up. 11 years ago
Richard Barry 9001b7b77a Minor change to SAM4L_low_power_tick_management.c to ensure the alarm value cannot be set to zero. 11 years ago
Richard Barry e682aec507 Spelling corrections in comments only. 11 years ago
Richard Barry 00ad1a0200 Multiple tidy up, documentation corrections and typo corrections highlighted by Tamas Kleiber's diligent review. 11 years ago
Richard Barry 2e42d7690a Continue work on new event groups functionality - fixups required by test results. 11 years ago
Richard Barry d2c2e3ca68 Add additional asserts() to ensure certain operations are not performed when the scheduler is suspended.
Change the xBlockTime variables in event_groups.c/h to xTicksToWait to match the naming in other core FreeRTOS files.
11 years ago
Richard Barry 5037ecdc5c Checked in header file missed form previous checkin. 11 years ago
Richard Barry 9dc39ee2a7 Add additional event group tests - and update implementation as required by test results. 11 years ago
Richard Barry a22d5ff5a5 Add event groups test/demo tasks. 11 years ago
Richard Barry f54f21b8f6 Add event_groups.c and associated functions in other core files.
Added xTimerPendCallbackFromISR() to provide a centralised deferred interrupt handling mechanism.
Add xPortGetLowestEverFreeHeapSize() to heap_4.c.
11 years ago
Richard Barry faed443e82 Continue work on STM32L demo. 11 years ago
Richard Barry b89fd7c1e3 Add STM32L Discovery board project as a starting point to adapt to an RTOS demo. 11 years ago
Richard Barry 417c3d1054 Change backslashes to forward slashes for all PIC projects. 11 years ago
Richard Barry c6020ae8b4 Change conf_eth.h to provide additional Rx buffers in SAM4E demo. 11 years ago
Richard Barry fa002f7fdd Final tidy up before V7.6.0 zip file creation. 11 years ago
Richard Barry c2bfac68b3 Add link to documentation page inside main_full() of the SAM4E demo. 11 years ago
Richard Barry 0cbd5182a3 Add additional comments to SAM4E demo. 11 years ago
Richard Barry 0865907f3f Add graphics to the SAM4E demo. 11 years ago
Richard Barry 9e9f9f30b1 Add UDP related commands to SAM4E demo. 11 years ago
Richard Barry b690b26861 Add standard demo tasks to SAM4E demo. 11 years ago
Richard Barry dc2e20bb0a Add SAM4E-EK demo with UDP and CLI. Not yet complete. 11 years ago
Richard Barry a37b947615 Reorder the license text wording so the exception text is at the top rather than the bottom. 11 years ago
Richard Barry a2cfaa7cd9 Correct build of helper function for ports where the stack grows up. 11 years ago
Richard Barry 8320dfb885 Update the SAM4L low power demo to use the ASF enable/disable interrupts functions rather than manipulating the PIRMASK directly - and in so doing allow other ASF functions to be called with the interrupt enable bit nesting. 11 years ago
Richard Barry 0cd79ad81d Change version numbers in preparation for V7.6.0 release. 11 years ago
Richard Barry c44d12dadb Ensure the Win32 demo runs in co-operative mode. 11 years ago
Richard Barry b1b4b15353 Add configASSERT()s to ensure counting semaphores are not created with a max count of zero or an initial count greater than the max count. 11 years ago
Richard Barry b181a3af99 Ensure the definition of prvTaskExitError()does not result in a compiler warning in ports where its use can be overridden (GCC Cortex-M ports).
Remove duplicate save/restore of r14 in Cortex-M4F ports.
11 years ago
Richard Barry 20eb03ed7d Change behaviour when configUSE_PREEMPTION is 0 (preemption is turned off). See the change history in the next release for details.
Remove an erroneous const in the prototype of queue receive/peek functions.
11 years ago
Richard Barry 30bc6c01a9 Add ehb instructions back into PIC32 port layer (upon advice).
Add configCLEAR_TICK_TIMER_INTERRUPT into PIC32 port layer to allow the timer configuration to be changed without any edits to the port layer being required.
Add prvTaskExitError() into the PIC32 port layer to trap tasks that attempt to exit from their implementing function.
Provide the ability to trap interrupt stack overflows in the PIC32 port.
Radically improve the timing in the Win32 simulator port layer.
11 years ago
Richard Barry 40d2e74417 Update some standard demo task implementations so they can be used with the cooperative scheduler. 11 years ago
Richard Barry 5aabe4f8fb Update semtest.c to use xSemaphoreCreateBinary() in place of vSemaphoreCreateBinary. 11 years ago
Richard Barry dcf261a3e6 Add xSemaphoreCreateBinary() so vSemaphoreCreate() can be deprecated. 11 years ago
Richard Barry ca2191c6ee Ensure PIC32MX MPLAB 8 project builds with XC. 11 years ago
Richard Barry 9a0f2bda55 Update PIC32 MPLAB8 project so it builds with the new partest file names. 11 years ago
Richard Barry 1b7a2e40a3 Update PIC32MX demo:
Change configCHECK_FOR_STACK_OVERFLOW to 3 to also check the interrupt stack.
Add a build configuration to allow use on the PIC32 USBII starter kit.
Increase some delays when talking to the LCD to ensure it always displays correctly.
Rewrite the register test tasks.
11 years ago
Richard Barry 2ee43fbc64 Set the MSVC Win32 demo back to create the simply blinky demo by default.
Set the MingW Wind32 demo back to include the #error to remind people to run the CreateProjectDirectoryStructure batch file.
11 years ago
Richard Barry 73df0ffdff Update the Eclipse/MingW project to account for the new Win32 simulator port layer (which has better timing). 11 years ago
Richard Barry 15d10ce094 Update the main Win32 MSVC demo to account for the changes to the Win32 port layer (more accurate timing). 11 years ago
Richard Barry 63bd3ebbef Remove the SVC handler from the XMC1000 demo as it is no longer used by the Cortex-M0 port layer. 11 years ago
Richard Barry dcd261bb8b Update the Keil and IAR CM0 port layers to match the changes made to the GCC version. 11 years ago
Richard Barry 7bcbef721b Remove the SVC handler from the SAMD20 FreeRTOSConfig.h as the GCC Cortex-M0 port no longer uses it. 11 years ago
Richard Barry 41fe693968 Improve how the scheduler is started in the GCC Cortex-M0 port. 11 years ago
Richard Barry f64acd6a48 Added an additional configASSERT() to test the new eTaskGetState() behaviour (see previous checking comment). 11 years ago
Richard Barry 25bab250b6 Added a little intelligence to eTaskGetState() so it can distinguish between a suspended task and a task that is indefinitely blocked on an event. 11 years ago
Richard Barry bafda11518 Remove maths library dependency form SAMD20 project. 11 years ago
Richard Barry a12ea2d212 Update FreeRTOS version number to V7.5.3
Update FreeRTOS+CLI version number to V1.0.2
Update FreeRTOS+UDP version number to V1.0.1
11 years ago
Richard Barry 94607d83f9 Add workaround to XMC4000 silicon bug to Tasking Cortex-M4F port layer. 11 years ago
Richard Barry c1353bb12d Complete XMC4000 Tasking project. 11 years ago
Richard Barry b887737c34 Fix broken link in Atmel Studio SAMD20 project. 11 years ago
Richard Barry c09f6e6a9b Increase minimal stack size for the SAMD20 demo. 11 years ago