Richard Barry
148f588f56
Remove "FromISR' functions from the list of functions that switch to a privileged mode as IRQs are privileged already.
...
Add the vTimerSetReloadMode() API function.
2018-12-17 22:04:18 +00:00
Richard Barry
101806906d
Rework RISC-V portASM.S to make it easier to add in chip specific RISC-V extensions and accommodate chips that don't include the CLINT.
2018-12-16 23:59:49 +00:00
Richard Barry
7cc42b2ab6
Save changes to the RISC-V port layer before making changes necessary to support pulpino too:
...
+ Switch positions of the asm functions used to start the kernel and handle traps to enable one to reference to the other.
+ Handle external interrupts (working with Renode emulator).
+ The _sp linker variable is now called __freertos_irq_stack_top.
2018-12-16 20:21:29 +00:00
Richard Barry
65f7a2dc19
Update RISC-V port to use a separate interrupt stack.
2018-12-04 01:23:41 +00:00
Richard Barry
e85ea96f78
Some efficiency improvements in Risc-V port.
2018-11-28 19:35:40 +00:00
Richard Barry
dc99300fa9
First task running in RISC-V-Qemu-sifive_e-FreedomStudio demo.
2018-11-24 20:59:07 +00:00
Richard Barry
db64297487
Provide each Risc V task with an initial mstatus register value.
2018-11-20 20:12:35 +00:00
Richard Barry
8cef339aec
Update Risc-V port to use environment call in place of software interrupt - still very much a work in progress.
2018-11-19 06:01:29 +00:00
Richard Barry
baee711cb6
Continue work on Risc V port.
2018-11-06 02:04:28 +00:00
Richard Barry
74d0d16aab
Update xTaskRemoveFromEventList() so when tickless idle is used prvResetNextTaskUnblockTime() only gets called if the scheduler is not locked, as it would get called when the scheduler is unlocked in any case.
2018-11-05 19:35:54 +00:00
Richard Barry
55ff89373a
Update the method used to detect if a timer is active. Previously the timer was deemed to be inactive if it was not referenced from a list. However, when a timer is updated it is temporarily removed from, then re-added to a list, so now the timer's active status is stored separately.
2018-10-24 21:37:59 +00:00
Richard Barry
6fab2b9e0d
Add xTaskGetApplicationTaskTagFromISR(), which is an interrupt safe version of xTaskGetApplicationTaskTagFrom().
2018-10-08 15:10:18 +00:00
Richard Barry
c6de0001fa
Added uxTaskGetStackHighWaterMark2(), which is the same as uxTaskGetStackHighWaterMark() other than the return type.
...
Allows the task name parameter passed into xTaskCreate() to be NULL.
2018-09-30 21:50:05 +00:00
Richard Barry
e3dc5e934b
RISC-V tasks now context switching to each other using taskYIELD() - not fully tested yet.
2018-09-27 17:25:17 +00:00
Richard Barry
2bcb1ab02b
Add trap handler to RISC-V port so there is no dependency on third party code.
2018-09-23 03:52:23 +00:00
Richard Barry
32f35e9130
RISC-V:
...
Added code to setup the timer interrupt - not tested yet.
Added the taskYIELD() implementation - so far just checked it generates an interrupt.
2018-09-12 16:33:05 +00:00
Richard Barry
b11eb3a59c
RISC-V work in progress:
...
+ Initialise task stack.
+ Successfully jump to start of first task.
2018-09-10 20:50:05 +00:00
Richard Barry
0c0f0d0f8f
Minor synching - no functional changes.
2018-09-07 22:24:51 +00:00
Richard Barry
92ae8e7aff
Update version numbers ready for release.
2018-09-07 18:13:20 +00:00
Richard Barry
be9c0730c3
Update trace recorder code to the latest.
...
Some minor changes to enable the configREMOVE_STATIC_QUALIFIER constant to be used by those debuggers that cannot cope with statics being used.
2018-09-06 03:23:03 +00:00
Richard Barry
21a8ff35dd
Two minor updates in the comments to fix html formatting that was preventing doxygen creating documents correctly.
2018-09-01 02:42:34 +00:00
Richard Barry
e2750cd388
Case unused return values for memset and memcpy to void in stream_buffer.c to avoid compiler warnings when the warning level is turned up.
...
Remove duplicate comment in heap_1.c.
2018-08-29 15:43:41 +00:00
Richard Barry
0d6e3df7ec
Minor updates to fix issues with the Segger kernel aware plug since V10.1.0.
2018-08-28 18:10:42 +00:00
Richard Barry
893db45834
Changes required for the IAR StateViewer plug-in to work with FreeRTOS V10.1.0.
2018-08-27 23:11:28 +00:00
Richard Barry
b0ce1f61c9
Move some variables from function scope back to being file scope for the benefit of some kernel aware debuggers that were left working in a non-functioning mode after the V10.1.0 release - not last change for this purpose.
2018-08-27 21:59:26 +00:00
Richard Barry
3a1631fda3
Update copyright date ready for tagging V10.1.0.
2018-08-22 23:23:03 +00:00
Richard Barry
fb9de58f56
Update version numbers in preparation for a new release.
2018-08-21 19:50:48 +00:00
Richard Barry
722ca8fb2b
Update demo project for Tensilita - work in progres..
...
Add support for POSIX style errno - work in progress.
2018-08-21 19:37:04 +00:00
Richard Barry
78d20e2854
Only include the static definition of freertos_tasks_c_additions_init if FREERTOS_TASKS_C_ADDITIONS_INIT is defined, matching the guide used to include the function's prototype.
2018-08-20 15:08:35 +00:00
Gaurav Aggarwal
56dc0dd9b4
Merge bug fixes from Cadence
2018-08-07 07:21:07 +00:00
Richard Barry
f6cbf20019
Update RISC-V project to used official port stubs in place of third party port.
2018-07-07 21:54:41 +00:00
Richard Barry
3bfc32d444
Add stubs for official RISC-V RV32 port.
2018-07-07 21:47:31 +00:00
Richard Barry
0887713969
Fix issues whereby vStreamBufferReset() clobbered the flag that indicated the stream buffer was statically allocated.
2018-06-20 21:21:55 +00:00
Richard Barry
483f4a8c4b
Small change to the directory name in which the RISC-V port is stored.
2018-06-20 21:15:04 +00:00
Richard Barry
3d8d2f3cc8
Add RISCV port layer.
2018-06-20 19:21:18 +00:00
Gaurav Aggarwal
c4b1afc4ef
Add Xtensa port
...
The project file is for Xtensa Xplorer simulator.
Also add tests for one size stream buffer.
2018-06-14 19:43:17 +00:00
Richard Barry
d6fcd5dbba
Add the option to specify a stack size in the standard demo MessageBuffer tests.
...
Add stream and message buffer tests into the Zynq demo project.
2018-06-13 16:50:16 +00:00
Richard Barry
4fbcdbf13b
Fix misra violations in queue.c by introducing a union that allows the correct data types to be used in place of void *, then tidy up where the union is used.
2018-06-11 18:51:53 +00:00
Richard Barry
4a8c4c9eaf
TimerHandle_t is now type safe instead of void *.
...
Remove casts that are no longer required not type safe handles are used.
2018-06-11 04:43:12 +00:00
Richard Barry
3d8681de9e
Continue updating to MISRA 2012 from 2004 - currently working on queue.c and committing as working copy prior to making larger change.
...
Change QueueHandle_t to be typesafe from void *.
Change StreamBuffer_t to be typesafe from void *.
2018-06-11 01:56:32 +00:00
Richard Barry
7a9f453f96
Remove casts from EventGroupHandle_t to EventGroup_t, and corresponding lint comments, which are not required now EventGroupHandle_t is type safe.
...
Fix the prototype of prvTimerCallback() in the MPU simulator demo (caught due to the new type safety in tasks.c).
2018-06-04 04:02:57 +00:00
Richard Barry
390fb06b49
First pass at updating from MISRA 2004 to MISRA 2012:
...
Updated pvContainer member of list items to List_t * rather than void * as they are always contained in a list if anywhere.
Made EventGroupHandle_t typesafe pointer to forward referenced struct rather than void pointer.
Made TaskHandle_t typesafe pointer to forward referenced struct, rather than a void pointer.
2018-06-03 22:57:46 +00:00
Richard Barry
5bebf10fa4
Minor updates to comments only.
2018-05-17 17:50:14 +00:00
Richard Barry
585b16a39f
Update definition of StaticTimer_t so its size is correct on MSP403X large memory model builds.
2018-05-07 16:31:50 +00:00
Richard Barry
a3148ba638
xTaskGenericNotify() now sets xYieldPending to pdTRUE even when the 'higher priority task woken' parameter is provided - making its behaviour consistent with event objects.
...
Ensure tasks that are blocked indefinitely on a direct to task notification return their state as eBlocked, previously was returned as eSuspended - making its behaviour consistent with event objects.
Fix typo in stream_buffer.c where "size_t xBytesAvailable ); PRIVILEGED_FUNCTION" had the semicolon in the wrong place.
Add testing of Stream Buffers to the AbortDelay.c tests.
Guard inclusion of C code when FreeRTOSConfig.h is included from an assembly file in the ARM7_LPC2129_IAR demo.
Fix minor typos in the Windows demo comment blocks.
2018-04-29 18:15:38 +00:00
Richard Barry
025088c280
Fix regressions introduced by introduction of configMESSAGE_BUFFER_LENGTH_TYPE constant - specifically enabling big endian support and updates to xStreamBufferNextMessageLengthBytes.
2018-03-15 18:31:02 +00:00
Richard Barry
3ec86b7a98
Introduce sbBYTES_TO_STORE_MESSAGE_LENGTH to allow the number of bytes used to hold a message length in a message buffer to be reduced if 4 bytes is always too many (save a little RAM).
2018-03-15 15:51:22 +00:00
Richard Barry
aec45f2479
Import the code coverage test additions from the (unpublished) Visual Studio project to the (published) MingW/Eclipse project.
...
Update the MingW/Eclipse project to add a code coverage build configuration in addition to the existing Debug build configuration.
Update StreamBufferDemo.c so functions are called directly, rather than via configASSERT(), so their code coverage can be measured when configASSERT() is not defined.
In the Win32 port, replace the call to TerminateProcess() in vPortEndScheduler() with exit( 0 ) - which triggers the writing of the code coverage data to the disk.
Fix bug in ucStreamBufferGetStreamBufferType() - which is only used by the Percepio trace tool.
Update the line within vTaskStartScheduler() that was setting xTickCount to 0 to instead set it to configINITIAL_TICK_COUNT.
2018-03-14 15:58:47 +00:00
Richard Barry
bf8d9f4726
Start moving code coverage tests from VisualStudio (not checked in) to the MingW project (checked in) by creating a second build configuration in the Windows Eclipse project that includes the code coverage command line options. Additionally make minor code updates to ensure configASSERT() is not defined, and the application runs for a finite time, when the code coverage build configuration is used.
2018-03-06 17:23:55 +00:00
Richard Barry
f9bef06ec0
Introduce xMessageBufferNextLengthBytes() and tests for the same.
...
Add call to traceTASK_SWITCHED_IN() in vTaskStartScheduler() so trace tools can see the first task to run.
2018-03-04 19:25:14 +00:00