You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by je...@apache.org on 2024/05/06 11:07:36 UTC

(mynewt-core) branch master updated (3e287866e -> 11a237506)

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

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


    from 3e287866e hw/mcu/stm32h7: Use linear sector flash driver
     new 23b1e976c mcu/nrf52: Add interrupt vectors for common startup code
     new 11a237506 hw/bsp: Add common startup support for nrf52

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../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}/include/mcu/mcu_vectors.h            |  34 +--
 .../include/mcu/vectors/nrf52805_vectors.h}        |  97 +++---
 .../include/mcu/vectors/nrf52810_vectors.h}        |  96 +++---
 .../include/mcu/vectors/nrf52811_vectors.h}        |  96 +++---
 .../include/mcu/vectors/nrf52820_vectors.h}        |  99 ++++---
 .../include/mcu/vectors/nrf52833_vectors.h}        |  99 ++++---
 .../include/mcu/vectors/nrf52840_vectors.h}        |  99 ++++---
 .../nrf52xxx/include/mcu/vectors/nrf52_vectors.h}  |  99 ++++---
 .../nrf52xxx/src/arch/cortex_m4/gcc_startup_cm4.s  | 326 ---------------------
 94 files changed, 486 insertions(+), 1414 deletions(-)
 delete mode 100755 hw/bsp/ada_feather_nrf52/ada_feather_nrf52_debug.cmd
 delete mode 100755 hw/bsp/ada_feather_nrf52/ada_feather_nrf52_download.cmd
 delete mode 100755 hw/bsp/arduino_primo_nrf52/primo_debug.cmd
 delete mode 100755 hw/bsp/arduino_primo_nrf52/primo_download.cmd
 delete mode 100755 hw/bsp/bmd300eval/bmd300eval_debug.cmd
 delete mode 100755 hw/bsp/bmd300eval/bmd300eval_download.cmd
 delete mode 100755 hw/bsp/dwm1001-dev/dwm1001-dev_debug.cmd
 delete mode 100755 hw/bsp/dwm1001-dev/dwm1001-dev_download.cmd
 delete mode 100755 hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_debug.cmd
 delete mode 100755 hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_download.cmd
 delete mode 100644 hw/bsp/nina-b1/nrf52dk_debug.cmd
 delete mode 100644 hw/bsp/nina-b1/nrf52dk_download.cmd
 delete mode 100755 hw/bsp/nordic_pca10056/nordic_pca10056_debug.cmd
 delete mode 100755 hw/bsp/nordic_pca10056/nordic_pca10056_download.cmd
 delete mode 100755 hw/bsp/nordic_pca20020/nordic_pca20020_debug.cmd
 delete mode 100755 hw/bsp/nordic_pca20020/nordic_pca20020_download.cmd
 delete mode 100755 hw/bsp/puckjs/puckjs_debug.cmd
 delete mode 100755 hw/bsp/puckjs/puckjs_download.cmd
 delete mode 100755 hw/bsp/rb-blend2/rb-blend2_debug.cmd
 delete mode 100755 hw/bsp/rb-blend2/rb-blend2_download.cmd
 delete mode 100755 hw/bsp/rb-nano2/rb-nano2_debug.cmd
 delete mode 100755 hw/bsp/rb-nano2/rb-nano2_download.cmd
 delete mode 100755 hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_debug.cmd
 delete mode 100755 hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_download.cmd
 delete mode 100755 hw/bsp/telee02/telee02_debug.cmd
 delete mode 100755 hw/bsp/telee02/telee02_download.cmd
 delete mode 100755 hw/bsp/vbluno52/vbluno52_debug.cmd
 delete mode 100755 hw/bsp/vbluno52/vbluno52_download.cmd
 copy hw/mcu/{stm/stm32u5xx => nordic/nrf52xxx}/include/mcu/mcu_vectors.h (53%)
 copy hw/mcu/{stm/stm32f1xx/include/mcu/vectors/stm32f100xb_vectors.h => nordic/nrf52xxx/include/mcu/vectors/nrf52805_vectors.h} (64%)
 copy hw/mcu/{stm/stm32f1xx/include/mcu/vectors/stm32f100xb_vectors.h => nordic/nrf52xxx/include/mcu/vectors/nrf52810_vectors.h} (64%)
 copy hw/mcu/{stm/stm32f1xx/include/mcu/vectors/stm32f100xb_vectors.h => nordic/nrf52xxx/include/mcu/vectors/nrf52811_vectors.h} (64%)
 copy hw/mcu/{stm/stm32f1xx/include/mcu/vectors/stm32f101xe_vectors.h => nordic/nrf52xxx/include/mcu/vectors/nrf52820_vectors.h} (63%)
 copy hw/mcu/{stm/stm32f1xx/include/mcu/vectors/stm32f101xe_vectors.h => nordic/nrf52xxx/include/mcu/vectors/nrf52833_vectors.h} (62%)
 copy hw/mcu/{stm/stm32f1xx/include/mcu/vectors/stm32f101xe_vectors.h => nordic/nrf52xxx/include/mcu/vectors/nrf52840_vectors.h} (61%)
 copy hw/mcu/{stm/stm32f1xx/include/mcu/vectors/stm32f101xe_vectors.h => nordic/nrf52xxx/include/mcu/vectors/nrf52_vectors.h} (62%)
 delete mode 100644 hw/mcu/nordic/nrf52xxx/src/arch/cortex_m4/gcc_startup_cm4.s


