This is an automated email from the ASF dual-hosted git repository.

jerzy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git

commit 11a237506bfda923c47b5127de7078d19f99d356
Author: Jerzy Kasenberg <jerzy.kasenb...@codecoup.pl>
AuthorDate: Thu Feb 1 09:25:31 2024 +0100

    hw/bsp: Add common startup support for nrf52
    
    This modifies all nrf52 BSPs to support common startup code
    
    All .cmd files removed
    
    Signed-off-by: Jerzy Kasenberg <jerzy.kasenb...@codecoup.pl>
---
 .../ada_feather_nrf52/ada_feather_nrf52_debug.cmd  |  22 --
 .../ada_feather_nrf52_download.cmd                 |  22 --
 hw/bsp/ada_feather_nrf52/bsp.yml                   |   9 +-
 hw/bsp/ada_feather_nrf52/pkg.yml                   |   1 +
 hw/bsp/ada_feather_nrf52/syscfg.yml                |   3 +
 hw/bsp/arduino_primo_nrf52/bsp.yml                 |   9 +-
 hw/bsp/arduino_primo_nrf52/pkg.yml                 |   1 +
 hw/bsp/arduino_primo_nrf52/primo_debug.cmd         |  22 --
 hw/bsp/arduino_primo_nrf52/primo_download.cmd      |  22 --
 hw/bsp/arduino_primo_nrf52/syscfg.yml              |   3 +
 hw/bsp/bmd300eval/bmd300eval_debug.cmd             |  22 --
 hw/bsp/bmd300eval/bmd300eval_download.cmd          |  22 --
 hw/bsp/bmd300eval/bsp.yml                          |   9 +-
 hw/bsp/bmd300eval/pkg.yml                          |   1 +
 hw/bsp/bmd300eval/syscfg.yml                       |   3 +
 hw/bsp/dwm1001-dev/bsp.yml                         |   9 +-
 hw/bsp/dwm1001-dev/dwm1001-dev_debug.cmd           |  22 --
 hw/bsp/dwm1001-dev/dwm1001-dev_download.cmd        |  22 --
 hw/bsp/dwm1001-dev/pkg.yml                         |   1 +
 hw/bsp/dwm1001-dev/syscfg.yml                      |   3 +
 hw/bsp/fanstel-ev-bt840/bsp.yml                    |   9 +-
 hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_debug.cmd |  22 --
 .../fanstel-ev-bt840/fanstel-ev-bt840_download.cmd |  22 --
 hw/bsp/fanstel-ev-bt840/pkg.yml                    |   1 +
 hw/bsp/fanstel-ev-bt840/syscfg.yml                 |   3 +
 hw/bsp/nina-b1/bsp.yml                             |   9 +-
 hw/bsp/nina-b1/nrf52dk_debug.cmd                   |  22 --
 hw/bsp/nina-b1/nrf52dk_download.cmd                |  22 --
 hw/bsp/nina-b1/pkg.yml                             |   1 +
 hw/bsp/nina-b1/syscfg.yml                          |   3 +
 hw/bsp/nordic_pca10040/bsp.yml                     |  10 +-
 hw/bsp/nordic_pca10040/pkg.yml                     |   1 +
 hw/bsp/nordic_pca10040/syscfg.yml                  |   3 +
 hw/bsp/nordic_pca10056/bsp.yml                     |   9 +-
 hw/bsp/nordic_pca10056/nordic_pca10056_debug.cmd   |  22 --
 .../nordic_pca10056/nordic_pca10056_download.cmd   |  22 --
 hw/bsp/nordic_pca10056/pkg.yml                     |   1 +
 hw/bsp/nordic_pca10056/syscfg.yml                  |   3 +
 hw/bsp/nordic_pca10059/bsp.yml                     |   7 +-
 hw/bsp/nordic_pca10059/pkg.yml                     |   1 +
 hw/bsp/nordic_pca10059/syscfg.yml                  |   3 +
 hw/bsp/nordic_pca20020/bsp.yml                     |  10 +-
 hw/bsp/nordic_pca20020/nordic_pca20020_debug.cmd   |  22 --
 .../nordic_pca20020/nordic_pca20020_download.cmd   |  22 --
 hw/bsp/nordic_pca20020/pkg.yml                     |   1 +
 hw/bsp/nordic_pca20020/syscfg.yml                  |   3 +
 hw/bsp/pinetime/bsp.yml                            |   7 +-
 hw/bsp/pinetime/pkg.yml                            |   1 +
 hw/bsp/pinetime/syscfg.yml                         |   3 +
 hw/bsp/puckjs/bsp.yml                              |   9 +-
 hw/bsp/puckjs/pkg.yml                              |   1 +
 hw/bsp/puckjs/puckjs_debug.cmd                     |  22 --
 hw/bsp/puckjs/puckjs_download.cmd                  |  22 --
 hw/bsp/puckjs/syscfg.yml                           |   3 +
 hw/bsp/rb-blend2/bsp.yml                           |   9 +-
 hw/bsp/rb-blend2/pkg.yml                           |   1 +
 hw/bsp/rb-blend2/rb-blend2_debug.cmd               |  22 --
 hw/bsp/rb-blend2/rb-blend2_download.cmd            |  22 --
 hw/bsp/rb-blend2/syscfg.yml                        |   3 +
 hw/bsp/rb-nano2/bsp.yml                            |   7 +-
 hw/bsp/rb-nano2/pkg.yml                            |   1 +
 hw/bsp/rb-nano2/rb-nano2_debug.cmd                 |  22 --
 hw/bsp/rb-nano2/rb-nano2_download.cmd              |  22 --
 hw/bsp/rb-nano2/syscfg.yml                         |   3 +
 hw/bsp/reel_board/bsp.yml                          |   7 +-
 hw/bsp/reel_board/pkg.yml                          |   1 +
 hw/bsp/reel_board/syscfg.yml                       |   3 +
 hw/bsp/ruuvitag_rev_b/bsp.yml                      |   9 +-
 hw/bsp/ruuvitag_rev_b/pkg.yml                      |   1 +
 hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_debug.cmd     |  22 --
 hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_download.cmd  |  22 --
 hw/bsp/ruuvitag_rev_b/syscfg.yml                   |   3 +
 hw/bsp/telee02/bsp.yml                             |   9 +-
 hw/bsp/telee02/pkg.yml                             |   1 +
 hw/bsp/telee02/syscfg.yml                          |   3 +
 hw/bsp/telee02/telee02_debug.cmd                   |  22 --
 hw/bsp/telee02/telee02_download.cmd                |  22 --
 hw/bsp/ublox_bmd_345/bsp.yml                       |   7 +-
 hw/bsp/ublox_bmd_345/pkg.yml                       |   1 +
 hw/bsp/ublox_bmd_345/syscfg.yml                    |   3 +
 hw/bsp/vbluno52/bsp.yml                            |   9 +-
 hw/bsp/vbluno52/pkg.yml                            |   1 +
 hw/bsp/vbluno52/syscfg.yml                         |   3 +
 hw/bsp/vbluno52/vbluno52_debug.cmd                 |  22 --
 hw/bsp/vbluno52/vbluno52_download.cmd              |  22 --
 .../nrf52xxx/src/arch/cortex_m4/gcc_startup_cm4.s  | 326 ---------------------
 86 files changed, 95 insertions(+), 1086 deletions(-)

diff --git a/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_debug.cmd 
b/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_debug.cmd
deleted file mode 100755
index 3444fd327..000000000
--- a/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_download.cmd 
b/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/ada_feather_nrf52/bsp.yml b/hw/bsp/ada_feather_nrf52/bsp.yml
index d67c9328e..6663b5d57 100644
--- a/hw/bsp/ada_feather_nrf52/bsp.yml
+++ b/hw/bsp/ada_feather_nrf52/bsp.yml
@@ -22,17 +22,10 @@ bsp.url: https://www.adafruit.com/product/3574
 bsp.maker: "Adafruit Industries"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/ada_feather_nrf52/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/ada_feather_nrf52/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/ada_feather_nrf52/split_ada_feather_nrf52.ld"
 bsp.downloadscript: "hw/bsp/ada_feather_nrf52/ada_feather_nrf52_download.sh"
 bsp.debugscript: "hw/bsp/ada_feather_nrf52/ada_feather_nrf52_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: 
"hw/bsp/ada_feather_nrf52/ada_feather_nrf52_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: 
"hw/bsp/ada_feather_nrf52/ada_feather_nrf52_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/ada_feather_nrf52/pkg.yml b/hw/bsp/ada_feather_nrf52/pkg.yml
index 0807d9dac..4e54823bf 100644
--- a/hw/bsp/ada_feather_nrf52/pkg.yml
+++ b/hw/bsp/ada_feather_nrf52/pkg.yml
@@ -37,6 +37,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/ada_feather_nrf52/syscfg.yml 
b/hw/bsp/ada_feather_nrf52/syscfg.yml
index dbdb2b19b..cc7af5dfe 100644
--- a/hw/bsp/ada_feather_nrf52/syscfg.yml
+++ b/hw/bsp/ada_feather_nrf52/syscfg.yml
@@ -34,6 +34,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 6
     UART_0_PIN_RX: 8
diff --git a/hw/bsp/arduino_primo_nrf52/bsp.yml 
b/hw/bsp/arduino_primo_nrf52/bsp.yml
index da5dcf52a..3044ed788 100644
--- a/hw/bsp/arduino_primo_nrf52/bsp.yml
+++ b/hw/bsp/arduino_primo_nrf52/bsp.yml
@@ -19,17 +19,10 @@
 
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/arduino_primo_nrf52/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/arduino_primo_nrf52/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/arduino_primo_nrf52/split-primo.ld"
 bsp.downloadscript: "hw/bsp/arduino_primo_nrf52/primo_download.sh"
 bsp.debugscript: "hw/bsp/arduino_primo_nrf52/primo_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: 
"hw/bsp/arduino_primo_nrf52/primo_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: "hw/bsp/arduino_primo_nrf52/primo_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/arduino_primo_nrf52/pkg.yml 
b/hw/bsp/arduino_primo_nrf52/pkg.yml
index cceacf26e..a387ce52f 100644
--- a/hw/bsp/arduino_primo_nrf52/pkg.yml
+++ b/hw/bsp/arduino_primo_nrf52/pkg.yml
@@ -37,6 +37,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/arduino_primo_nrf52/primo_debug.cmd 
b/hw/bsp/arduino_primo_nrf52/primo_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/arduino_primo_nrf52/primo_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/arduino_primo_nrf52/primo_download.cmd 
b/hw/bsp/arduino_primo_nrf52/primo_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/arduino_primo_nrf52/primo_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/arduino_primo_nrf52/syscfg.yml 
b/hw/bsp/arduino_primo_nrf52/syscfg.yml
index 5841a9de4..8c40c7ba9 100644
--- a/hw/bsp/arduino_primo_nrf52/syscfg.yml
+++ b/hw/bsp/arduino_primo_nrf52/syscfg.yml
@@ -39,6 +39,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 12
     UART_0_PIN_RX: 11
diff --git a/hw/bsp/bmd300eval/bmd300eval_debug.cmd 
b/hw/bsp/bmd300eval/bmd300eval_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/bmd300eval/bmd300eval_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/bmd300eval/bmd300eval_download.cmd 
b/hw/bsp/bmd300eval/bmd300eval_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/bmd300eval/bmd300eval_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/bmd300eval/bsp.yml b/hw/bsp/bmd300eval/bsp.yml
index b63e067c7..335a0ac5d 100644
--- a/hw/bsp/bmd300eval/bsp.yml
+++ b/hw/bsp/bmd300eval/bsp.yml
@@ -22,17 +22,10 @@ bsp.url: https://www.rigado.com/products/modules/bmd-300/
 bsp.maker: "RIGADO"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/bmd300eval/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/bmd300eval/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/bmd300eval/split-bmd300eval.ld"
 bsp.downloadscript: "hw/bsp/bmd300eval/bmd300eval_download.sh"
 bsp.debugscript: "hw/bsp/bmd300eval/bmd300eval_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: 
"hw/bsp/bmd300eval/bmd300eval_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: "hw/bsp/bmd300eval/bmd300eval_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/bmd300eval/pkg.yml b/hw/bsp/bmd300eval/pkg.yml
index 71fde048e..e0f47698a 100644
--- a/hw/bsp/bmd300eval/pkg.yml
+++ b/hw/bsp/bmd300eval/pkg.yml
@@ -37,6 +37,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/bmd300eval/syscfg.yml b/hw/bsp/bmd300eval/syscfg.yml
index 4276e2eab..727bcfe25 100644
--- a/hw/bsp/bmd300eval/syscfg.yml
+++ b/hw/bsp/bmd300eval/syscfg.yml
@@ -31,6 +31,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 6
     UART_0_PIN_RX: 8
diff --git a/hw/bsp/dwm1001-dev/bsp.yml b/hw/bsp/dwm1001-dev/bsp.yml
index 61aca5044..7f45ff1d9 100644
--- a/hw/bsp/dwm1001-dev/bsp.yml
+++ b/hw/bsp/dwm1001-dev/bsp.yml
@@ -19,17 +19,10 @@
 
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/dwm1001-dev/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/dwm1001-dev/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/dwm1001-dev/split-dwm1001-dev.ld"
 bsp.downloadscript: "hw/bsp/dwm1001-dev/dwm1001-dev_download.sh"
 bsp.debugscript: "hw/bsp/dwm1001-dev/dwm1001-dev_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: 
"hw/bsp/dwm1001-dev/dwm1001-dev_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: "hw/bsp/dwm1001-dev/dwm1001-dev_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/dwm1001-dev/dwm1001-dev_debug.cmd 
b/hw/bsp/dwm1001-dev/dwm1001-dev_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/dwm1001-dev/dwm1001-dev_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/dwm1001-dev/dwm1001-dev_download.cmd 
b/hw/bsp/dwm1001-dev/dwm1001-dev_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/dwm1001-dev/dwm1001-dev_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/dwm1001-dev/pkg.yml b/hw/bsp/dwm1001-dev/pkg.yml
index e441878c5..192d04095 100644
--- a/hw/bsp/dwm1001-dev/pkg.yml
+++ b/hw/bsp/dwm1001-dev/pkg.yml
@@ -36,6 +36,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/dwm1001-dev/syscfg.yml b/hw/bsp/dwm1001-dev/syscfg.yml
index 76c72e80c..59cdcc840 100644
--- a/hw/bsp/dwm1001-dev/syscfg.yml
+++ b/hw/bsp/dwm1001-dev/syscfg.yml
@@ -34,6 +34,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 5
     UART_0_PIN_RX: 11
diff --git a/hw/bsp/fanstel-ev-bt840/bsp.yml b/hw/bsp/fanstel-ev-bt840/bsp.yml
index fe0f497fa..5adc513a6 100644
--- a/hw/bsp/fanstel-ev-bt840/bsp.yml
+++ b/hw/bsp/fanstel-ev-bt840/bsp.yml
@@ -19,17 +19,10 @@
 
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/fanstel-ev-bt840/nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/fanstel-ev-bt840/boot-nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/fanstel-ev-bt840/split-fanstel-ev-bt840.ld"
 bsp.downloadscript: "hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_download.sh"
 bsp.debugscript: "hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: 
"hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: 
"hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_debug.cmd 
b/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_download.cmd 
b/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/fanstel-ev-bt840/pkg.yml b/hw/bsp/fanstel-ev-bt840/pkg.yml
index 7182b3637..df9f2ac53 100644
--- a/hw/bsp/fanstel-ev-bt840/pkg.yml
+++ b/hw/bsp/fanstel-ev-bt840/pkg.yml
@@ -36,3 +36,4 @@ pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
     - "@apache-mynewt-core/sys/flash_map"
+    - "@apache-mynewt-core/boot/startup"
diff --git a/hw/bsp/fanstel-ev-bt840/syscfg.yml 
b/hw/bsp/fanstel-ev-bt840/syscfg.yml
index 03b1ff420..9246e4c97 100644
--- a/hw/bsp/fanstel-ev-bt840/syscfg.yml
+++ b/hw/bsp/fanstel-ev-bt840/syscfg.yml
@@ -26,6 +26,9 @@ syscfg.vals:
     MCU_TARGET: nRF52840
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x40000
+
     CONFIG_FCB_FLASH_AREA: FLASH_AREA_NFFS
     REBOOT_LOG_FLASH_AREA: FLASH_AREA_REBOOT_LOG
     NFFS_FLASH_AREA: FLASH_AREA_NFFS
diff --git a/hw/bsp/nina-b1/bsp.yml b/hw/bsp/nina-b1/bsp.yml
index ce9ce47de..225494e93 100644
--- a/hw/bsp/nina-b1/bsp.yml
+++ b/hw/bsp/nina-b1/bsp.yml
@@ -22,17 +22,10 @@ bsp.url: https://www.u-blox.com/en/product/nina-b1-series
 bsp.maker: "u-blox"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/nina-b1/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/nina-b1/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/nina-b1/split-nrf52dk.ld"
 bsp.downloadscript: "hw/bsp/nina-b1/nrf52dk_download.sh"
 bsp.debugscript: "hw/bsp/nina-b1/nrf52dk_debug.sh"
-bsp.downloadscript.WINDOWS_OVERWRITE: "hw/bsp/nina-b1/nrf52dk_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: "hw/bsp/nina-b1/nrf52dk_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/nina-b1/nrf52dk_debug.cmd b/hw/bsp/nina-b1/nrf52dk_debug.cmd
deleted file mode 100644
index 3444fd327..000000000
--- a/hw/bsp/nina-b1/nrf52dk_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/nina-b1/nrf52dk_download.cmd 
b/hw/bsp/nina-b1/nrf52dk_download.cmd
deleted file mode 100644
index 3444fd327..000000000
--- a/hw/bsp/nina-b1/nrf52dk_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/nina-b1/pkg.yml b/hw/bsp/nina-b1/pkg.yml
index c5383ea82..6f6447262 100644
--- a/hw/bsp/nina-b1/pkg.yml
+++ b/hw/bsp/nina-b1/pkg.yml
@@ -36,6 +36,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/nina-b1/syscfg.yml b/hw/bsp/nina-b1/syscfg.yml
index 5dcef9dea..82ba898c5 100644
--- a/hw/bsp/nina-b1/syscfg.yml
+++ b/hw/bsp/nina-b1/syscfg.yml
@@ -34,6 +34,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 6
     UART_0_PIN_RX: 5
diff --git a/hw/bsp/nordic_pca10040/bsp.yml b/hw/bsp/nordic_pca10040/bsp.yml
index a69e260cc..0897b4270 100644
--- a/hw/bsp/nordic_pca10040/bsp.yml
+++ b/hw/bsp/nordic_pca10040/bsp.yml
@@ -22,15 +22,7 @@ bsp.url: 
https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK
 bsp.maker: "Nordic Semiconductor"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/nordic_pca10040/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/nordic_pca10040/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.RAM_RESIDENT.OVERWRITE:
-    - "hw/bsp/nordic_pca10040/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52_ram_resident.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/nordic_pca10040/split-nordic_pca10040.ld"
 bsp.downloadscript: "hw/scripts/download.sh"
 bsp.debugscript: "hw/bsp/nordic_pca10040/nordic_pca10040_debug.sh"
diff --git a/hw/bsp/nordic_pca10040/pkg.yml b/hw/bsp/nordic_pca10040/pkg.yml
index 54f296384..c77af8c87 100644
--- a/hw/bsp/nordic_pca10040/pkg.yml
+++ b/hw/bsp/nordic_pca10040/pkg.yml
@@ -38,6 +38,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
     - "@apache-mynewt-core/hw/scripts"
 
 pkg.deps.ENC_FLASH_DEV:
diff --git a/hw/bsp/nordic_pca10040/syscfg.yml 
b/hw/bsp/nordic_pca10040/syscfg.yml
index 0d1384dd7..699208c37 100644
--- a/hw/bsp/nordic_pca10040/syscfg.yml
+++ b/hw/bsp/nordic_pca10040/syscfg.yml
@@ -38,6 +38,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 6
     UART_0_PIN_RX: 8
diff --git a/hw/bsp/nordic_pca10056/bsp.yml b/hw/bsp/nordic_pca10056/bsp.yml
index 55f8356fe..250c124ac 100644
--- a/hw/bsp/nordic_pca10056/bsp.yml
+++ b/hw/bsp/nordic_pca10056/bsp.yml
@@ -22,17 +22,10 @@ bsp.url: 
https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840
 bsp.maker: "Nordic Semiconductor"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/nordic_pca10056/nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/nordic_pca10056/boot-nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/nordic_pca10056/split-nordic_pca10056.ld"
 bsp.downloadscript: "hw/bsp/nordic_pca10056/nordic_pca10056_download.sh"
 bsp.debugscript: "hw/bsp/nordic_pca10056/nordic_pca10056_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: 
"hw/bsp/nordic_pca10056/nordic_pca10056_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: 
"hw/bsp/nordic_pca10056/nordic_pca10056_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/nordic_pca10056/nordic_pca10056_debug.cmd 
b/hw/bsp/nordic_pca10056/nordic_pca10056_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/nordic_pca10056/nordic_pca10056_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/nordic_pca10056/nordic_pca10056_download.cmd 
b/hw/bsp/nordic_pca10056/nordic_pca10056_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/nordic_pca10056/nordic_pca10056_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/nordic_pca10056/pkg.yml b/hw/bsp/nordic_pca10056/pkg.yml
index 2aae7d4a2..5a2c70d06 100644
--- a/hw/bsp/nordic_pca10056/pkg.yml
+++ b/hw/bsp/nordic_pca10056/pkg.yml
@@ -38,6 +38,7 @@ pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
     - "@apache-mynewt-core/sys/flash_map"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/nordic_pca10056/syscfg.yml 
b/hw/bsp/nordic_pca10056/syscfg.yml
index 9c48a05e4..69af1588a 100644
--- a/hw/bsp/nordic_pca10056/syscfg.yml
+++ b/hw/bsp/nordic_pca10056/syscfg.yml
@@ -31,6 +31,9 @@ syscfg.vals:
     # Disable access port, enable debugger
     MCU_ACCESS_PORT_PROTECTION: disable
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x40000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 6
     UART_0_PIN_RX: 8
diff --git a/hw/bsp/nordic_pca10059/bsp.yml b/hw/bsp/nordic_pca10059/bsp.yml
index 7c086c022..f8158e40e 100644
--- a/hw/bsp/nordic_pca10059/bsp.yml
+++ b/hw/bsp/nordic_pca10059/bsp.yml
@@ -22,12 +22,7 @@ bsp.url: 
https://www.nordicsemi.com/Products/Development-hardware/nrf52840-dongl
 bsp.maker: "Nordic Semiconductor"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/nordic_pca10059/nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/nordic_pca10059/boot-nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/nordic_pca10059/split-nordic_pca10059.ld"
 bsp.downloadscript: "hw/bsp/nordic_pca10059/nordic_pca10059_download.sh"
 bsp.debugscript: "hw/bsp/nordic_pca10059/nordic_pca10059_debug.sh"
diff --git a/hw/bsp/nordic_pca10059/pkg.yml b/hw/bsp/nordic_pca10059/pkg.yml
index 72e3e2c14..59aae1b98 100644
--- a/hw/bsp/nordic_pca10059/pkg.yml
+++ b/hw/bsp/nordic_pca10059/pkg.yml
@@ -37,6 +37,7 @@ pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
     - "@apache-mynewt-core/sys/flash_map"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/nordic_pca10059/syscfg.yml 
b/hw/bsp/nordic_pca10059/syscfg.yml
index f8826b0a1..0b67b0885 100644
--- a/hw/bsp/nordic_pca10059/syscfg.yml
+++ b/hw/bsp/nordic_pca10059/syscfg.yml
@@ -29,6 +29,9 @@ syscfg.vals:
     MCU_TARGET: nRF52840
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x20000
+
     UART_0: 0
 
     CONFIG_FCB_FLASH_AREA: FLASH_AREA_NFFS
diff --git a/hw/bsp/nordic_pca20020/bsp.yml b/hw/bsp/nordic_pca20020/bsp.yml
index ccce56638..513de0c0a 100644
--- a/hw/bsp/nordic_pca20020/bsp.yml
+++ b/hw/bsp/nordic_pca20020/bsp.yml
@@ -22,18 +22,10 @@ bsp.url: 
https://www.nordicsemi.com/Software-and-Tools/Development-Kits/Nordic-T
 bsp.maker: "Nordic Semiconductor"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/nordic_pca20020/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/nordic_pca20020/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/nordic_pca20020/split-nordic_pca20020.ld"
 bsp.downloadscript: "hw/bsp/nordic_pca20020/nordic_pca20020_download.sh"
 bsp.debugscript: "hw/bsp/nordic_pca20020/nordic_pca20020_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE:
-    "hw/bsp/nordic_pca20020/nordic_pca20020_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: 
"hw/bsp/nordic_pca20020/nordic_pca20020_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/nordic_pca20020/nordic_pca20020_debug.cmd 
b/hw/bsp/nordic_pca20020/nordic_pca20020_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/nordic_pca20020/nordic_pca20020_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/nordic_pca20020/nordic_pca20020_download.cmd 
b/hw/bsp/nordic_pca20020/nordic_pca20020_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/nordic_pca20020/nordic_pca20020_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/nordic_pca20020/pkg.yml b/hw/bsp/nordic_pca20020/pkg.yml
index 599503b2b..bfc718a46 100644
--- a/hw/bsp/nordic_pca20020/pkg.yml
+++ b/hw/bsp/nordic_pca20020/pkg.yml
@@ -37,6 +37,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/nordic_pca20020/syscfg.yml 
b/hw/bsp/nordic_pca20020/syscfg.yml
index 027f1bf36..a3f46f5fc 100644
--- a/hw/bsp/nordic_pca20020/syscfg.yml
+++ b/hw/bsp/nordic_pca20020/syscfg.yml
@@ -43,6 +43,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # There are no pins assigned for UART so disable it
     UART_0: 0
     # Set default pins for peripherals
diff --git a/hw/bsp/pinetime/bsp.yml b/hw/bsp/pinetime/bsp.yml
index ed9ccee40..14fdb21d7 100644
--- a/hw/bsp/pinetime/bsp.yml
+++ b/hw/bsp/pinetime/bsp.yml
@@ -19,12 +19,7 @@
 
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/pinetime/pinetime.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/pinetime/boot-pinetime.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/pinetime/split-pinetime.ld"
 bsp.downloadscript: "hw/bsp/pinetime/pinetime_download.sh"
 bsp.debugscript: "hw/bsp/pinetime/pinetime_debug.sh"
diff --git a/hw/bsp/pinetime/pkg.yml b/hw/bsp/pinetime/pkg.yml
index 97fd565ca..be5ac876e 100644
--- a/hw/bsp/pinetime/pkg.yml
+++ b/hw/bsp/pinetime/pkg.yml
@@ -36,6 +36,7 @@ pkg.deps:
     - '@apache-mynewt-core/hw/mcu/nordic/nrf52xxx'
     - '@apache-mynewt-core/kernel/os'
     - '@apache-mynewt-core/libc/baselibc'
+    - "@apache-mynewt-core/boot/startup"
     - "@apache-mynewt-core/hw/drivers/flash/spiflash"
 
 pkg.deps.BSP_CHARGER:
diff --git a/hw/bsp/pinetime/syscfg.yml b/hw/bsp/pinetime/syscfg.yml
index b6819f32f..f924f826d 100644
--- a/hw/bsp/pinetime/syscfg.yml
+++ b/hw/bsp/pinetime/syscfg.yml
@@ -47,6 +47,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # 32.768 kHz crystal oscillator
     MCU_LFCLK_SOURCE: LFXO
 
diff --git a/hw/bsp/puckjs/bsp.yml b/hw/bsp/puckjs/bsp.yml
index 2913debe9..24382ac5f 100644
--- a/hw/bsp/puckjs/bsp.yml
+++ b/hw/bsp/puckjs/bsp.yml
@@ -19,17 +19,10 @@
 
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/puckjs/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/puckjs/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/puckjs/split_puckjs.ld"
 bsp.downloadscript: "hw/bsp/puckjs/puckjs_download.sh"
 bsp.debugscript: "hw/bsp/puckjs/puckjs_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: "hw/bsp/puckjs/puckjs_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: "hw/bsp/puckjs/puckjs_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/puckjs/pkg.yml b/hw/bsp/puckjs/pkg.yml
index 108370e0a..d067d828d 100644
--- a/hw/bsp/puckjs/pkg.yml
+++ b/hw/bsp/puckjs/pkg.yml
@@ -37,6 +37,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/puckjs/puckjs_debug.cmd b/hw/bsp/puckjs/puckjs_debug.cmd
deleted file mode 100755
index 3444fd327..000000000
--- a/hw/bsp/puckjs/puckjs_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/puckjs/puckjs_download.cmd 
b/hw/bsp/puckjs/puckjs_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/puckjs/puckjs_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/puckjs/syscfg.yml b/hw/bsp/puckjs/syscfg.yml
index 09de810a3..52930ac6f 100644
--- a/hw/bsp/puckjs/syscfg.yml
+++ b/hw/bsp/puckjs/syscfg.yml
@@ -34,6 +34,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 29
     UART_0_PIN_RX: 28
diff --git a/hw/bsp/rb-blend2/bsp.yml b/hw/bsp/rb-blend2/bsp.yml
index 7ab0d1ce4..519052806 100644
--- a/hw/bsp/rb-blend2/bsp.yml
+++ b/hw/bsp/rb-blend2/bsp.yml
@@ -22,17 +22,10 @@ bsp.url: https://redbear.cc/product/retired/blend-2.html
 bsp.maker: "RedBear"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/rb-blend2/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/rb-blend2/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/rb-blend2/split-rb-blend2.ld"
 bsp.downloadscript: "hw/bsp/rb-blend2/rb-blend2_download.sh"
 bsp.debugscript: "hw/bsp/rb-blend2/rb-blend2_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: "hw/bsp/rb-blend2/rb-blend2_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: "hw/bsp/rb-blend2/rb-blend2_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/rb-blend2/pkg.yml b/hw/bsp/rb-blend2/pkg.yml
index c6401a11b..7e4abe005 100644
--- a/hw/bsp/rb-blend2/pkg.yml
+++ b/hw/bsp/rb-blend2/pkg.yml
@@ -37,6 +37,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/rb-blend2/rb-blend2_debug.cmd 
b/hw/bsp/rb-blend2/rb-blend2_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/rb-blend2/rb-blend2_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/rb-blend2/rb-blend2_download.cmd 
b/hw/bsp/rb-blend2/rb-blend2_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/rb-blend2/rb-blend2_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/rb-blend2/syscfg.yml b/hw/bsp/rb-blend2/syscfg.yml
index f5f630158..fe90009d4 100644
--- a/hw/bsp/rb-blend2/syscfg.yml
+++ b/hw/bsp/rb-blend2/syscfg.yml
@@ -35,6 +35,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 6
     UART_0_PIN_RX: 8
diff --git a/hw/bsp/rb-nano2/bsp.yml b/hw/bsp/rb-nano2/bsp.yml
index 241ced86a..f9f08d9a5 100644
--- a/hw/bsp/rb-nano2/bsp.yml
+++ b/hw/bsp/rb-nano2/bsp.yml
@@ -22,12 +22,7 @@ bsp.url: 
https://redbear.cc/product/ble/ble-nano-2-soldered.html
 bsp.maker: "RedBear"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/rb-nano2/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/rb-nano2/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/rb-nano2/split-rb-nano2.ld"
 bsp.downloadscript: "hw/bsp/rb-nano2/rb-nano2_download.sh"
 bsp.debugscript: "hw/bsp/rb-nano2/rb-nano2_debug.sh"
diff --git a/hw/bsp/rb-nano2/pkg.yml b/hw/bsp/rb-nano2/pkg.yml
index bf5f3e9ca..4a00df39b 100644
--- a/hw/bsp/rb-nano2/pkg.yml
+++ b/hw/bsp/rb-nano2/pkg.yml
@@ -37,6 +37,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/rb-nano2/rb-nano2_debug.cmd 
b/hw/bsp/rb-nano2/rb-nano2_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/rb-nano2/rb-nano2_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/rb-nano2/rb-nano2_download.cmd 
b/hw/bsp/rb-nano2/rb-nano2_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/rb-nano2/rb-nano2_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/rb-nano2/syscfg.yml b/hw/bsp/rb-nano2/syscfg.yml
index bf5b042eb..6df79f79f 100644
--- a/hw/bsp/rb-nano2/syscfg.yml
+++ b/hw/bsp/rb-nano2/syscfg.yml
@@ -35,6 +35,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 29
     UART_0_PIN_RX: 30
diff --git a/hw/bsp/reel_board/bsp.yml b/hw/bsp/reel_board/bsp.yml
index 552b050d7..b44beac17 100644
--- a/hw/bsp/reel_board/bsp.yml
+++ b/hw/bsp/reel_board/bsp.yml
@@ -19,12 +19,7 @@
 
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/reel_board/nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/reel_board/boot-nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/reel_board/split-reel_board.ld"
 bsp.downloadscript: "hw/scripts/download.sh"
 bsp.debugscript: "hw/bsp/reel_board/reel_board_debug.sh"
