]> git.sur5r.net Git - freertos/commitdiff
Convert mov instructions to movs instructions in the GCC Cortex-M0 demo.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 11 Mar 2012 21:31:23 +0000 (21:31 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 11 Mar 2012 21:31:23 +0000 (21:31 +0000)
Update GCC Cortex-M0 CMSISv2p00_LPC11xx/inc/LPC11xx.h.

git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1695 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Demo/CORTEX_M0_LPC1114_LPCXpresso/CMSISv2p00_LPC11xx/inc/LPC11xx.h
Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/.cproject
Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/RegTest.c
Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/main-blinky.c
Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/main.c

index 854f71969f955557099da0631177a172f96521f4..2cd1d38fb8ae6cf81ead20d716623e57e8e30a67 100644 (file)
@@ -1,10 +1,10 @@
 /****************************************************************************\r
- *   $Id:: LPC11xx.h 3635 2010-06-02 00:31:46Z usb00423                     $\r
+ *   $Id:: LPC11xx.h 8860 2011-12-22 23:12:34Z usb00175                     $\r
  *   Project: NXP LPC11xx software example  \r
  *\r
  *   Description:\r
  *     CMSIS Cortex-M0 Core Peripheral Access Layer Header File for \r
- *           NXP LPC11xx Device Series\r
+ *     NXP LPC11xx Device Series \r
  *\r
  ****************************************************************************\r
  * Software that is described herein is for illustrative purposes only\r
@@ -48,7 +48,6 @@
  * ---------- Interrupt Number Definition -----------------------------------\r
  * ==========================================================================\r
  */\r
-\r
 typedef enum IRQn\r
 {\r
 /******  Cortex-M0 Processor Exceptions Numbers ***************************************************/\r
@@ -58,7 +57,7 @@ typedef enum IRQn
   PendSV_IRQn                   = -2,     /*!< 14 Cortex-M0 Pend SV Interrupt                     */\r
   SysTick_IRQn                  = -1,     /*!< 15 Cortex-M0 System Tick Interrupt                 */\r
 \r
-/******  LPC11xx Specific Interrupt Numbers *******************************************************/\r
+/******  LPC11Cxx or LPC11xx Specific Interrupt Numbers *******************************************************/\r
   WAKEUP0_IRQn                  = 0,        /*!< All I/O pins can be used as wakeup source.       */\r
   WAKEUP1_IRQn                  = 1,        /*!< There are 13 pins in total for LPC11xx           */\r
   WAKEUP2_IRQn                  = 2,\r
@@ -81,23 +80,25 @@ typedef enum IRQn
   TIMER_32_1_IRQn               = 19,       /*!< 32-bit Timer1 Interrupt                          */\r
   SSP0_IRQn                     = 20,       /*!< SSP0 Interrupt                                   */\r
   UART_IRQn                     = 21,       /*!< UART Interrupt                                   */\r
+  Reserved0_IRQn                = 22,       /*!< Reserved Interrupt                               */\r
+  Reserved1_IRQn                = 23,       \r
   ADC_IRQn                      = 24,       /*!< A/D Converter Interrupt                          */\r
   WDT_IRQn                      = 25,       /*!< Watchdog timer Interrupt                         */  \r
   BOD_IRQn                      = 26,       /*!< Brown Out Detect(BOD) Interrupt                  */\r
+  FMC_IRQn                      = 27,       /*!< Flash Memory Controller Interrupt                */\r
   EINT3_IRQn                    = 28,       /*!< External Interrupt 3 Interrupt                   */\r
   EINT2_IRQn                    = 29,       /*!< External Interrupt 2 Interrupt                   */\r
   EINT1_IRQn                    = 30,       /*!< External Interrupt 1 Interrupt                   */\r
   EINT0_IRQn                    = 31,       /*!< External Interrupt 0 Interrupt                   */\r
 } IRQn_Type;\r
 \r
-\r
 /*\r
  * ==========================================================================\r
  * ----------- Processor and Core Peripheral Section ------------------------\r
  * ==========================================================================\r
  */\r
 \r
-/* Configuration of the Cortex-M3 Processor and Core Peripherals */\r
+/* Configuration of the Cortex-M0 Processor and Core Peripherals */\r
 #define __MPU_PRESENT             0         /*!< MPU present or not                               */\r
 #define __NVIC_PRIO_BITS          2         /*!< Number of Bits used for Priority Levels          */\r
 #define __Vendor_SysTickConfig    0         /*!< Set to 1 if different SysTick Config is used     */\r
@@ -126,14 +127,14 @@ typedef struct
   __IO uint32_t SYSMEMREMAP;            /*!< Offset: 0x000 System memory remap (R/W) */\r
   __IO uint32_t PRESETCTRL;             /*!< Offset: 0x004 Peripheral reset control (R/W) */\r
   __IO uint32_t SYSPLLCTRL;             /*!< Offset: 0x008 System PLL control (R/W) */\r
-  __IO uint32_t SYSPLLSTAT;             /*!< Offset: 0x00C System PLL status (R/ ) */\r
+  __IO uint32_t SYSPLLSTAT;             /*!< Offset: 0x00C System PLL status (R/W ) */\r
        uint32_t RESERVED0[4];\r
 \r
   __IO uint32_t SYSOSCCTRL;             /*!< Offset: 0x020 System oscillator control (R/W) */\r
   __IO uint32_t WDTOSCCTRL;             /*!< Offset: 0x024 Watchdog oscillator control (R/W) */\r
   __IO uint32_t IRCCTRL;                /*!< Offset: 0x028 IRC control (R/W) */\r
        uint32_t RESERVED1[1];\r
-  __IO uint32_t SYSRESSTAT;             /*!< Offset: 0x030 System reset status Register (R/ ) */\r
+  __IO uint32_t SYSRSTSTAT;             /*!< Offset: 0x030 System reset status Register (R/ ) */\r
        uint32_t RESERVED2[3];\r
   __IO uint32_t SYSPLLCLKSEL;           /*!< Offset: 0x040 System PLL clock source select (R/W) */     \r
   __IO uint32_t SYSPLLCLKUEN;           /*!< Offset: 0x044 System PLL clock source update enable (R/W) */\r
@@ -149,10 +150,7 @@ typedef struct
   __IO uint32_t SSP0CLKDIV;             /*!< Offset: 0x094 SSP0 clock divider (R/W) */          \r
   __IO uint32_t UARTCLKDIV;             /*!< Offset: 0x098 UART clock divider (R/W) */\r
   __IO uint32_t SSP1CLKDIV;             /*!< Offset: 0x09C SSP1 clock divider (R/W) */          \r
-       uint32_t RESERVED6[4];\r
-\r
-  __IO uint32_t SYSTICKCLKDIV;          /*!< Offset: 0x0B0 SYSTICK clock divider (R/W) */          \r
-       uint32_t RESERVED7[7];\r
+       uint32_t RESERVED6[12];\r
 \r
   __IO uint32_t WDTCLKSEL;              /*!< Offset: 0x0D0 WDT clock source select (R/W) */\r
   __IO uint32_t WDTCLKUEN;              /*!< Offset: 0x0D4 WDT clock source update enable (R/W) */\r
@@ -166,27 +164,24 @@ typedef struct
   __IO uint32_t PIOPORCAP0;             /*!< Offset: 0x100 POR captured PIO status 0 (R/ ) */           \r
   __IO uint32_t PIOPORCAP1;             /*!< Offset: 0x104 POR captured PIO status 1 (R/ ) */   \r
        uint32_t RESERVED10[18];\r
-\r
   __IO uint32_t BODCTRL;                /*!< Offset: 0x150 BOD control (R/W) */\r
-       uint32_t RESERVED11[1];\r
-  __IO uint32_t SYSTCKCAL;              /*!< Offset: 0x158 System tick counter calibration (R/W) */\r
-       uint32_t RESERVED12;\r
-  __IO uint32_t MAINREGVOUT0CFG;        /*!< Offset: 0x160 Main Regulator Voltage 0 Configuration */ \r
-  __IO uint32_t MAINREGVOUT1CFG;        /*!< Offset: 0x164 Main Regulator Voltage 1 Configuration */\r
-       uint32_t RESERVED13[38];\r
+  __IO uint32_t SYSTCKCAL;              /*!< Offset: 0x154 System tick counter calibration (R/W) */\r
+       uint32_t RESERVED13[42];\r
 \r
   __IO uint32_t STARTAPRP0;             /*!< Offset: 0x200 Start logic edge control Register 0 (R/W) */     \r
   __IO uint32_t STARTERP0;              /*!< Offset: 0x204 Start logic signal enable Register 0 (R/W) */      \r
-  __IO uint32_t STARTRSRP0CLR;          /*!< Offset: 0x208 Start logic reset Register 0  ( /W) */\r
+  __ uint32_t STARTRSRP0CLR;          /*!< Offset: 0x208 Start logic reset Register 0  ( /W) */\r
   __IO uint32_t STARTSRP0;              /*!< Offset: 0x20C Start logic status Register 0 (R/W) */\r
-       uint32_t RESERVED14[8];\r
+  __IO uint32_t STARTAPRP1;             /*!< Offset: 0x210 Start logic edge control Register 0 (R/W). (LPC11UXX only) */     \r
+  __IO uint32_t STARTERP1;              /*!< Offset: 0x214 Start logic signal enable Register 0 (R/W). (LPC11UXX only) */      \r
+  __O  uint32_t STARTRSRP1CLR;          /*!< Offset: 0x218 Start logic reset Register 0  ( /W). (LPC11UXX only) */\r
+  __IO uint32_t STARTSRP1;              /*!< Offset: 0x21C Start logic status Register 0 (R/W). (LPC11UXX only) */\r
+       uint32_t RESERVED17[4];\r
 \r
   __IO uint32_t PDSLEEPCFG;             /*!< Offset: 0x230 Power-down states in Deep-sleep mode (R/W) */\r
   __IO uint32_t PDAWAKECFG;             /*!< Offset: 0x234 Power-down states after wake-up (R/W) */        \r
   __IO uint32_t PDRUNCFG;               /*!< Offset: 0x238 Power-down configuration Register (R/W) */\r
-       uint32_t RESERVED15[101];\r
-  __O  uint32_t VOUTCFGPROT;            /*!< Offset: 0x3D0 Voltage Output Configuration Protection Register (W) */\r
-       uint32_t RESERVED16[8];\r
+       uint32_t RESERVED15[110];\r
   __I  uint32_t DEVICE_ID;              /*!< Offset: 0x3F4 Device ID (R/ ) */\r
 } LPC_SYSCON_TypeDef;\r
 /*@}*/ /* end of group LPC11xx_SYSCON */\r
@@ -271,6 +266,29 @@ typedef struct
 /*@}*/ /* end of group LPC11xx_PMU */\r
 \r
 \r
+\r
+// ------------------------------------------------------------------------------------------------\r
+// -----                                       FLASHCTRL                                      -----\r
+// ------------------------------------------------------------------------------------------------\r
+\r
+typedef struct {                            /*!< (@ 0x4003C000) FLASHCTRL Structure    */\r
+  __I  uint32_t RESERVED0[4];\r
+  __IO uint32_t FLASHCFG;                   /*!< (@ 0x4003C010) Flash memory access time configuration register */\r
+  __I  uint32_t RESERVED1[3];\r
+  __IO uint32_t FMSSTART;                   /*!< (@ 0x4003C020) Signature start address register */\r
+  __IO uint32_t FMSSTOP;                    /*!< (@ 0x4003C024) Signature stop-address register */\r
+  __I  uint32_t RESERVED2[1];\r
+  __I  uint32_t FMSW0;                      /*!< (@ 0x4003C02C) Word 0 [31:0]          */\r
+  __I  uint32_t FMSW1;                      /*!< (@ 0x4003C030) Word 1 [63:32]         */\r
+  __I  uint32_t FMSW2;                      /*!< (@ 0x4003C034) Word 2 [95:64]         */\r
+  __I  uint32_t FMSW3;                      /*!< (@ 0x4003C038) Word 3 [127:96]        */\r
+  __I  uint32_t RESERVED3[1001];\r
+  __I  uint32_t FMSTAT;                     /*!< (@ 0x4003CFE0) Signature generation status register */\r
+  __I  uint32_t RESERVED4[1];\r
+  __IO uint32_t FMSTATCLR;                  /*!< (@ 0x4003CFE8) Signature generation status clear register */\r
+} LPC_FLASHCTRL_Type;\r
+\r
+\r
 /*------------- General Purpose Input/Output (GPIO) --------------------------*/\r
 /** @addtogroup LPC11xx_GPIO LPC11xx General Purpose Input/Output \r
   @{\r
@@ -296,7 +314,6 @@ typedef struct
 } LPC_GPIO_TypeDef;\r
 /*@}*/ /* end of group LPC11xx_GPIO */\r
 \r
-\r
 /*------------- Timer (TMR) --------------------------------------------------*/\r
 /** @addtogroup LPC11xx_TMR LPC11xx 16/32-bit Counter/Timer \r
   @{\r
@@ -357,7 +374,7 @@ typedef struct
   __IO uint32_t  RS485CTRL;             /*!< Offset: 0x04C RS-485/EIA-485 Control Register (R/W) */\r
   __IO uint32_t  ADRMATCH;              /*!< Offset: 0x050 RS-485/EIA-485 address match Register (R/W) */\r
   __IO uint32_t  RS485DLY;              /*!< Offset: 0x054 RS-485/EIA-485 direction control delay Register (R/W) */\r
-  __I  uint32_t  FIFOLVL;               /*!< Offset: 0x058 FIFO Level Register (R) */\r
+  __I  uint32_t  FIFOLVL;               /*!< Offset: 0x058 FIFO Level Register (R) */\r
 } LPC_UART_TypeDef;\r
 /*@}*/ /* end of group LPC11xx_UART */\r
 \r
@@ -415,11 +432,11 @@ typedef struct
 {\r
   __IO uint32_t MOD;                    /*!< Offset: 0x000 Watchdog mode register (R/W) */\r
   __IO uint32_t TC;                     /*!< Offset: 0x004 Watchdog timer constant register (R/W) */\r
-  __O  uint32_t FEED;                   /*!< Offset: 0x008 Watchdog feed sequence register ( /W) */\r
-  __I  uint32_t TV;                     /*!< Offset: 0x00C Watchdog timer value register (R) */\r
+  __O  uint32_t FEED;                   /*!< Offset: 0x008 Watchdog feed sequence register (W) */\r
+  __I  uint32_t TV;                     /*!< Offset: 0x00C Watchdog timer value register (R) */\r
        uint32_t RESERVED0;\r
-  __IO uint32_t WARNINT;\r
-  __IO uint32_t WINDOW;\r
+  __IO uint32_t WARNINT;                               /*!< Offset: 0x014 Watchdog timer warning int. register (R/W) */\r
+  __IO uint32_t WINDOW;                                        /*!< Offset: 0x018 Watchdog timer window value register (R/W) */\r
 } LPC_WDT_TypeDef;\r
 /*@}*/ /* end of group LPC11xx_WDT */\r
 \r
@@ -477,19 +494,19 @@ typedef struct
   __IO uint32_t IF2_DA2;\r
   __IO uint32_t IF2_DB1;\r
   __IO uint32_t IF2_DB2;\r
-          uint32_t RESERVED2[21];\r
+       uint32_t RESERVED2[21];\r
   __I  uint32_t TXREQ1;                                /* 0x100 */\r
   __I  uint32_t TXREQ2;\r
-          uint32_t RESERVED3[6];\r
+       uint32_t RESERVED3[6];\r
   __I  uint32_t ND1;                           /* 0x120 */\r
   __I  uint32_t ND2;\r
-          uint32_t RESERVED4[6];\r
+       uint32_t RESERVED4[6];\r
   __I  uint32_t IR1;                           /* 0x140 */\r
   __I  uint32_t IR2;\r
-          uint32_t RESERVED5[6];\r
+       uint32_t RESERVED5[6];\r
   __I  uint32_t MSGV1;                         /* 0x160 */\r
   __I  uint32_t MSGV2;\r
-          uint32_t RESERVED6[6];\r
+       uint32_t RESERVED6[6];\r
   __IO uint32_t CLKDIV;                                /* 0x180 */\r
 } LPC_CAN_TypeDef;\r
 /*@}*/ /* end of group LPC11xx_CAN */\r
@@ -517,13 +534,14 @@ typedef struct
 #define LPC_CT32B1_BASE       (LPC_APB0_BASE + 0x18000)\r
 #define LPC_ADC_BASE          (LPC_APB0_BASE + 0x1C000)\r
 #define LPC_PMU_BASE          (LPC_APB0_BASE + 0x38000)\r
+#define LPC_FLASHCTRL_BASE    (LPC_APB0_BASE + 0x3C000)\r
 #define LPC_SSP0_BASE         (LPC_APB0_BASE + 0x40000)\r
 #define LPC_IOCON_BASE        (LPC_APB0_BASE + 0x44000)\r
 #define LPC_SYSCON_BASE       (LPC_APB0_BASE + 0x48000)\r
 #define LPC_CAN_BASE          (LPC_APB0_BASE + 0x50000)\r
 #define LPC_SSP1_BASE         (LPC_APB0_BASE + 0x58000)\r
 \r
-/* AHB peripherals                                                            */       \r
+/* AHB peripherals                                                            */\r
 #define LPC_GPIO_BASE         (LPC_AHB_BASE  + 0x00000)\r
 #define LPC_GPIO0_BASE        (LPC_AHB_BASE  + 0x00000)\r
 #define LPC_GPIO1_BASE        (LPC_AHB_BASE  + 0x10000)\r
@@ -542,6 +560,7 @@ typedef struct
 #define LPC_TMR32B1           ((LPC_TMR_TypeDef    *) LPC_CT32B1_BASE)\r
 #define LPC_ADC               ((LPC_ADC_TypeDef    *) LPC_ADC_BASE   )\r
 #define LPC_PMU               ((LPC_PMU_TypeDef    *) LPC_PMU_BASE   )\r
+#define LPC_FLASHCTRL         ((LPC_FLASHCTRL_Type *) LPC_FLASHCTRL_BASE)\r
 #define LPC_SSP0              ((LPC_SSP_TypeDef    *) LPC_SSP0_BASE  )\r
 #define LPC_SSP1              ((LPC_SSP_TypeDef    *) LPC_SSP1_BASE  )\r
 #define LPC_CAN               ((LPC_CAN_TypeDef    *) LPC_CAN_BASE   )\r
index 171dfbe540b0e95e93394d20a7d36e90c9a16827..3b5e1f1b138d398b53bad39d0ff274a1963014f6 100644 (file)
@@ -33,7 +33,7 @@
                                                                        <listOptionValue builtIn="false" value="__CODE_RED"/>\r
                                                                        <listOptionValue builtIn="false" value="__USE_CMSIS=CMSISv2p00_LPC11xx"/>\r
                                                                </option>\r
-                                                               <option id="gnu.c.compiler.option.misc.other.665206598" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/>\r
+                                                               <option id="gnu.c.compiler.option.misc.other.665206598" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -Wextra" valueType="string"/>\r
                                                                <option id="com.crt.advproject.gcc.hdrlib.1526280672" name="Use headers for C library" superClass="com.crt.advproject.gcc.hdrlib" value="com.crt.advproject.gcc.hdrlib.codered" valueType="enumerated"/>\r
                                                                <option id="gnu.c.compiler.option.include.paths.1158266965" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">\r
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/CMSISv2p00_LPC11xx/inc}&quot;"/>\r
@@ -42,6 +42,7 @@
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Source/FreeRTOS_Source/include}&quot;"/>\r
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Source/FreeRTOS_Source/portable/GCC/ARM_CM0}&quot;"/>\r
                                                                </option>\r
+                                                               <option id="com.crt.advproject.gcc.exe.debug.option.optimization.level.1231366448" name="Optimization Level" superClass="com.crt.advproject.gcc.exe.debug.option.optimization.level" value="gnu.c.optimization.level.none" valueType="enumerated"/>\r
                                                                <inputType id="com.crt.advproject.compiler.input.267740966" superClass="com.crt.advproject.compiler.input"/>\r
                                                        </tool>\r
                                                        <tool id="com.crt.advproject.gas.exe.debug.1771792905" name="MCU Assembler" superClass="com.crt.advproject.gas.exe.debug">\r
index 61ac4115442ddfdaac19575d51e0a87b659f122c..b847d79f587ce7f952ee9af4c003894ea574b5fb 100644 (file)
@@ -61,24 +61,24 @@ void vRegTest1Task( void )
                ".extern ulRegTest1LoopCounter          \n"\r
                "                                                                       \n"\r
                "       /* Fill the core registers with known values. */ \n"\r
-               "       mov r1, #101                                    \n"\r
-               "       mov r2, #102                                    \n"\r
-               "       mov r3, #103                                    \n"\r
-               "       mov     r4, #104                                        \n"\r
-               "       mov     r5, #105                                        \n"\r
-               "       mov     r6, #106                                        \n"\r
-               "       mov r7, #107                                    \n"\r
-               "       mov r0, #108                                    \n"\r
-               "       mov     r8, r0                                          \n"\r
-               "       mov     r0, #109                                        \n"\r
-               "       mov r9, r0                                              \n"\r
-               "       mov r0, #110                                    \n"\r
-               "       mov     r10, r0                                         \n"\r
-               "       mov r0, #111                                    \n"\r
-               "       mov     r11, r0                                         \n"\r
-               "       mov r0, #112                                    \n"\r
-               "       mov r12, r0                                             \n"\r
-               "       mov r0, #100                                    \n"\r
+               "       movs r1, #101                                   \n"\r
+               "       movs r2, #102                                   \n"\r
+               "       movs r3, #103                                   \n"\r
+               "       movs r4, #104                                   \n"\r
+               "       movs r5, #105                                   \n"\r
+               "       movs r6, #106                                   \n"\r
+               "       movs r7, #107                                   \n"\r
+               "       movs r0, #108                                   \n"\r
+               "       mov      r8, r0                                         \n"\r
+               "       movs r0, #109                                   \n"\r
+               "       mov  r9, r0                                             \n"\r
+               "       movs r0, #110                                   \n"\r
+               "       mov      r10, r0                                        \n"\r
+               "       movs r0, #111                                   \n"\r
+               "       mov      r11, r0                                        \n"\r
+               "       movs r0, #112                                   \n"\r
+               "       mov  r12, r0                                    \n"\r
+               "       movs r0, #100                                   \n"\r
                "                                                                       \n"\r
                "reg1_loop:                                                     \n"\r
                "                                                                       \n"\r
@@ -98,19 +98,19 @@ void vRegTest1Task( void )
                "       bne     reg1_error_loop                         \n"\r
                "       cmp     r7, #107                                        \n"\r
                "       bne     reg1_error_loop                         \n"\r
-               "       mov r0, #108                                    \n"\r
+               "       movs r0, #108                                   \n"\r
                "       cmp     r8, r0                                          \n"\r
                "       bne     reg1_error_loop                         \n"\r
-               "       mov r0, #109                                    \n"\r
+               "       movs r0, #109                                   \n"\r
                "       cmp     r9, r0                                          \n"\r
                "       bne     reg1_error_loop                         \n"\r
-               "       mov r0, #110                                    \n"\r
+               "       movs r0, #110                                   \n"\r
                "       cmp     r10, r0                                         \n"\r
                "       bne     reg1_error_loop                         \n"\r
-               "       mov r0, #111                                    \n"\r
+               "       movs r0, #111                                   \n"\r
                "       cmp     r11, r0                                         \n"\r
                "       bne     reg1_error_loop                         \n"\r
-               "       mov r0, #112                                    \n"\r
+               "       movs r0, #112                                   \n"\r
                "       cmp     r12, r0                                         \n"\r
                "       bne     reg1_error_loop                         \n"\r
                "                                                                       \n"\r
@@ -123,7 +123,7 @@ void vRegTest1Task( void )
                "       pop { r1 }                                              \n"\r
                "                                                                       \n"\r
                "       /* Start again. */                              \n"\r
-               "       mov r0, #100                                    \n"\r
+               "       movs r0, #100                                   \n"\r
                "       b reg1_loop                                             \n"\r
                "                                                                       \n"\r
                "reg1_error_loop:                                       \n"\r
@@ -142,24 +142,24 @@ void vRegTest2Task( void )
                ".extern ulRegTest2LoopCounter          \n"\r
                "                                                                       \n"\r
                "       /* Fill the core registers with known values. */ \n"\r
