gaurav-aws [Wed, 13 Mar 2019 21:10:44 +0000 (21:10 +0000)]
Fix warning portHAS_STACK_OVERFLOW_CHECKING not defined
portHAS_STACK_OVERFLOW_CHECKING was getting defined too late before
being used in portable.h for the platforms that do not have stack
overflow checking registers. This commit ensures that it is defined
before it is used.
rtel [Wed, 20 Feb 2019 17:55:59 +0000 (17:55 +0000)]
Add instructions on building the Cortex-M33 secure and non secure projects into the comments of that project and into a readme.txt file.
Enable configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES setting to be used in statically allocated systems.
gaurav-aws [Sun, 17 Feb 2019 01:24:58 +0000 (01:24 +0000)]
Fix definition of tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE
tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE was not correctly defined resulting in
dynamically allocated TCB not being freed when MPU was enabled. This commit fixes
the definition to ensure that dynamically allocated RAM (Stack and TCB) is freed
always.
gaurav-aws [Sat, 16 Feb 2019 20:21:47 +0000 (20:21 +0000)]
Fix build failure when dynamic allocation is not enabled.
When dynamic allocation is not enabled, vPortFree is not available. The current code used
vPortFree and this resulted in linker error. This commit removes the use of vPortFree when
dynamic allocation is not enabled.
rtel [Fri, 8 Feb 2019 01:18:08 +0000 (01:18 +0000)]
Ensure eTaskGetState() is brought in automatically if INCLUDE_xTaskAbortDelay is set to 1, as it is a dependency of eTaskGetState().
Added the portTASK_FUNCTION_PROTO macros around the timer task, as the macros are already used by the idle task.
Add a PDF of the RISC-V documentation into the repo as the web page is not yet live.
rtel [Mon, 7 Jan 2019 19:40:13 +0000 (19:40 +0000)]
Update main.c() for the WIN32-MingW project so the trace recorder is initialized even when the simple blinky demo is used - otherwise the trace recorder causes an exception as it is used without first being initialized.
rtel [Mon, 31 Dec 2018 18:19:52 +0000 (18:19 +0000)]
Move the 'generic' version of freertos_risc_v_chip_specific_extensions.h back to a sub-directory as having it in the RISC-V port's base directory was causing SoftConsole to pick up the wrong version (for an unknown reason).
Add a project for the Vega board's RI5CY core.
rtel [Sun, 30 Dec 2018 20:00:43 +0000 (20:00 +0000)]
Move the RISC-V pxPortInitialiseStack() implementation to the assembly port file from the C port file so it can have access to the number of chip specific registers it needs to save space for on the stack.
rtel [Fri, 28 Dec 2018 00:44:18 +0000 (00:44 +0000)]
Allow the size of the stack used by many of the standard demo/test tasks to be overridden by FreeRTOSConfig.h settings.
Update the Freedom Studio RISC-V project so the 'full' build configuration is now functional.
rtel [Mon, 17 Dec 2018 22:04:18 +0000 (22:04 +0000)]
Remove "FromISR' functions from the list of functions that switch to a privileged mode as IRQs are privileged already.
Add the vTimerSetReloadMode() API function.
rtel [Mon, 17 Dec 2018 00:01:36 +0000 (00:01 +0000)]
Update RISC-V_IGLOO2_Creative_SoftConsole demo to make use of new RISC-V porting layer structure and exercise some external interrupts - all tests currently passing in Renode.
rtel [Sun, 16 Dec 2018 20:21:29 +0000 (20:21 +0000)]
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.
rtel [Mon, 5 Nov 2018 19:35:54 +0000 (19:35 +0000)]
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.
rtel [Wed, 24 Oct 2018 21:37:59 +0000 (21:37 +0000)]
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.
Added uxTaskGetStackHighWaterMark2(), which is the same as uxTaskGetStackHighWaterMark() other than the return type.
Allows the task name parameter passed into xTaskCreate() to be NULL.
RISC-V:
Added code to setup the timer interrupt - not tested yet.
Added the taskYIELD() implementation - so far just checked it generates an interrupt.
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.
rtel [Wed, 29 Aug 2018 15:43:41 +0000 (15:43 +0000)]
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.
rtel [Tue, 28 Aug 2018 16:58:21 +0000 (16:58 +0000)]
Fix build issues in the FreeRTOS_Plus_TCP_Minimal_Windows_Simulator project:
+ Set configENABLE_BACKWARD_COMPATIBILITY to 1 in FreeRTOSConfig.h to account for the fact that a member of the List_t structure has been renamed.
+ Provide a dummy implementation of ulApplicationGetNextSequenceNumber() to prevent linker warnings.
rtel [Mon, 27 Aug 2018 21:59:26 +0000 (21:59 +0000)]
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.
rtel [Thu, 23 Aug 2018 00:00:20 +0000 (00:00 +0000)]
FreeRTOS+UDP was removed in FreeRTOS V10.1.0 as it was replaced by FreeRTOS+TCP,
which was brought into the main download in FreeRTOS V10.0.0. FreeRTOS+TCP can
be configured as a UDP only stack, and FreeRTOS+UDP does not contain the patches
applied to FreeRTOS+TCP.
rtel [Wed, 22 Aug 2018 21:29:21 +0000 (21:29 +0000)]
Fix some build issues in older kernel demo projects.
Update to V2.0.7 of the TCP/IP stack:
+ Multiple security improvements and fixes in packet parsing routines, DNS
caching, and TCP sequence number and ID generation.
+ Disable NBNS and LLMNR by default.
+ Add TCP hang protection by default.
We thank Ori Karliner of Zimperium zLabs Team for reporting these issues.
rtel [Mon, 20 Aug 2018 15:08:35 +0000 (15:08 +0000)]
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.
Update stream buffer tests to try resetting a statically allocated stream buffer before deleting it (tests fix in code).
Update trace recorder library.
rtel [Wed, 13 Jun 2018 21:16:22 +0000 (21:16 +0000)]
Sync with TCP version from AWS, including:
+ Add FreeRTOS_UpdateMACAddress().
+ Fix bug in lTCPWindowRxCheck() that manifested itself when flooded with lots of very small packets.
rtel [Mon, 11 Jun 2018 18:51:53 +0000 (18:51 +0000)]
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.
rtel [Mon, 11 Jun 2018 01:56:32 +0000 (01:56 +0000)]
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 *.
rtel [Mon, 4 Jun 2018 04:02:57 +0000 (04:02 +0000)]
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).
rtel [Sun, 3 Jun 2018 22:57:46 +0000 (22:57 +0000)]
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.