From 474182ab3972117de03c596fead02b3417588ba3 Mon Sep 17 00:00:00 2001
From: Gaurav Aggarwal <aggarg@amazon.com>
Date: Wed, 1 Jan 2020 00:04:10 +0000
Subject: [PATCH] Make vSetupTimerInterrupt weak in the RVDS M4 MPU port to
 give the application writer a chance to override this function. This gives
 the application write ability to use a different timer.

---
 FreeRTOS/Source/portable/RVDS/ARM_CM4_MPU/port.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/FreeRTOS/Source/portable/RVDS/ARM_CM4_MPU/port.c b/FreeRTOS/Source/portable/RVDS/ARM_CM4_MPU/port.c
index 20e108add..3cd73b294 100644
--- a/FreeRTOS/Source/portable/RVDS/ARM_CM4_MPU/port.c
+++ b/FreeRTOS/Source/portable/RVDS/ARM_CM4_MPU/port.c
@@ -110,7 +110,7 @@ static UBaseType_t uxCriticalNesting = 0xaaaaaaaa;
 /*
  * Setup the timer to generate the tick interrupts.
  */
-static void prvSetupTimerInterrupt( void ) PRIVILEGED_FUNCTION;
+void vSetupTimerInterrupt( void ) PRIVILEGED_FUNCTION;
 
 /*
  * Configure a number of standard MPU regions that are used by all tasks.
@@ -435,7 +435,7 @@ BaseType_t xPortStartScheduler( void )
 
 	/* Start the timer that generates the tick ISR.  Interrupts are disabled
 	 * here already. */
-	prvSetupTimerInterrupt();
+	vSetupTimerInterrupt();
 
 	/* Initialise the critical nesting count ready for the first task. */
 	uxCriticalNesting = 0;
@@ -598,7 +598,7 @@ uint32_t ulDummy;
  * Setup the systick timer to generate the tick interrupts at the required
  * frequency.
  */
-static void prvSetupTimerInterrupt( void )
+__weak void vSetupTimerInterrupt( void )
 {
 	/* Reset the SysTick. */
 	portNVIC_SYSTICK_CTRL_REG = 0UL;