-               "       mov r1, #1                                              \n"\r
-               "       mov r2, #2                                              \n"\r
-               "       mov r3, #3                                              \n"\r
-               "       mov     r4, #4                                          \n"\r
-               "       mov     r5, #5                                          \n"\r
-               "       mov     r6, #6                                          \n"\r
-               "       mov r7, #7                                              \n"\r
-               "       mov r0, #8                                              \n"\r
-               "       mov     r8, r0                                          \n"\r
-               "       mov     r0, #9                                          \n"\r
-               "       mov r9, r0                                              \n"\r
-               "       mov r0, #10                                             \n"\r
-               "       mov     r10, r0                                         \n"\r
-               "       mov r0, #11                                             \n"\r
-               "       mov     r11, r0                                         \n"\r
-               "       mov r0, #12                                             \n"\r
-               "       mov r12, r0                                             \n"\r
-               "       mov r0, #10                                             \n"\r
+               "       movs r1, #1                                             \n"\r
+               "       movs r2, #2                                             \n"\r
+               "       movs r3, #3                                             \n"\r
+               "       movs r4, #4                                             \n"\r
+               "       movs r5, #5                                             \n"\r
+               "       movs r6, #6                                             \n"\r
+               "       movs r7, #7                                             \n"\r
+               "       movs r0, #8                                             \n"\r
+               "       movs r8, r0                                             \n"\r
+               "       movs r0, #9                                             \n"\r
+               "       mov  r9, r0                                             \n"\r
+               "       movs r0, #10                                    \n"\r
+               "       mov      r10, r0                                        \n"\r
+               "       movs r0, #11                                    \n"\r
+               "       mov      r11, r0                                        \n"\r
+               "       movs r0, #12                                    \n"\r
+               "       mov  r12, r0                                    \n"\r
+               "       movs r0, #10                                    \n"\r
                "                                                                       \n"\r
                "reg2_loop:                                                     \n"\r
                "                                                                       \n"\r
@@ -179,19 +179,19 @@ void vRegTest2Task( void )
                "       bne     reg2_error_loop                         \n"\r
                "       cmp     r7, #7                                          \n"\r
                "       bne     reg2_error_loop                         \n"\r
-               "       mov r0, #8                                              \n"\r
+               "       movs r0, #8                                             \n"\r
                "       cmp     r8, r0                                          \n"\r
                "       bne     reg2_error_loop                         \n"\r
-               "       mov r0, #9                                              \n"\r
+               "       movs r0, #9                                             \n"\r
                "       cmp     r9, r0                                          \n"\r
                "       bne     reg2_error_loop                         \n"\r
-               "       mov r0, #10                                             \n"\r
+               "       movs r0, #10                                    \n"\r
                "       cmp     r10, r0                                         \n"\r
                "       bne     reg2_error_loop                         \n"\r
-               "       mov r0, #11                                             \n"\r
+               "       movs r0, #11                                    \n"\r
                "       cmp     r11, r0                                         \n"\r
                "       bne     reg2_error_loop                         \n"\r
-               "       mov r0, #12                                             \n"\r
+               "       movs r0, #12                                    \n"\r
                "       cmp     r12, r0                                         \n"\r
                "       bne     reg2_error_loop                         \n"\r
                "                                                                       \n"\r
@@ -204,7 +204,7 @@ void vRegTest2Task( void )
                "       pop { r1 }                                              \n"\r
                "                                                                       \n"\r
                "       /* Start again. */                              \n"\r
-               "       mov r0, #10                                             \n"\r
+               "       movs r0, #10                                    \n"\r
                "       b reg2_loop                                             \n"\r
                "                                                                       \n"\r
                "reg2_error_loop:                                       \n"\r
index bb0aa9b031867d9a62b3e97b6c1142c894da13ce..66a2e71045fb29229e2fa2ba994a90494a670871 100644 (file)
@@ -63,8 +63,8 @@
  * required to configure the hardware, are defined in main.c.\r
  ******************************************************************************\r
  *\r
- * main_blinky() creates one software timer, one queue, and two tasks.  It then\r
- * starts the scheduler.\r
+ * main_blinky() creates one queue, and two tasks.  It then starts the \r
+ * scheduler.\r
  *\r
  * The Queue Send Task:\r
  * The queue send task is implemented by the prvQueueSendTask() function in\r
index da6f3ea137b1618beefda3828561ff6143e279af..3c7cc63beafacac23aadf3754568b5d98bb4c9ab 100644 (file)
@@ -265,7 +265,8 @@ long lHigherPriorityTaskWoken = pdFALSE;
 \r
        /* This interrupt does nothing more than demonstrate how to synchronise a\r
        task with an interrupt.  A semaphore is used for this purpose.  Note\r
-       lHigherPriorityTaskWoken is initialised to zero. */\r
+       lHigherPriorityTaskWoken is initialised to zero.  Only FreeRTOS API functions\r
+       that end in "FromISR" can be called from an ISR. */\r
        xSemaphoreGiveFromISR( xTestSemaphore, &lHigherPriorityTaskWoken );\r
 \r
        /* If there was a task that was blocked on the semaphore, and giving the\r