Prechádzať zdrojové kódy

CMSIS-DSP: Improved boot code for IPSS in test framework.

Christophe Favergeon 5 rokov pred
rodič
commit
346e992cab

+ 6 - 5
CMSIS/DSP/Platforms/IPSS/ARMCM0/LinkScripts/AC6/lnk.sct

@@ -13,17 +13,18 @@ LOAD_REGION 0x0
     {
         *.o (RESET, +First)
         * (InRoot$$$Sections)
-        * (+RO)                             
+        * (+RO-CODE)                              
     }
 
-    DATA 0x20000000 0x4000
+    DATA 0x20000000 0x7000
     {
-  * (+RW,+ZI)                         
+    * (+RO-DATA)
+    * (+RW,+ZI)                         
     }
 
-    ARM_LIB_STACK 0x20006000 ALIGN 64 EMPTY -0x00002000  
+    ARM_LIB_STACK 0x2000C000 ALIGN 64 EMPTY -0x00002000  
     {}
-    ARM_LIB_HEAP 0x20006000 ALIGN 64 EMPTY 0x0050000 
+    ARM_LIB_HEAP 0x2000C000 ALIGN 64 EMPTY 0x0050000 
     {}
 }
 

+ 2 - 1
CMSIS/DSP/Platforms/IPSS/ARMCM0/system_ARMCM0.c

@@ -70,7 +70,8 @@ void SystemInit (void)
 
 int stdout_putchar(char txchar)
 {
-    SERIAL_DATA = txchar;                     
+    SERIAL_DATA = txchar;   
+    return(txchar);                  
 }
 
 int stderr_putchar(char txchar)

+ 6 - 5
CMSIS/DSP/Platforms/IPSS/ARMCM33/LinkScripts/AC6/lnk.sct

@@ -12,20 +12,21 @@
 
 LOAD_REGION 0x0
 {
-    CODE +0 0x0007ffff
+    CODE +0 0x30000
     {
         *.o (RESET, +First)
         * (InRoot$$$Sections)
-        * (+RO)                             
+        * (+RO-CODE)                                
     }
 
-    DATA 0x20000000 0x4000
+    DATA 0x20000000 0x7000
     {
+    * (+RO-DATA)
     * (+RW,+ZI)                         
     }
 
-    ARM_LIB_STACK 0x20006000 ALIGN 64 EMPTY -0x00002000 
+    ARM_LIB_STACK 0x2000C000 ALIGN 64 EMPTY -0x00002000 
     {}
-    ARM_LIB_HEAP  0x20006000 ALIGN 64 EMPTY 0x0050000 
+    ARM_LIB_HEAP  0x2000C000 ALIGN 64 EMPTY 0x00050000 
     {}
 }

+ 2 - 1
CMSIS/DSP/Platforms/IPSS/ARMCM33/system_ARMCM33.c

@@ -255,7 +255,8 @@ typedef struct
 
 int stdout_putchar(char txchar)
 {
-    SERIAL_DATA = txchar;                     
+    SERIAL_DATA = txchar;    
+    return(txchar);                 
 }
 
 int stderr_putchar(char txchar)

+ 2 - 1
CMSIS/DSP/Platforms/IPSS/ARMCM4/system_ARMCM4.c

@@ -70,7 +70,8 @@ uint32_t SystemCoreClock = SYSTEM_CLOCK;  /* System Core Clock Frequency */
 
 int stdout_putchar(char txchar)
 {
-    SERIAL_DATA = txchar;                     
+    SERIAL_DATA = txchar;   
+    return(txchar);                  
 }
 
 int stderr_putchar(char txchar)

+ 2 - 2
CMSIS/DSP/Platforms/IPSS/ARMCM7/LinkScripts/AC6/lnk.sct

@@ -22,9 +22,9 @@ LOAD_REGION 0x0
 	* (+RW,+ZI)                         
     }
 
-    ARM_LIB_STACK 0x21000000 ALIGN 64 EMPTY 0x00002000 
+    ARM_LIB_STACK 0x20100000 ALIGN 64 EMPTY -0x00002000 
     {}
-    ARM_LIB_HEAP 0x22000000 ALIGN 64 EMPTY 0x00100000 
+    ARM_LIB_HEAP 0x20100000 ALIGN 64 EMPTY 0x00100000 
     {}
 }
 

+ 2 - 1
CMSIS/DSP/Platforms/IPSS/ARMCM7/system_ARMCM7.c

@@ -82,7 +82,8 @@ void SystemCoreClockUpdate (void)
 
 int stdout_putchar(char txchar)
 {
-    SERIAL_DATA = txchar;                     
+    SERIAL_DATA = txchar;    
+    return(txchar);                 
 }
 
 int stderr_putchar(char txchar)