mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2026-01-22 01:30:31 -05:00
* Revert "Remove coroutines (#874)"
This reverts commit 569c78fd8c.
* Update freertos Kernel submodule to latest head
* Remove temporary files
* Fix MingW demos and spell check
* Fix manifest version; fix headers
* Add ignore files and paths to core-checker.py
* Fix copyright in remaining files
* Fix PR check build failure
1. Remove defining `inline` in Makefile. This was causing build
warnings.
2. Ensure that the linker removed unused functions from various
compilation units.
3. Update the linker script so that all the functions are correctly
placed in FLASH section.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
---------
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
This commit is contained in:
parent
9ccae851e7
commit
1277ba1661
605 changed files with 11240 additions and 3628 deletions
|
|
@ -19,8 +19,8 @@
|
|||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
@ -65,6 +65,9 @@
|
|||
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 80 )
|
||||
#endif
|
||||
|
||||
/* Co-routine definitions. */
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
|
||||
/* Set the following definitions to 1 to include the API function, or zero
|
||||
to exclude the API function. */
|
||||
|
|
@ -78,7 +81,7 @@ to exclude the API function. */
|
|||
|
||||
/* This demo makes use of one or more example stats formatting functions. These
|
||||
format the raw data provided by the uxTaskGetSystemState() function in to human
|
||||
readable ASCII form. See the notes in the implementation of vTaskList() within
|
||||
readable ASCII form. See the notes in the implementation of vTaskList() within
|
||||
FreeRTOS/Source/tasks.c for limitations. */
|
||||
#define configUSE_STATS_FORMATTING_FUNCTIONS 1
|
||||
|
||||
|
|
|
|||
|
|
@ -56,10 +56,10 @@ void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
|
|||
{
|
||||
case 0: LED_PORT_OUT |= LED_1;
|
||||
break;
|
||||
|
||||
|
||||
case 1: LED_PORT_OUT |= LED_2;
|
||||
break;
|
||||
|
||||
|
||||
default: /* Nothing to do here, there are only two LEDs. */
|
||||
break;
|
||||
}
|
||||
|
|
@ -70,7 +70,7 @@ void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
|
|||
{
|
||||
case 0: LED_PORT_OUT &= ~LED_1;
|
||||
break;
|
||||
|
||||
|
||||
case 1: LED_PORT_OUT &= ~LED_2;
|
||||
break;
|
||||
default: /* Nothing to do here, there are only two LEDs. */
|
||||
|
|
|
|||
|
|
@ -37,12 +37,12 @@
|
|||
IMPORT usRegTest1Counter
|
||||
IMPORT usRegTest2Counter
|
||||
IMPORT vPortYield
|
||||
|
||||
|
||||
EXPORT vRegTest1Task
|
||||
EXPORT vRegTest2Task
|
||||
|
||||
RSEG CODE
|
||||
|
||||
|
||||
EVEN
|
||||
|
||||
vRegTest1Task:
|
||||
|
|
@ -60,7 +60,7 @@ vRegTest1Task:
|
|||
mov_x #0xdddd, r13
|
||||
mov_x #0xeeee, r14
|
||||
mov_x #0xffff, r15
|
||||
|
||||
|
||||
prvRegTest1Loop:
|
||||
|
||||
/* Test each general purpose register to check that it still contains the
|
||||
|
|
@ -90,22 +90,22 @@ prvRegTest1Loop:
|
|||
jne vRegTest1Error
|
||||
cmp_x #0xffff, r15
|
||||
jne vRegTest1Error
|
||||
|
||||
|
||||
/* This task is still running without jumping to vRegTest1Error, so increment
|
||||
the loop counter so the check task knows the task is running error free. */
|
||||
incx.w &usRegTest1Counter
|
||||
|
||||
|
||||
/* Loop again, performing the same tests. */
|
||||
jmp prvRegTest1Loop
|
||||
nop
|
||||
|
||||
|
||||
|
||||
EVEN
|
||||
|
||||
|
||||
vRegTest1Error:
|
||||
jmp vRegTest1Error
|
||||
nop
|
||||
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* See the comments in vRegTest1Task. This task is the same, it just uses
|
||||
|
|
@ -124,7 +124,7 @@ vRegTest2Task:
|
|||
mov_x #0xddd1, r13
|
||||
mov_x #0xeee1, r14
|
||||
mov_x #0xfff1, r15
|
||||
|
||||
|
||||
prvRegTest2Loop:
|
||||
|
||||
cmp_x #0x4441, r4
|
||||
|
|
@ -151,20 +151,20 @@ prvRegTest2Loop:
|
|||
jne vRegTest2Error
|
||||
cmp_x #0xfff1, r15
|
||||
jne vRegTest2Error
|
||||
|
||||
|
||||
/* Also perform a manual yield, just to increase the scope of the test. */
|
||||
calla #vPortYield
|
||||
|
||||
|
||||
incx.w &usRegTest2Counter
|
||||
jmp prvRegTest2Loop
|
||||
nop
|
||||
|
||||
|
||||
|
||||
vRegTest2Error:
|
||||
jmp vRegTest2Error
|
||||
nop
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ unsigned long ulBaudRateCount;
|
|||
|
||||
/* Use SMCLK. */
|
||||
UCA1CTL1 = UCSSEL0 | UCSSEL1;
|
||||
|
||||
|
||||
/* Setup baud rate low byte. */
|
||||
UCA1BR0 = ( unsigned char ) ( ulBaudRateCount & ( unsigned long ) 0xff );
|
||||
|
||||
|
|
@ -89,12 +89,12 @@ unsigned long ulBaudRateCount;
|
|||
|
||||
/* Enable interrupts. */
|
||||
UCA1IE |= UCRXIE;
|
||||
|
||||
|
||||
/* Take out of reset. */
|
||||
UCA1CTL1 &= ~UCSWRST;
|
||||
}
|
||||
portEXIT_CRITICAL();
|
||||
|
||||
|
||||
/* Note the comments at the top of this file about this not being a generic
|
||||
UART driver. */
|
||||
return NULL;
|
||||
|
|
@ -149,7 +149,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
|||
cChar = UCA1RXBUF;
|
||||
xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );
|
||||
}
|
||||
|
||||
|
||||
/* If there is a Tx interrupt pending and the tx interrupts are enabled. */
|
||||
if( ( UCA1IFG & UCTXIFG ) != 0 )
|
||||
{
|
||||
|
|
@ -169,14 +169,14 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
|||
}
|
||||
|
||||
__bic_SR_register_on_exit( SCG1 + SCG0 + OSCOFF + CPUOFF );
|
||||
|
||||
|
||||
/* If writing to a queue caused a task to unblock, and the unblocked task
|
||||
has a priority equal to or above the task that this interrupt interrupted,
|
||||
then lHigherPriorityTaskWoken will have been set to pdTRUE internally within
|
||||
xQueuesendFromISR(), and portEND_SWITCHING_ISR() will ensure that this
|
||||
interrupt returns directly to the higher priority unblocked task.
|
||||
|
||||
THIS MUST BE THE LAST THING DONE IN THE ISR. */
|
||||
|
||||
THIS MUST BE THE LAST THING DONE IN THE ISR. */
|
||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue