Repository: incubator-mynewt-core
Updated Branches:
  refs/heads/develop af9ffab13 -> 39eecc841


Zero BSS in Reset_Handler_split

This commit piggybacks on fded8a353024770f591b39bb4508bb9fafc99352.
That commit zeros BSS for non-split images.  This commit zeroes BSS for
split images.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/39eecc84
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/39eecc84
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/39eecc84

Branch: refs/heads/develop
Commit: 39eecc84141da9ec1b71b5a064f83ae996cf5e3f
Parents: af9ffab
Author: Christopher Collins <[email protected]>
Authored: Tue Jan 10 17:17:20 2017 -0800
Committer: Christopher Collins <[email protected]>
Committed: Tue Jan 10 17:17:20 2017 -0800

----------------------------------------------------------------------
 .../src/arch/cortex_m4/gcc_startup_nrf52_split.s          | 10 ++++++++++
 .../src/arch/cortex_m4/gcc_startup_nrf52_split.s          | 10 ++++++++++
 .../src/arch/cortex_m0/gcc_startup_nrf51_split.s          | 10 ++++++++++
 .../src/arch/cortex_m0/gcc_startup_nrf51_split.s          | 10 ++++++++++
 .../nrf51dk/src/arch/cortex_m0/gcc_startup_nrf51_split.s  | 10 ++++++++++
 .../src/arch/cortex_m4/gcc_startup_nrf52_split.s          | 10 ++++++++++
 .../nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52_split.s  | 10 ++++++++++
 .../rb-nano2/src/arch/cortex_m4/gcc_startup_nrf52_split.s | 10 ++++++++++
 8 files changed, 80 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/39eecc84/hw/bsp/arduino_primo_nrf52/src/arch/cortex_m4/gcc_startup_nrf52_split.s
----------------------------------------------------------------------
diff --git 
a/hw/bsp/arduino_primo_nrf52/src/arch/cortex_m4/gcc_startup_nrf52_split.s 
b/hw/bsp/arduino_primo_nrf52/src/arch/cortex_m4/gcc_startup_nrf52_split.s
index 5ed4bc6..51899e3 100755
--- a/hw/bsp/arduino_primo_nrf52/src/arch/cortex_m4/gcc_startup_nrf52_split.s
+++ b/hw/bsp/arduino_primo_nrf52/src/arch/cortex_m4/gcc_startup_nrf52_split.s
@@ -83,6 +83,16 @@ __isr_vector_split:
 Reset_Handler_split:
     .fnstart
 
+    /* Clear BSS */
+    mov     r0, #0
+    ldr     r2, =__bss_start__
+    ldr     r3, =__bss_end__
+.bss_zero_loop:
+    cmp     r2, r3
+    itt     lt
+    strlt   r0, [r2], #4
+    blt    .bss_zero_loop
+
 
 /*     Loop to copy data from read only memory to RAM. The ranges
  *      of copy from/to are specified by following symbols evaluated in

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/39eecc84/hw/bsp/bmd300eval/src/arch/cortex_m4/gcc_startup_nrf52_split.s
----------------------------------------------------------------------
diff --git a/hw/bsp/bmd300eval/src/arch/cortex_m4/gcc_startup_nrf52_split.s 
b/hw/bsp/bmd300eval/src/arch/cortex_m4/gcc_startup_nrf52_split.s
index 5ed4bc6..51899e3 100755
--- a/hw/bsp/bmd300eval/src/arch/cortex_m4/gcc_startup_nrf52_split.s
+++ b/hw/bsp/bmd300eval/src/arch/cortex_m4/gcc_startup_nrf52_split.s
@@ -83,6 +83,16 @@ __isr_vector_split:
 Reset_Handler_split:
     .fnstart
 
+    /* Clear BSS */
+    mov     r0, #0
+    ldr     r2, =__bss_start__
+    ldr     r3, =__bss_end__
+.bss_zero_loop:
+    cmp     r2, r3
+    itt     lt
+    strlt   r0, [r2], #4
+    blt    .bss_zero_loop
+
 
 /*     Loop to copy data from read only memory to RAM. The ranges
  *      of copy from/to are specified by following symbols evaluated in

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/39eecc84/hw/bsp/nrf51-blenano/src/arch/cortex_m0/gcc_startup_nrf51_split.s
----------------------------------------------------------------------
diff --git a/hw/bsp/nrf51-blenano/src/arch/cortex_m0/gcc_startup_nrf51_split.s 
b/hw/bsp/nrf51-blenano/src/arch/cortex_m0/gcc_startup_nrf51_split.s
index 1cbe305..e3c634e 100755
--- a/hw/bsp/nrf51-blenano/src/arch/cortex_m0/gcc_startup_nrf51_split.s
+++ b/hw/bsp/nrf51-blenano/src/arch/cortex_m0/gcc_startup_nrf51_split.s
@@ -88,6 +88,16 @@ __isr_vector_split:
 Reset_Handler_split:
     .fnstart
 
+    /* Clear BSS */
+    mov     r0, #0
+    ldr     r2, =__bss_start__
+    ldr     r3, =__bss_end__
+.bss_zero_loop:
+    cmp     r2, r3
+    itt     lt
+    strlt   r0, [r2], #4
+    blt    .bss_zero_loop
+
 /* Make sure ALL RAM banks are powered on */
     MOVS    R1, #NRF_POWER_RAMONx_RAMxON_ONMODE_Msk
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/39eecc84/hw/bsp/nrf51dk-16kbram/src/arch/cortex_m0/gcc_startup_nrf51_split.s
----------------------------------------------------------------------
diff --git 
a/hw/bsp/nrf51dk-16kbram/src/arch/cortex_m0/gcc_startup_nrf51_split.s 
b/hw/bsp/nrf51dk-16kbram/src/arch/cortex_m0/gcc_startup_nrf51_split.s
index 06ce64d..7b2d3d5 100755
--- a/hw/bsp/nrf51dk-16kbram/src/arch/cortex_m0/gcc_startup_nrf51_split.s
+++ b/hw/bsp/nrf51dk-16kbram/src/arch/cortex_m0/gcc_startup_nrf51_split.s
@@ -88,6 +88,16 @@ __isr_vector_split:
 Reset_Handler_split:
     .fnstart
 
+    /* Clear BSS */
+    mov     r0, #0
+    ldr     r2, =__bss_start__
+    ldr     r3, =__bss_end__
+.bss_zero_loop:
+    cmp     r2, r3
+    itt     lt
+    strlt   r0, [r2], #4
+    blt    .bss_zero_loop
+
 /* Make sure ALL RAM banks are powered on */
     MOVS    R1, #NRF_POWER_RAMONx_RAMxON_ONMODE_Msk
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/39eecc84/hw/bsp/nrf51dk/src/arch/cortex_m0/gcc_startup_nrf51_split.s
----------------------------------------------------------------------
diff --git a/hw/bsp/nrf51dk/src/arch/cortex_m0/gcc_startup_nrf51_split.s 
b/hw/bsp/nrf51dk/src/arch/cortex_m0/gcc_startup_nrf51_split.s
index 1cbe305..e3c634e 100755
--- a/hw/bsp/nrf51dk/src/arch/cortex_m0/gcc_startup_nrf51_split.s
+++ b/hw/bsp/nrf51dk/src/arch/cortex_m0/gcc_startup_nrf51_split.s
@@ -88,6 +88,16 @@ __isr_vector_split:
 Reset_Handler_split:
     .fnstart
 
+    /* Clear BSS */
+    mov     r0, #0
+    ldr     r2, =__bss_start__
+    ldr     r3, =__bss_end__
+.bss_zero_loop:
+    cmp     r2, r3
+    itt     lt
+    strlt   r0, [r2], #4
+    blt    .bss_zero_loop
+
 /* Make sure ALL RAM banks are powered on */
     MOVS    R1, #NRF_POWER_RAMONx_RAMxON_ONMODE_Msk
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/39eecc84/hw/bsp/nrf52840pdk/src/arch/cortex_m4/gcc_startup_nrf52_split.s
----------------------------------------------------------------------
diff --git a/hw/bsp/nrf52840pdk/src/arch/cortex_m4/gcc_startup_nrf52_split.s 
b/hw/bsp/nrf52840pdk/src/arch/cortex_m4/gcc_startup_nrf52_split.s
index 2afbfca..c9b7784 100755
--- a/hw/bsp/nrf52840pdk/src/arch/cortex_m4/gcc_startup_nrf52_split.s
+++ b/hw/bsp/nrf52840pdk/src/arch/cortex_m4/gcc_startup_nrf52_split.s
@@ -84,6 +84,16 @@ __isr_vector_split:
 Reset_Handler_split:
     .fnstart
 
+    /* Clear BSS */
+    mov     r0, #0
+    ldr     r2, =__bss_start__
+    ldr     r3, =__bss_end__
+.bss_zero_loop:
+    cmp     r2, r3
+    itt     lt
+    strlt   r0, [r2], #4
+    blt    .bss_zero_loop
+
 
 /*     Loop to copy data from read only memory to RAM. The ranges
  *      of copy from/to are specified by following symbols evaluated in

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/39eecc84/hw/bsp/nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52_split.s
----------------------------------------------------------------------
diff --git a/hw/bsp/nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52_split.s 
b/hw/bsp/nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52_split.s
index 5ed4bc6..51899e3 100755
--- a/hw/bsp/nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52_split.s
+++ b/hw/bsp/nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52_split.s
@@ -83,6 +83,16 @@ __isr_vector_split:
 Reset_Handler_split:
     .fnstart
 
+    /* Clear BSS */
+    mov     r0, #0
+    ldr     r2, =__bss_start__
+    ldr     r3, =__bss_end__
+.bss_zero_loop:
+    cmp     r2, r3
+    itt     lt
+    strlt   r0, [r2], #4
+    blt    .bss_zero_loop
+
 
 /*     Loop to copy data from read only memory to RAM. The ranges
  *      of copy from/to are specified by following symbols evaluated in

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/39eecc84/hw/bsp/rb-nano2/src/arch/cortex_m4/gcc_startup_nrf52_split.s
----------------------------------------------------------------------
diff --git a/hw/bsp/rb-nano2/src/arch/cortex_m4/gcc_startup_nrf52_split.s 
b/hw/bsp/rb-nano2/src/arch/cortex_m4/gcc_startup_nrf52_split.s
index 5ed4bc6..51899e3 100755
--- a/hw/bsp/rb-nano2/src/arch/cortex_m4/gcc_startup_nrf52_split.s
+++ b/hw/bsp/rb-nano2/src/arch/cortex_m4/gcc_startup_nrf52_split.s
@@ -83,6 +83,16 @@ __isr_vector_split:
 Reset_Handler_split:
     .fnstart
 
+    /* Clear BSS */
+    mov     r0, #0
+    ldr     r2, =__bss_start__
+    ldr     r3, =__bss_end__
+.bss_zero_loop:
+    cmp     r2, r3
+    itt     lt
+    strlt   r0, [r2], #4
+    blt    .bss_zero_loop
+
 
 /*     Loop to copy data from read only memory to RAM. The ranges
  *      of copy from/to are specified by following symbols evaluated in

Reply via email to