diff --git a/hw/bsp/reel_board/pkg.yml b/hw/bsp/reel_board/pkg.yml
index 493585e0f..648ec7c07 100644
--- a/hw/bsp/reel_board/pkg.yml
+++ b/hw/bsp/reel_board/pkg.yml
@@ -36,3 +36,4 @@ pkg.deps:
     - "@apache-mynewt-core/libc"
     - "@apache-mynewt-core/sys/flash_map"
     - "@apache-mynewt-core/hw/scripts"
+    - "@apache-mynewt-core/boot/startup"
diff --git a/hw/bsp/reel_board/syscfg.yml b/hw/bsp/reel_board/syscfg.yml
index 0160478ee..eefcb7a9b 100644
--- a/hw/bsp/reel_board/syscfg.yml
+++ b/hw/bsp/reel_board/syscfg.yml
@@ -29,6 +29,9 @@ syscfg.vals:
     MCU_TARGET: nRF52840
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x40000
+
     CONFIG_FCB_FLASH_AREA: FLASH_AREA_NFFS
     REBOOT_LOG_FLASH_AREA: FLASH_AREA_REBOOT_LOG
     NFFS_FLASH_AREA: FLASH_AREA_NFFS
diff --git a/hw/bsp/ruuvitag_rev_b/bsp.yml b/hw/bsp/ruuvitag_rev_b/bsp.yml
index 198f43465..be71020d9 100644
--- a/hw/bsp/ruuvitag_rev_b/bsp.yml
+++ b/hw/bsp/ruuvitag_rev_b/bsp.yml
@@ -22,17 +22,10 @@ bsp.url: https://ruuvi.com/ruuvitag-specs/
 bsp.maker: "Ruuvi"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/ruuvitag_rev_b/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/ruuvitag_rev_b/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/ruuvitag_rev_b/split-ruuvitag_rev_b.ld"
 bsp.downloadscript: "hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_download.sh"
 bsp.debugscript: "hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: 
"hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: 
"hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/ruuvitag_rev_b/pkg.yml b/hw/bsp/ruuvitag_rev_b/pkg.yml
index ed9556b2b..36d1b5e5d 100644
--- a/hw/bsp/ruuvitag_rev_b/pkg.yml
+++ b/hw/bsp/ruuvitag_rev_b/pkg.yml
@@ -37,6 +37,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.UARTBB_0:
     - "@apache-mynewt-core/hw/drivers/uart/uart_bitbang"
diff --git a/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_debug.cmd 
b/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_download.cmd 
b/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/ruuvitag_rev_b/syscfg.yml b/hw/bsp/ruuvitag_rev_b/syscfg.yml
index aeb264246..95bffa35e 100644
--- a/hw/bsp/ruuvitag_rev_b/syscfg.yml
+++ b/hw/bsp/ruuvitag_rev_b/syscfg.yml
@@ -60,6 +60,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     # Latest revisions have testpoints instead of dedicated UART pins,
     # we can use them instead
diff --git a/hw/bsp/telee02/bsp.yml b/hw/bsp/telee02/bsp.yml
index 200d77c3a..9fcdc8c09 100644
--- a/hw/bsp/telee02/bsp.yml
+++ b/hw/bsp/telee02/bsp.yml
@@ -19,17 +19,10 @@
 
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/telee02/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/telee02/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/telee02/split-telee02.ld"
 bsp.downloadscript: "hw/bsp/telee02/telee02_download.sh"
 bsp.debugscript: "hw/bsp/telee02/telee02_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: "hw/bsp/telee02/telee02_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: "hw/bsp/telee02/telee02_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/telee02/pkg.yml b/hw/bsp/telee02/pkg.yml
index b1d1cff0a..7f724aef6 100644
--- a/hw/bsp/telee02/pkg.yml
+++ b/hw/bsp/telee02/pkg.yml
@@ -37,6 +37,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/telee02/syscfg.yml b/hw/bsp/telee02/syscfg.yml
index d63ff565c..399f5eba2 100644
--- a/hw/bsp/telee02/syscfg.yml
+++ b/hw/bsp/telee02/syscfg.yml
@@ -34,6 +34,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 6
     UART_0_PIN_RX: 8
diff --git a/hw/bsp/telee02/telee02_debug.cmd b/hw/bsp/telee02/telee02_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/telee02/telee02_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/telee02/telee02_download.cmd 
b/hw/bsp/telee02/telee02_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/telee02/telee02_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/ublox_bmd_345/bsp.yml b/hw/bsp/ublox_bmd_345/bsp.yml
index 3448741c1..dde49c7e0 100644
--- a/hw/bsp/ublox_bmd_345/bsp.yml
+++ b/hw/bsp/ublox_bmd_345/bsp.yml
@@ -22,12 +22,7 @@ bsp.url: https://www.u-blox.com/en/product/evk-bmd-3438
 bsp.maker: "Ublox"
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/ublox_bmd_345/nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/ublox_bmd_345/boot-nrf52840aa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/ublox_bmd_345/split-ublox_bmd_345.ld"
 bsp.downloadscript: "hw/bsp/ublox_bmd_345/download.sh"
 bsp.debugscript: "hw/bsp/ublox_bmd_345/debug.sh"
diff --git a/hw/bsp/ublox_bmd_345/pkg.yml b/hw/bsp/ublox_bmd_345/pkg.yml
index 518ac20bc..c46cefcb3 100644
--- a/hw/bsp/ublox_bmd_345/pkg.yml
+++ b/hw/bsp/ublox_bmd_345/pkg.yml
@@ -37,6 +37,7 @@ pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/sys/flash_map"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/ublox_bmd_345/syscfg.yml b/hw/bsp/ublox_bmd_345/syscfg.yml
index 39464c8ca..61c1e35f0 100644
--- a/hw/bsp/ublox_bmd_345/syscfg.yml
+++ b/hw/bsp/ublox_bmd_345/syscfg.yml
@@ -33,6 +33,9 @@ syscfg.vals:
     MCU_TARGET: nRF52840
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x40000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 6
     UART_0_PIN_RX: 8
diff --git a/hw/bsp/vbluno52/bsp.yml b/hw/bsp/vbluno52/bsp.yml
index 276cfed57..1f4c9a9e5 100644
--- a/hw/bsp/vbluno52/bsp.yml
+++ b/hw/bsp/vbluno52/bsp.yml
@@ -19,17 +19,10 @@
 
 bsp.arch: cortex_m4
 bsp.compiler: compiler/arm-none-eabi-m4
-bsp.linkerscript:
-    - "hw/bsp/vbluno52/nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
-bsp.linkerscript.BOOT_LOADER.OVERWRITE:
-    - "hw/bsp/vbluno52/boot-nrf52xxaa.ld"
-    - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx/nrf52.ld"
+bsp.linkerscript: autogenerated
 bsp.part2linkerscript: "hw/bsp/vbluno52/split-vbluno52.ld"
 bsp.downloadscript: "hw/bsp/vbluno52/vbluno52_download.sh"
 bsp.debugscript: "hw/bsp/vbluno52/vbluno52_debug.sh"
-bsp.downloadscript.WINDOWS.OVERWRITE: "hw/bsp/vbluno52/vbluno52_download.cmd"
-bsp.debugscript.WINDOWS.OVERWRITE: "hw/bsp/vbluno52/vbluno52_debug.cmd"
 
 bsp.flash_map:
     areas:
diff --git a/hw/bsp/vbluno52/pkg.yml b/hw/bsp/vbluno52/pkg.yml
index 3dc95eb57..32cdd87da 100644
--- a/hw/bsp/vbluno52/pkg.yml
+++ b/hw/bsp/vbluno52/pkg.yml
@@ -36,6 +36,7 @@ pkg.cflags.HARDFLOAT:
 pkg.deps:
     - "@apache-mynewt-core/hw/mcu/nordic/nrf52xxx"
     - "@apache-mynewt-core/libc"
+    - "@apache-mynewt-core/boot/startup"
 
 pkg.deps.SOFT_PWM:
     - "@apache-mynewt-core/hw/drivers/pwm/soft_pwm"
diff --git a/hw/bsp/vbluno52/syscfg.yml b/hw/bsp/vbluno52/syscfg.yml
index 9799f40d9..53aaa9db4 100644
--- a/hw/bsp/vbluno52/syscfg.yml
+++ b/hw/bsp/vbluno52/syscfg.yml
@@ -34,6 +34,9 @@ syscfg.vals:
     MCU_TARGET: nRF52832
     MCU_COMMON_STARTUP: 1
 
+    MCU_RAM_START: 0x20000000
+    MCU_RAM_SIZE: 0x10000
+
     # Set default pins for peripherals
     UART_0_PIN_TX: 6
     UART_0_PIN_RX: 8
diff --git a/hw/bsp/vbluno52/vbluno52_debug.cmd 
b/hw/bsp/vbluno52/vbluno52_debug.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/vbluno52/vbluno52_debug.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/bsp/vbluno52/vbluno52_download.cmd 
b/hw/bsp/vbluno52/vbluno52_download.cmd
deleted file mode 100755
index 96f0b2605..000000000
--- a/hw/bsp/vbluno52/vbluno52_download.cmd
+++ /dev/null
@@ -1,22 +0,0 @@
-@rem
-@rem Licensed to the Apache Software Foundation (ASF) under one
-@rem or more contributor license agreements.  See the NOTICE file
-@rem distributed with this work for additional information
-@rem regarding copyright ownership.  The ASF licenses this file
-@rem to you under the Apache License, Version 2.0 (the
-@rem "License"); you may not use this file except in compliance
-@rem with the License.  You may obtain a copy of the License at
-@rem
-@rem  http://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing,
-@rem software distributed under the License is distributed on an
-@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@rem KIND, either express or implied.  See the License for the
-@rem specific language governing permissions and limitations
-@rem under the License.
-@rem
-
-@rem Execute a shell with a script of the same name and .sh extension
-
-@bash "%~dp0%~n0.sh"
diff --git a/hw/mcu/nordic/nrf52xxx/src/arch/cortex_m4/gcc_startup_cm4.s 
b/hw/mcu/nordic/nrf52xxx/src/arch/cortex_m4/gcc_startup_cm4.s
deleted file mode 100644
index 8ae1275bd..000000000
--- a/hw/mcu/nordic/nrf52xxx/src/arch/cortex_m4/gcc_startup_cm4.s
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
-Copyright (c) 2015, Nordic Semiconductor ASA
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-  list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
-  this list of conditions and the following disclaimer in the documentation
-  and/or other materials provided with the distribution.
-
-* Neither the name of Nordic Semiconductor ASA nor the names of its
-  contributors may be used to endorse or promote products derived from
-  this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-NOTE: Template files (including this one) are application specific and 
therefore
-expected to be copied into the application project folder prior to its use!
-*/
-
-    .syntax unified
-    .arch armv7e-m
-
-    .section .stack
-    .align 3
-    .equ    Stack_Size, 432
-    .globl    __StackTop
-    .globl    __StackLimit
-__StackLimit:
-    .space    Stack_Size
-    .size __StackLimit, . - __StackLimit
-__StackTop:
-    .size __StackTop, . - __StackTop
-
-    .section .heap
-    .align 3
-#ifdef __HEAP_SIZE
-    .equ    Heap_Size, __HEAP_SIZE
-#else
-    .equ    Heap_Size, 0
-#endif
-    .globl    __HeapBase
-    .globl    __HeapLimit
-__HeapBase:
-    .if    Heap_Size
-    .space    Heap_Size
-    .endif
-    .size __HeapBase, . - __HeapBase
-__HeapLimit:
-    .size __HeapLimit, . - __HeapLimit
-
-    .section .isr_vector
-    .align 2
-    .globl __isr_vector
-__isr_vector:
-    .long    __StackTop            /* Top of Stack */
-    .long   Reset_Handler               /* Reset Handler */
-    .long   NMI_Handler                 /* NMI Handler */
-    .long   HardFault_Handler           /* Hard Fault Handler */
-    .long   MemoryManagement_Handler
-    .long   BusFault_Handler
-    .long   UsageFault_Handler
-    .long   0                           /* Reserved */
-    .long   0                           /* Reserved */
-    .long   0                           /* Reserved */
-    .long   0                           /* Reserved */
-    .long   SVC_Handler                 /* SVCall Handler */
-    .long   DebugMon_Handler
-    .long   0                           /* Reserved */
-    .long   PendSV_Handler              /* PendSV Handler */
-    .long   SysTick_Handler             /* SysTick Handler */
-
-  /* External Interrupts */
-    .long   POWER_CLOCK_IRQHandler
-    .long   RADIO_IRQHandler
-    .long   UARTE0_UART0_IRQHandler
-    .long   SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler
-    .long   SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler
-    .long   NFCT_IRQHandler
-    .long   GPIOTE_IRQHandler
-    .long   SAADC_IRQHandler
-    .long   TIMER0_IRQHandler
-    .long   TIMER1_IRQHandler
-    .long   TIMER2_IRQHandler
-    .long   RTC0_IRQHandler
-    .long   TEMP_IRQHandler
-    .long   RNG_IRQHandler
-    .long   ECB_IRQHandler
-    .long   CCM_AAR_IRQHandler
-    .long   WDT_IRQHandler
-    .long   RTC1_IRQHandler
-    .long   QDEC_IRQHandler
-    .long   COMP_LPCOMP_IRQHandler
-    .long   SWI0_EGU0_IRQHandler
-    .long   SWI1_EGU1_IRQHandler
-    .long   SWI2_EGU2_IRQHandler
-    .long   SWI3_EGU3_IRQHandler
-    .long   SWI4_EGU4_IRQHandler
-    .long   SWI5_EGU5_IRQHandler
-    .long   TIMER3_IRQHandler
-    .long   TIMER4_IRQHandler
-    .long   PWM0_IRQHandler
-    .long   PDM_IRQHandler
-    .long   0                         /*Reserved */
-    .long   0                         /*Reserved */
-    .long   MWU_IRQHandler
-    .long   PWM1_IRQHandler
-    .long   PWM2_IRQHandler
-    .long   SPIM2_SPIS2_SPI2_IRQHandler
-    .long   RTC2_IRQHandler
-    .long   I2S_IRQHandler
-    .long   FPU_IRQHandler
-    .long   USBD_IRQHandler
-    .long   UARTE1_IRQHandler
-    .long   QSPI_IRQHandler
-    .long   CRYPTOCELL_IRQHandler
-    .long   0                           /*Reserved */
-    .long   PWM3_IRQHandler
-    .long   0                           /*Reserved */
-    .long   0                           /*Reserved */
-    .long   SPIM3_IRQHandler
-
-
-    .size    __isr_vector, . - __isr_vector
-
-/* Reset Handler */
-
-    .text
-    .thumb
-    .thumb_func
-    .align 1
-    .globl    Reset_Handler
-    .type    Reset_Handler, %function
-Reset_Handler:
-    .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
- *      linker script.
- *      __etext: End of code section, i.e., begin of data sections to copy 
from.
- *      __data_start__/__data_end__: RAM address range that data should be
- *      copied to. Both must be aligned to 4 bytes boundary.  */
-
-    ldr    r1, =__etext
-    ldr    r2, =__data_start__
-    ldr    r3, =__data_end__
-
-    subs    r3, r2
-    ble     .LC0
-
-.LC1:
-    subs    r3, 4
-    ldr    r0, [r1,r3]
-    str    r0, [r2,r3]
-    bgt    .LC1
-
-.LC0:
-
-    LDR     R0, =__HeapBase
-    LDR     R1, =__HeapLimit
-    BL      _sbrkInit
-
-    LDR     R0, =SystemInit
-    BLX     R0
-
-    BL      hal_system_init
-
-    LDR     R0, =_start
-    BX      R0
-
-    .pool
-    .cantunwind
-    .fnend
-    .size   Reset_Handler,.-Reset_Handler
-
-    .section ".text"
-
-
-/* Dummy Exception Handlers (infinite loops which can be modified) */
-
-    .weak   NMI_Handler
-    .type   NMI_Handler, %function
-NMI_Handler:
-    B       .
-    .size   NMI_Handler, . - NMI_Handler
-
-
-    .weak   HardFault_Handler
-    .type   HardFault_Handler, %function
-HardFault_Handler:
-    B       .
-    .size   HardFault_Handler, . - HardFault_Handler
-
-
-    .weak   MemoryManagement_Handler
-    .type   MemoryManagement_Handler, %function
-MemoryManagement_Handler:
-    B       .
-    .size   MemoryManagement_Handler, . - MemoryManagement_Handler
-
-
-    .weak   BusFault_Handler
-    .type   BusFault_Handler, %function
-BusFault_Handler:
-    B       .
-    .size   BusFault_Handler, . - BusFault_Handler
-
-
-    .weak   UsageFault_Handler
-    .type   UsageFault_Handler, %function
-UsageFault_Handler:
-    B       .
-    .size   UsageFault_Handler, . - UsageFault_Handler
-
-
-    .weak   SVC_Handler
-    .type   SVC_Handler, %function
-SVC_Handler:
-    B       .
-    .size   SVC_Handler, . - SVC_Handler
-
-
-    .weak   DebugMon_Handler
-    .type   DebugMon_Handler, %function
-DebugMon_Handler:
-    b       .
-    .size   DebugMon_Handler, . - DebugMon_Handler
-
-
-    .weak   PendSV_Handler
-    .type   PendSV_Handler, %function
-PendSV_Handler:
-    B       .
-    .size   PendSV_Handler, . - PendSV_Handler
-
-
-    .weak   SysTick_Handler
-    .type   SysTick_Handler, %function
-SysTick_Handler:
-    B       .
-    .size   SysTick_Handler, . - SysTick_Handler
-
-
-/* IRQ Handlers */
-
-    .globl  Default_Handler
-    .type   Default_Handler, %function
-Default_Handler:
-    B       .
-    .size   Default_Handler, . - Default_Handler
-
-    .macro  IRQ handler
-    .weak   \handler
-    .set    \handler, Default_Handler
-    .endm
-
-    IRQ  POWER_CLOCK_IRQHandler
-    IRQ  RADIO_IRQHandler
-    IRQ  UARTE0_UART0_IRQHandler
-    IRQ  SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler
-    IRQ  SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler
-    IRQ  NFCT_IRQHandler
-    IRQ  GPIOTE_IRQHandler
-    IRQ  SAADC_IRQHandler
-    IRQ  TIMER0_IRQHandler
-    IRQ  TIMER1_IRQHandler
-    IRQ  TIMER2_IRQHandler
-    IRQ  RTC0_IRQHandler
-    IRQ  TEMP_IRQHandler
-    IRQ  RNG_IRQHandler
-    IRQ  ECB_IRQHandler
-    IRQ  CCM_AAR_IRQHandler
-    IRQ  WDT_IRQHandler
-    IRQ  RTC1_IRQHandler
-    IRQ  QDEC_IRQHandler
-    IRQ  COMP_LPCOMP_IRQHandler
-    IRQ  SWI0_EGU0_IRQHandler
-    IRQ  SWI1_EGU1_IRQHandler
-    IRQ  SWI2_EGU2_IRQHandler
-    IRQ  SWI3_EGU3_IRQHandler
-    IRQ  SWI4_EGU4_IRQHandler
-    IRQ  SWI5_EGU5_IRQHandler
-    IRQ  TIMER3_IRQHandler
-    IRQ  TIMER4_IRQHandler
-    IRQ  PWM0_IRQHandler
-    IRQ  PDM_IRQHandler
-    IRQ  MWU_IRQHandler
-    IRQ  PWM1_IRQHandler
-    IRQ  PWM2_IRQHandler
-    IRQ  SPIM2_SPIS2_SPI2_IRQHandler
-    IRQ  RTC2_IRQHandler
-    IRQ  I2S_IRQHandler
-    IRQ  FPU_IRQHandler
-    IRQ  USBD_IRQHandler
-    IRQ  UARTE1_IRQHandler
-    IRQ  QSPI_IRQHandler
-    IRQ  CRYPTOCELL_IRQHandler
-    IRQ  SPIM3_IRQHandler
-    IRQ  PWM3_IRQHandler
-
-  .end

Reply via email to