(mynewt-core) 02/02: hw/bsp: Add common startup support for nrf52

Posted by je...@apache.org.
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 <je...@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 <je...@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


(mynewt-core) 01/02: mcu/nrf52: Add interrupt vectors for common startup code

Posted by je...@apache.org.
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 23b1e976ce430df0db8ebf9b2359fcd4e19ed84c
Author: Jerzy Kasenberg <je...@codecoup.pl>
AuthorDate: Thu Feb 1 09:21:37 2024 +0100

    mcu/nrf52: Add interrupt vectors for common startup code
    
    This adds headers with interrupt vectors for common startup code
    
    Signed-off-by: Jerzy Kasenberg <je...@codecoup.pl>
---
 hw/mcu/nordic/nrf52xxx/include/mcu/mcu_vectors.h   |  36 +++++
 .../include/mcu/vectors/nrf52805_vectors.h         | 148 +++++++++++++++++++++
 .../include/mcu/vectors/nrf52810_vectors.h         | 147 ++++++++++++++++++++
 .../include/mcu/vectors/nrf52811_vectors.h         | 147 ++++++++++++++++++++
 .../include/mcu/vectors/nrf52820_vectors.h         | 147 ++++++++++++++++++++
 .../include/mcu/vectors/nrf52833_vectors.h         | 147 ++++++++++++++++++++
 .../include/mcu/vectors/nrf52840_vectors.h         | 147 ++++++++++++++++++++
 .../nrf52xxx/include/mcu/vectors/nrf52_vectors.h   | 147 ++++++++++++++++++++
 8 files changed, 1066 insertions(+)

diff --git a/hw/mcu/nordic/nrf52xxx/include/mcu/mcu_vectors.h b/hw/mcu/nordic/nrf52xxx/include/mcu/mcu_vectors.h
new file mode 100644
index 000000000..668841a7f
--- /dev/null
+++ b/hw/mcu/nordic/nrf52xxx/include/mcu/mcu_vectors.h
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#if defined(NRF52805_XXAA)
+#include "vectors/nrf52805_vectors.h"
+#elif defined(NRF52810_XXAA)
+#include "vectors/nrf52810_vectors.h"
+#elif defined(NRF52811_XXAA)
+#include "vectors/nrf52811_vectors.h"
+#elif defined(NRF52820_XXAA)
+#include "vectors/nrf52820_vectors.h"
+#elif defined(NRF52832_XXAA) || defined (NRF52832_XXAB)
+#include "vectors/nrf52_vectors.h"
+#elif defined(NRF52833_XXAA)
+#include "vectors/nrf52833_vectors.h"
+#elif defined(NRF52840_XXAA)
+#include "vectors/nrf52840_vectors.h"
+#else
+#error "Unsupported device"
+#endif /* NRF51, NRF52805_XXAA, NRF52810_XXAA, NRF52811_XXAA, NRF52820_XXAA, NRF52832_XXAA, NRF52832_XXAB, NRF52833_XXAA, NRF52840_XXAA, NRF5340_XXAA_APPLICATION, NRF5340_XXAA_NETWORK, NRF9160_XXAA */
diff --git a/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52805_vectors.h b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52805_vectors.h
new file mode 100644
index 000000000..2e1e0dbac
--- /dev/null
+++ b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52805_vectors.h
@@ -0,0 +1,148 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+INT_VECTOR_STACK_TOP(__StackTop)
+INT_VECTOR_RESET_HANDLER(Reset_Handler)
+INT_VECTOR_NMI_HANDLER(NMI_Handler)
+INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_SVC_HANDLER(SVC_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_PENDSV_HANDLER(PendSV_Handler)
+INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler)
+INT_VECTOR(POWER_CLOCK_IRQHandler)
+INT_VECTOR(RADIO_IRQHandler)
+INT_VECTOR(UARTE0_UART0_IRQHandler)
+INT_VECTOR(TWIM0_TWIS0_TWI0_IRQHandler)
+INT_VECTOR(SPIM0_SPIS0_SPI0_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(GPIOTE_IRQHandler)
+INT_VECTOR(SAADC_IRQHandler)
+INT_VECTOR(TIMER0_IRQHandler)
+INT_VECTOR(TIMER1_IRQHandler)
+INT_VECTOR(TIMER2_IRQHandler)
+INT_VECTOR(RTC0_IRQHandler)
+INT_VECTOR(TEMP_IRQHandler)
+INT_VECTOR(RNG_IRQHandler)
+INT_VECTOR(ECB_IRQHandler)
+INT_VECTOR(CCM_AAR_IRQHandler)
+INT_VECTOR(WDT_IRQHandler)
+INT_VECTOR(RTC1_IRQHandler)
+INT_VECTOR(QDEC_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(SWI0_EGU0_IRQHandler)
+INT_VECTOR(SWI1_EGU1_IRQHandler)
+INT_VECTOR(SWI2_IRQHandler)
+INT_VECTOR(SWI3_IRQHandler)
+INT_VECTOR(SWI4_IRQHandler)
+INT_VECTOR(SWI5_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
diff --git a/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52810_vectors.h b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52810_vectors.h
new file mode 100644
index 000000000..b7c7f09ce
--- /dev/null
+++ b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52810_vectors.h
@@ -0,0 +1,147 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+INT_VECTOR_STACK_TOP(__StackTop)
+INT_VECTOR_RESET_HANDLER(Reset_Handler)
+INT_VECTOR_NMI_HANDLER(NMI_Handler)
+INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_SVC_HANDLER(SVC_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_PENDSV_HANDLER(PendSV_Handler)
+INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler)
+INT_VECTOR(POWER_CLOCK_IRQHandler)
+INT_VECTOR(RADIO_IRQHandler)
+INT_VECTOR(UARTE0_UART0_IRQHandler)
+INT_VECTOR(TWIM0_TWIS0_TWI0_IRQHandler)
+INT_VECTOR(SPIM0_SPIS0_SPI0_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(GPIOTE_IRQHandler)
+INT_VECTOR(SAADC_IRQHandler)
+INT_VECTOR(TIMER0_IRQHandler)
+INT_VECTOR(TIMER1_IRQHandler)
+INT_VECTOR(TIMER2_IRQHandler)
+INT_VECTOR(RTC0_IRQHandler)
+INT_VECTOR(TEMP_IRQHandler)
+INT_VECTOR(RNG_IRQHandler)
+INT_VECTOR(ECB_IRQHandler)
+INT_VECTOR(CCM_AAR_IRQHandler)
+INT_VECTOR(WDT_IRQHandler)
+INT_VECTOR(RTC1_IRQHandler)
+INT_VECTOR(QDEC_IRQHandler)
+INT_VECTOR(COMP_IRQHandler)
+INT_VECTOR(SWI0_EGU0_IRQHandler)
+INT_VECTOR(SWI1_EGU1_IRQHandler)
+INT_VECTOR(SWI2_IRQHandler)
+INT_VECTOR(SWI3_IRQHandler)
+INT_VECTOR(SWI4_IRQHandler)
+INT_VECTOR(SWI5_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(PWM0_IRQHandler)
+INT_VECTOR(PDM_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
diff --git a/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52811_vectors.h b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52811_vectors.h
new file mode 100644
index 000000000..2ec25b881
--- /dev/null
+++ b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52811_vectors.h
@@ -0,0 +1,147 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+INT_VECTOR_STACK_TOP(__StackTop)
+INT_VECTOR_RESET_HANDLER(Reset_Handler)
+INT_VECTOR_NMI_HANDLER(NMI_Handler)
+INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_SVC_HANDLER(SVC_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_PENDSV_HANDLER(PendSV_Handler)
+INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler)
+INT_VECTOR(POWER_CLOCK_IRQHandler)
+INT_VECTOR(RADIO_IRQHandler)
+INT_VECTOR(UARTE0_UART0_IRQHandler)
+INT_VECTOR(TWIM0_TWIS0_TWI0_SPIM1_SPIS1_SPI1_IRQHandler)
+INT_VECTOR(SPIM0_SPIS0_SPI0_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(GPIOTE_IRQHandler)
+INT_VECTOR(SAADC_IRQHandler)
+INT_VECTOR(TIMER0_IRQHandler)
+INT_VECTOR(TIMER1_IRQHandler)
+INT_VECTOR(TIMER2_IRQHandler)
+INT_VECTOR(RTC0_IRQHandler)
+INT_VECTOR(TEMP_IRQHandler)
+INT_VECTOR(RNG_IRQHandler)
+INT_VECTOR(ECB_IRQHandler)
+INT_VECTOR(CCM_AAR_IRQHandler)
+INT_VECTOR(WDT_IRQHandler)
+INT_VECTOR(RTC1_IRQHandler)
+INT_VECTOR(QDEC_IRQHandler)
+INT_VECTOR(COMP_IRQHandler)
+INT_VECTOR(SWI0_EGU0_IRQHandler)
+INT_VECTOR(SWI1_EGU1_IRQHandler)
+INT_VECTOR(SWI2_IRQHandler)
+INT_VECTOR(SWI3_IRQHandler)
+INT_VECTOR(SWI4_IRQHandler)
+INT_VECTOR(SWI5_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(PWM0_IRQHandler)
+INT_VECTOR(PDM_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
diff --git a/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52820_vectors.h b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52820_vectors.h
new file mode 100644
index 000000000..cc32fd8c5
--- /dev/null
+++ b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52820_vectors.h
@@ -0,0 +1,147 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+INT_VECTOR_STACK_TOP(__StackTop)
+INT_VECTOR_RESET_HANDLER(Reset_Handler)
+INT_VECTOR_NMI_HANDLER(NMI_Handler)
+INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_SVC_HANDLER(SVC_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_PENDSV_HANDLER(PendSV_Handler)
+INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler)
+INT_VECTOR(POWER_CLOCK_IRQHandler)
+INT_VECTOR(RADIO_IRQHandler)
+INT_VECTOR(UARTE0_UART0_IRQHandler)
+INT_VECTOR(SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler)
+INT_VECTOR(SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(GPIOTE_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(TIMER0_IRQHandler)
+INT_VECTOR(TIMER1_IRQHandler)
+INT_VECTOR(TIMER2_IRQHandler)
+INT_VECTOR(RTC0_IRQHandler)
+INT_VECTOR(TEMP_IRQHandler)
+INT_VECTOR(RNG_IRQHandler)
+INT_VECTOR(ECB_IRQHandler)
+INT_VECTOR(CCM_AAR_IRQHandler)
+INT_VECTOR(WDT_IRQHandler)
+INT_VECTOR(RTC1_IRQHandler)
+INT_VECTOR(QDEC_IRQHandler)
+INT_VECTOR(COMP_IRQHandler)
+INT_VECTOR(SWI0_EGU0_IRQHandler)
+INT_VECTOR(SWI1_EGU1_IRQHandler)
+INT_VECTOR(SWI2_EGU2_IRQHandler)
+INT_VECTOR(SWI3_EGU3_IRQHandler)
+INT_VECTOR(SWI4_EGU4_IRQHandler)
+INT_VECTOR(SWI5_EGU5_IRQHandler)
+INT_VECTOR(TIMER3_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(USBD_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
diff --git a/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52833_vectors.h b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52833_vectors.h
new file mode 100644
index 000000000..93288ef57
--- /dev/null
+++ b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52833_vectors.h
@@ -0,0 +1,147 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+INT_VECTOR_STACK_TOP(__StackTop)
+INT_VECTOR_RESET_HANDLER(Reset_Handler)
+INT_VECTOR_NMI_HANDLER(NMI_Handler)
+INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_SVC_HANDLER(SVC_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_PENDSV_HANDLER(PendSV_Handler)
+INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler)
+INT_VECTOR(POWER_CLOCK_IRQHandler)
+INT_VECTOR(RADIO_IRQHandler)
+INT_VECTOR(UARTE0_UART0_IRQHandler)
+INT_VECTOR(SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler)
+INT_VECTOR(SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler)
+INT_VECTOR(NFCT_IRQHandler)
+INT_VECTOR(GPIOTE_IRQHandler)
+INT_VECTOR(SAADC_IRQHandler)
+INT_VECTOR(TIMER0_IRQHandler)
+INT_VECTOR(TIMER1_IRQHandler)
+INT_VECTOR(TIMER2_IRQHandler)
+INT_VECTOR(RTC0_IRQHandler)
+INT_VECTOR(TEMP_IRQHandler)
+INT_VECTOR(RNG_IRQHandler)
+INT_VECTOR(ECB_IRQHandler)
+INT_VECTOR(CCM_AAR_IRQHandler)
+INT_VECTOR(WDT_IRQHandler)
+INT_VECTOR(RTC1_IRQHandler)
+INT_VECTOR(QDEC_IRQHandler)
+INT_VECTOR(COMP_LPCOMP_IRQHandler)
+INT_VECTOR(SWI0_EGU0_IRQHandler)
+INT_VECTOR(SWI1_EGU1_IRQHandler)
+INT_VECTOR(SWI2_EGU2_IRQHandler)
+INT_VECTOR(SWI3_EGU3_IRQHandler)
+INT_VECTOR(SWI4_EGU4_IRQHandler)
+INT_VECTOR(SWI5_EGU5_IRQHandler)
+INT_VECTOR(TIMER3_IRQHandler)
+INT_VECTOR(TIMER4_IRQHandler)
+INT_VECTOR(PWM0_IRQHandler)
+INT_VECTOR(PDM_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(MWU_IRQHandler)
+INT_VECTOR(PWM1_IRQHandler)
+INT_VECTOR(PWM2_IRQHandler)
+INT_VECTOR(SPIM2_SPIS2_SPI2_IRQHandler)
+INT_VECTOR(RTC2_IRQHandler)
+INT_VECTOR(I2S_IRQHandler)
+INT_VECTOR(FPU_IRQHandler)
+INT_VECTOR(USBD_IRQHandler)
+INT_VECTOR(UARTE1_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(PWM3_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(SPIM3_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
diff --git a/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52840_vectors.h b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52840_vectors.h
new file mode 100644
index 000000000..94c6a9454
--- /dev/null
+++ b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52840_vectors.h
@@ -0,0 +1,147 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+INT_VECTOR_STACK_TOP(__StackTop)
+INT_VECTOR_RESET_HANDLER(Reset_Handler)
+INT_VECTOR_NMI_HANDLER(NMI_Handler)
+INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_SVC_HANDLER(SVC_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_PENDSV_HANDLER(PendSV_Handler)
+INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler)
+INT_VECTOR(POWER_CLOCK_IRQHandler)
+INT_VECTOR(RADIO_IRQHandler)
+INT_VECTOR(UARTE0_UART0_IRQHandler)
+INT_VECTOR(SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler)
+INT_VECTOR(SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler)
+INT_VECTOR(NFCT_IRQHandler)
+INT_VECTOR(GPIOTE_IRQHandler)
+INT_VECTOR(SAADC_IRQHandler)
+INT_VECTOR(TIMER0_IRQHandler)
+INT_VECTOR(TIMER1_IRQHandler)
+INT_VECTOR(TIMER2_IRQHandler)
+INT_VECTOR(RTC0_IRQHandler)
+INT_VECTOR(TEMP_IRQHandler)
+INT_VECTOR(RNG_IRQHandler)
+INT_VECTOR(ECB_IRQHandler)
+INT_VECTOR(CCM_AAR_IRQHandler)
+INT_VECTOR(WDT_IRQHandler)
+INT_VECTOR(RTC1_IRQHandler)
+INT_VECTOR(QDEC_IRQHandler)
+INT_VECTOR(COMP_LPCOMP_IRQHandler)
+INT_VECTOR(SWI0_EGU0_IRQHandler)
+INT_VECTOR(SWI1_EGU1_IRQHandler)
+INT_VECTOR(SWI2_EGU2_IRQHandler)
+INT_VECTOR(SWI3_EGU3_IRQHandler)
+INT_VECTOR(SWI4_EGU4_IRQHandler)
+INT_VECTOR(SWI5_EGU5_IRQHandler)
+INT_VECTOR(TIMER3_IRQHandler)
+INT_VECTOR(TIMER4_IRQHandler)
+INT_VECTOR(PWM0_IRQHandler)
+INT_VECTOR(PDM_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(MWU_IRQHandler)
+INT_VECTOR(PWM1_IRQHandler)
+INT_VECTOR(PWM2_IRQHandler)
+INT_VECTOR(SPIM2_SPIS2_SPI2_IRQHandler)
+INT_VECTOR(RTC2_IRQHandler)
+INT_VECTOR(I2S_IRQHandler)
+INT_VECTOR(FPU_IRQHandler)
+INT_VECTOR(USBD_IRQHandler)
+INT_VECTOR(UARTE1_IRQHandler)
+INT_VECTOR(QSPI_IRQHandler)
+INT_VECTOR(CRYPTOCELL_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(PWM3_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(SPIM3_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
diff --git a/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52_vectors.h b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52_vectors.h
new file mode 100644
index 000000000..89a63b414
--- /dev/null
+++ b/hw/mcu/nordic/nrf52xxx/include/mcu/vectors/nrf52_vectors.h
@@ -0,0 +1,147 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+INT_VECTOR_STACK_TOP(__StackTop)
+INT_VECTOR_RESET_HANDLER(Reset_Handler)
+INT_VECTOR_NMI_HANDLER(NMI_Handler)
+INT_VECTOR_HARDFAULT_HANDLER(HardFault_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_SVC_HANDLER(SVC_Handler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_PENDSV_HANDLER(PendSV_Handler)
+INT_VECTOR_SYSTICK_HANDLER(SysTick_Handler)
+INT_VECTOR(POWER_CLOCK_IRQHandler)
+INT_VECTOR(RADIO_IRQHandler)
+INT_VECTOR(UARTE0_UART0_IRQHandler)
+INT_VECTOR(SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler)
+INT_VECTOR(SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler)
+INT_VECTOR(NFCT_IRQHandler)
+INT_VECTOR(GPIOTE_IRQHandler)
+INT_VECTOR(SAADC_IRQHandler)
+INT_VECTOR(TIMER0_IRQHandler)
+INT_VECTOR(TIMER1_IRQHandler)
+INT_VECTOR(TIMER2_IRQHandler)
+INT_VECTOR(RTC0_IRQHandler)
+INT_VECTOR(TEMP_IRQHandler)
+INT_VECTOR(RNG_IRQHandler)
+INT_VECTOR(ECB_IRQHandler)
+INT_VECTOR(CCM_AAR_IRQHandler)
+INT_VECTOR(WDT_IRQHandler)
+INT_VECTOR(RTC1_IRQHandler)
+INT_VECTOR(QDEC_IRQHandler)
+INT_VECTOR(COMP_LPCOMP_IRQHandler)
+INT_VECTOR(SWI0_EGU0_IRQHandler)
+INT_VECTOR(SWI1_EGU1_IRQHandler)
+INT_VECTOR(SWI2_EGU2_IRQHandler)
+INT_VECTOR(SWI3_EGU3_IRQHandler)
+INT_VECTOR(SWI4_EGU4_IRQHandler)
+INT_VECTOR(SWI5_EGU5_IRQHandler)
+INT_VECTOR(TIMER3_IRQHandler)
+INT_VECTOR(TIMER4_IRQHandler)
+INT_VECTOR(PWM0_IRQHandler)
+INT_VECTOR(PDM_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR(MWU_IRQHandler)
+INT_VECTOR(PWM1_IRQHandler)
+INT_VECTOR(PWM2_IRQHandler)
+INT_VECTOR(SPIM2_SPIS2_SPI2_IRQHandler)
+INT_VECTOR(RTC2_IRQHandler)
+INT_VECTOR(I2S_IRQHandler)
+INT_VECTOR(FPU_IRQHandler)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)
+INT_VECTOR_UNUSED(0)