mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-01 11:53:53 -04:00
Convert mov instructions to movs instructions in the GCC Cortex-M0 demo.
Update GCC Cortex-M0 CMSISv2p00_LPC11xx/inc/LPC11xx.h.
This commit is contained in:
parent
b86d821bc1
commit
14f2b70797
5 changed files with 109 additions and 88 deletions
|
@ -61,24 +61,24 @@ void vRegTest1Task( void )
|
|||
".extern ulRegTest1LoopCounter \n"
|
||||
" \n"
|
||||
" /* Fill the core registers with known values. */ \n"
|
||||
" mov r1, #101 \n"
|
||||
" mov r2, #102 \n"
|
||||
" mov r3, #103 \n"
|
||||
" mov r4, #104 \n"
|
||||
" mov r5, #105 \n"
|
||||
" mov r6, #106 \n"
|
||||
" mov r7, #107 \n"
|
||||
" mov r0, #108 \n"
|
||||
" mov r8, r0 \n"
|
||||
" mov r0, #109 \n"
|
||||
" mov r9, r0 \n"
|
||||
" mov r0, #110 \n"
|
||||
" mov r10, r0 \n"
|
||||
" mov r0, #111 \n"
|
||||
" mov r11, r0 \n"
|
||||
" mov r0, #112 \n"
|
||||
" mov r12, r0 \n"
|
||||
" mov r0, #100 \n"
|
||||
" movs r1, #101 \n"
|
||||
" movs r2, #102 \n"
|
||||
" movs r3, #103 \n"
|
||||
" movs r4, #104 \n"
|
||||
" movs r5, #105 \n"
|
||||
" movs r6, #106 \n"
|
||||
" movs r7, #107 \n"
|
||||
" movs r0, #108 \n"
|
||||
" mov r8, r0 \n"
|
||||
" movs r0, #109 \n"
|
||||
" mov r9, r0 \n"
|
||||
" movs r0, #110 \n"
|
||||
" mov r10, r0 \n"
|
||||
" movs r0, #111 \n"
|
||||
" mov r11, r0 \n"
|
||||
" movs r0, #112 \n"
|
||||
" mov r12, r0 \n"
|
||||
" movs r0, #100 \n"
|
||||
" \n"
|
||||
"reg1_loop: \n"
|
||||
" \n"
|
||||
|
@ -98,19 +98,19 @@ void vRegTest1Task( void )
|
|||
" bne reg1_error_loop \n"
|
||||
" cmp r7, #107 \n"
|
||||
" bne reg1_error_loop \n"
|
||||
" mov r0, #108 \n"
|
||||
" movs r0, #108 \n"
|
||||
" cmp r8, r0 \n"
|
||||
" bne reg1_error_loop \n"
|
||||
" mov r0, #109 \n"
|
||||
" movs r0, #109 \n"
|
||||
" cmp r9, r0 \n"
|
||||
" bne reg1_error_loop \n"
|
||||
" mov r0, #110 \n"
|
||||
" movs r0, #110 \n"
|
||||
" cmp r10, r0 \n"
|
||||
" bne reg1_error_loop \n"
|
||||
" mov r0, #111 \n"
|
||||
" movs r0, #111 \n"
|
||||
" cmp r11, r0 \n"
|
||||
" bne reg1_error_loop \n"
|
||||
" mov r0, #112 \n"
|
||||
" movs r0, #112 \n"
|
||||
" cmp r12, r0 \n"
|
||||
" bne reg1_error_loop \n"
|
||||
" \n"
|
||||
|
@ -123,7 +123,7 @@ void vRegTest1Task( void )
|
|||
" pop { r1 } \n"
|
||||
" \n"
|
||||
" /* Start again. */ \n"
|
||||
" mov r0, #100 \n"
|
||||
" movs r0, #100 \n"
|
||||
" b reg1_loop \n"
|
||||
" \n"
|
||||
"reg1_error_loop: \n"
|
||||
|
@ -142,24 +142,24 @@ void vRegTest2Task( void )
|
|||
".extern ulRegTest2LoopCounter \n"
|
||||
" \n"
|
||||
" /* Fill the core registers with known values. */ \n"
|
||||
" mov r1, #1 \n"
|
||||
" mov r2, #2 \n"
|
||||
" mov r3, #3 \n"
|
||||
" mov r4, #4 \n"
|
||||
" mov r5, #5 \n"
|
||||
" mov r6, #6 \n"
|
||||
" mov r7, #7 \n"
|
||||
" mov r0, #8 \n"
|
||||
" mov r8, r0 \n"
|
||||
" mov r0, #9 \n"
|
||||
" mov r9, r0 \n"
|
||||
" mov r0, #10 \n"
|
||||
" mov r10, r0 \n"
|
||||
" mov r0, #11 \n"
|
||||
" mov r11, r0 \n"
|
||||
" mov r0, #12 \n"
|
||||
" mov r12, r0 \n"
|
||||
" mov r0, #10 \n"
|
||||
" movs r1, #1 \n"
|
||||
" movs r2, #2 \n"
|
||||
" movs r3, #3 \n"
|
||||
" movs r4, #4 \n"
|
||||
" movs r5, #5 \n"
|
||||
" movs r6, #6 \n"
|
||||
" movs r7, #7 \n"
|
||||
" movs r0, #8 \n"
|
||||
" movs r8, r0 \n"
|
||||
" movs r0, #9 \n"
|
||||
" mov r9, r0 \n"
|
||||
" movs r0, #10 \n"
|
||||
" mov r10, r0 \n"
|
||||
" movs r0, #11 \n"
|
||||
" mov r11, r0 \n"
|
||||
" movs r0, #12 \n"
|
||||
" mov r12, r0 \n"
|
||||
" movs r0, #10 \n"
|
||||
" \n"
|
||||
"reg2_loop: \n"
|
||||
" \n"
|
||||
|
@ -179,19 +179,19 @@ void vRegTest2Task( void )
|
|||
" bne reg2_error_loop \n"
|
||||
" cmp r7, #7 \n"
|
||||
" bne reg2_error_loop \n"
|
||||
" mov r0, #8 \n"
|
||||
" movs r0, #8 \n"
|
||||
" cmp r8, r0 \n"
|
||||
" bne reg2_error_loop \n"
|
||||
" mov r0, #9 \n"
|
||||
" movs r0, #9 \n"
|
||||
" cmp r9, r0 \n"
|
||||
" bne reg2_error_loop \n"
|
||||
" mov r0, #10 \n"
|
||||
" movs r0, #10 \n"
|
||||
" cmp r10, r0 \n"
|
||||
" bne reg2_error_loop \n"
|
||||
" mov r0, #11 \n"
|
||||
" movs r0, #11 \n"
|
||||
" cmp r11, r0 \n"
|
||||
" bne reg2_error_loop \n"
|
||||
" mov r0, #12 \n"
|
||||
" movs r0, #12 \n"
|
||||
" cmp r12, r0 \n"
|
||||
" bne reg2_error_loop \n"
|
||||
" \n"
|
||||
|
@ -204,7 +204,7 @@ void vRegTest2Task( void )
|
|||
" pop { r1 } \n"
|
||||
" \n"
|
||||
" /* Start again. */ \n"
|
||||
" mov r0, #10 \n"
|
||||
" movs r0, #10 \n"
|
||||
" b reg2_loop \n"
|
||||
" \n"
|
||||
"reg2_error_loop: \n"
|
||||
|
|
|
@ -63,8 +63,8 @@
|
|||
* required to configure the hardware, are defined in main.c.
|
||||
******************************************************************************
|
||||
*
|
||||
* main_blinky() creates one software timer, one queue, and two tasks. It then
|
||||
* starts the scheduler.
|
||||
* main_blinky() creates one queue, and two tasks. It then starts the
|
||||
* scheduler.
|
||||
*
|
||||
* The Queue Send Task:
|
||||
* The queue send task is implemented by the prvQueueSendTask() function in
|
||||
|
|
|
@ -265,7 +265,8 @@ long lHigherPriorityTaskWoken = pdFALSE;
|
|||
|
||||
/* This interrupt does nothing more than demonstrate how to synchronise a
|
||||
task with an interrupt. A semaphore is used for this purpose. Note
|
||||
lHigherPriorityTaskWoken is initialised to zero. */
|
||||
lHigherPriorityTaskWoken is initialised to zero. Only FreeRTOS API functions
|
||||
that end in "FromISR" can be called from an ISR. */
|
||||
xSemaphoreGiveFromISR( xTestSemaphore, &lHigherPriorityTaskWoken );
|
||||
|
||||
/* If there was a task that was blocked on the semaphore, and giving the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue