diff --git a/.gitignore b/.gitignore
index 5d7a5b23ef5a173ed022a0a97832d4a1f727b7fb..543eccd8b80652582d693ee7dcae6f346558980d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -67,5 +67,6 @@ posix-configs/SITL/init/test/*_generated
 
 .vscode/.cortex-debug.peripherals.state.json
 .vscode/.cortex-debug.registers.state.json
-.vscode/c_cpp_properties.json
+.vscode/compile_commands.json
+.vscode/ipch/
 
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000000000000000000000000000000000000..2e4bfd61df850f447d273439bd738604d09f7072
--- /dev/null
+++ b/.vscode/c_cpp_properties.json
@@ -0,0 +1,26 @@
+{
+    "configurations": [
+        {
+            "name": "Linux",
+            "intelliSenseMode": "gcc-x64",
+            "includePath": [
+                "${workspaceFolder}/**"
+            ],
+            "defines": [],
+            "browse": {
+                "path": [
+                    "${workspaceFolder}/src/",
+                    "${workspaceFolder}/src/lib/",
+                    "${workspaceFolder}/src/lib/matrix",
+                    "${workspaceFolder}/src/platforms",
+                    "${workspaceFolder}/platforms/",
+                    "."
+                ],
+                "limitSymbolsToIncludedHeaders": true
+            },
+            "compileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
+            "configurationProvider": "vector-of-bool.cmake-tools"
+        }
+    ],
+    "version": 4
+}
\ No newline at end of file
diff --git a/.vscode/cmake-kits.json b/.vscode/cmake-kits.json
deleted file mode 100644
index 5f09a21261630a7b46c6d2f40a29acea9756df83..0000000000000000000000000000000000000000
--- a/.vscode/cmake-kits.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
-        {
-                "name": "PX4 default",
-                "preferredGenerator": "Ninja"
-        }
-]
\ No newline at end of file
diff --git a/.vscode/cmake-variants.yaml b/.vscode/cmake-variants.yaml
index 98c87d0da9757a3d24f875a8748f53b1def3366b..6d53cbd4835c238b2b5b564800835a538f7b9341 100644
--- a/.vscode/cmake-variants.yaml
+++ b/.vscode/cmake-variants.yaml
@@ -11,58 +11,53 @@ CONFIG:
       buildType: Debug
       settings:
         CONFIG: px4_sitl_default
-    px4_sitl_rtps:
-      short: px4_sitl_rtps
-      buildType: RelWithDebInfo
+    px4_sitl_default_ASan:
+      short: px4_sitl (Address Sanitizer)
+      buildType: AddressSanitizer
       settings:
-        CONFIG: px4_sitl_rtps
+        CONFIG: px4_sitl_default        
     px4_fmu-v2_default:
       short: px4_fmu-v2
-      buildType: MinRelSize
+      buildType: MinSizeRel
       settings:
         CONFIG: px4_fmu-v2_default
     px4_fmu-v3_default:
       short: px4_fmu-v3
-      buildType: MinRelSize
+      buildType: MinSizeRel
       settings:
         CONFIG: px4_fmu-v3_default
     px4_fmu-v4_default:
       short: px4_fmu-v4
-      buildType: MinRelSize
+      buildType: MinSizeRel
       settings:
         CONFIG: px4_fmu-v4_default
     px4_fmu-v4pro_default:
       short: px4_fmu-v4pro
-      buildType: MinRelSize
+      buildType: MinSizeRel
       settings:
         CONFIG: px4_fmu-v4pro_default
     px4_fmu-v5_default:
       short: px4_fmu-v5
-      buildType: MinRelSize
+      buildType: MinSizeRel
       settings:
         CONFIG: px4_fmu-v5_default
-    px4_fmu-v5_rtps:
-      short: px4_fmu-v5_rtps
-      buildType: MinRelSize
-      settings:
-        CONFIG: px4_fmu-v5_rtps
     airmind_mindpx-v2_default:
       short: airmind_mindpx-v2
-      buildType: MinRelSize
+      buildType: MinSizeRel
       settings:
         CONFIG: airmind_mindpx-v2_default
     av_x-v1_default:
       short: av-x
-      buildType: MinRelSize
+      buildType: MinSizeRel
       settings:
         CONFIG: av_x-v1_default
     intel_aerofc-v1_default:
       short: intel_aerofc-v1
-      buildType: MinRelSize
+      buildType: MinSizeRel
       settings:
         CONFIG: intel_aerofc-v1_default
     nxp_fmuk66-v3_default:
       short: nxp_fmuk66-v3
-      buildType: MinRelSize
+      buildType: MinSizeRel
       settings:
         CONFIG: nxp_fmuk66-v3_default
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 14128d48b1bce7dbe6f002e4360d2b57d171bff7..1121504aef59b2cec44dec0502023008e17f70c8 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -2,12 +2,16 @@
     // See http://go.microsoft.com/fwlink/?LinkId=827846
     // for the documentation about the extensions.json format
     "recommendations": [
+        "ajshort.ros",
         "chiehyu.vscode-astyle",
+        "dan-c-underwood.arm",
         "github.vscode-pull-request-github",
         "marus25.cortex-debug",
         "ms-python.python",
         "ms-vscode.cpptools",
+        "peterjausovec.vscode-docker",
         "twxs.cmake",
-        "vector-of-bool.cmake-tools"
+        "vector-of-bool.cmake-tools",
+        "wholroyd.jinja"
     ]
-}
+}
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 601dee137e6490c45b686d8cd4bbbcf54f6902e0..ad11897832ffd26bf9d413936be0f7e6d9b8901f 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -1,115 +1,194 @@
 {
-        "version": "0.2.0",
-        "configurations": [
-            {
-                "name": "(gdb) Launch (shell)",
-                "type": "cppdbg",
-                "request": "launch",
-                "program": "${command:cmake.launchTargetPath}",
-                "args": [
-                    "${workspaceFolder}/ROMFS/px4fmu_common",
-                    "-s", "etc/init.d-posix/rcS",
-                    "-t", "${workspaceFolder}/test_data"
-                ],
-                "stopAtEntry": false,
-                "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp",
-                "environment": [{"name": "PX4_SIM_MODEL", "value": "shell"}],
-                "externalConsole": false,
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "SITL shell",
+            "type": "cppdbg",
+            "request": "launch",
+            "program": "${command:cmake.launchTargetPath}",
+            "args": [
+                "${workspaceFolder}/ROMFS/px4fmu_common",
+                "-s",
+                "etc/init.d-posix/rcS",
+                "-t",
+                "${workspaceFolder}/test_data"
+            ],
+            "stopAtEntry": false,
+            "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp",
+            "environment": [
+                {
+                    "name": "PX4_SIM_MODEL",
+                    "value": "shell"
+                }
+            ],
+            "externalConsole": false,
+            "linux": {
                 "MIMode": "gdb",
                 "setupCommands": [
                     {
                         "description": "Enable pretty-printing for gdb",
                         "text": "-enable-pretty-printing",
-
-                        "ignoreFailures": true,
-
+                        "ignoreFailures": true
+                    },
+                    {
+                        "description": "PX4 ignore wq signals",
                         "text": "handle SIGCONT nostop noprint nopass",
+                        "ignoreFailures": true
                     }
                 ]
             },
-            {
-                "name": "(lldb) Launch (shell)",
-                "type": "cppdbg",
-                "request": "launch",
-                "program": "${command:cmake.launchTargetPath}",
-                "args": [
-                    "${workspaceFolder}/ROMFS/px4fmu_common",
-                    "-s", "etc/init.d-posix/rcS",
-                    "-t", "${workspaceFolder}/test_data"
-                ],
-                "stopAtEntry": false,
-                "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp",
-                "environment": [{"name": "PX4_SIM_MODEL", "value": "shell"}],
-                "externalConsole": true,
+            "osx": {
                 "MIMode": "lldb",
                 "setupCommands": [
                     {
                         "text": "pro hand -p true -s false -n false SIGCONT",
                     }
                 ]
-            },
-            {
-                "name": "(gdb) Launch (jmavsim iris)",
-                "type": "cppdbg",
-                "request": "launch",
-                "program": "${command:cmake.launchTargetPath}",
-                "args": [
-                    "${workspaceFolder}/ROMFS/px4fmu_common",
-                    "-s", "etc/init.d-posix/rcS",
-                    "-t", "${workspaceFolder}/test_data"
-                ],
-                "stopAtEntry": false,
-                "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp",
-                "environment": [{"name": "PX4_SIM_MODEL", "value": "iris"}],
-                "externalConsole": false,
+            }
+        },
+        {
+            "name": "SITL jmavsim iris",
+            "type": "cppdbg",
+            "request": "launch",
+            "program": "${command:cmake.launchTargetPath}",
+            "args": [
+                "${workspaceFolder}/ROMFS/px4fmu_common",
+                "-s",
+                "etc/init.d-posix/rcS",
+                "-t",
+                "${workspaceFolder}/test_data"
+            ],
+            "stopAtEntry": false,
+            "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp",
+            "environment": [
+                {
+                    "name": "PX4_SIM_MODEL",
+                    "value": "iris"
+                }
+            ],
+            "externalConsole": false,
+            "preLaunchTask": "jmavsim",
+            "postDebugTask": "jmavsim kill",
+            "linux": {
                 "MIMode": "gdb",
                 "setupCommands": [
                     {
                         "description": "Enable pretty-printing for gdb",
                         "text": "-enable-pretty-printing",
-
-                        "ignoreFailures": true,
-
+                        "ignoreFailures": true
+                    },
+                    {
+                        "description": "PX4 ignore wq signals",
                         "text": "handle SIGCONT nostop noprint nopass",
-
+                        "ignoreFailures": true
                     }
-                ],
-                "preLaunchTask": "jmavsim"
+                ]
             },
-            {
-                "name": "(lldb) Launch (jmavsim iris)",
-                "type": "cppdbg",
-                "request": "launch",
-                "program": "${command:cmake.launchTargetPath}",
-                "args": [
-                    "${workspaceFolder}/ROMFS/px4fmu_common",
-                    "-s", "etc/init.d-posix/rcS",
-                    "-t", "${workspaceFolder}/test_data"
-                ],
-                "stopAtEntry": false,
-                "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp",
-                "environment": [{"name": "PX4_SIM_MODEL", "value": "iris"}],
-                "externalConsole": true,
+            "osx": {
                 "MIMode": "lldb",
-                "preLaunchTask": "jmavsim",
                 "setupCommands": [
                     {
                         "text": "pro hand -p true -s false -n false SIGCONT",
                     }
                 ]
+            }
+        },
+        {
+            "name": "SITL gazebo iris",
+            "type": "cppdbg",
+            "request": "launch",
+            "program": "${command:cmake.launchTargetPath}",
+            "args": [
+                "${workspaceFolder}/ROMFS/px4fmu_common",
+                "-s",
+                "etc/init.d-posix/rcS",
+                "-t",
+                "${workspaceFolder}/test_data"
+            ],
+            "stopAtEntry": false,
+            "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp",
+            "environment": [
+                {
+                    "name": "PX4_SIM_MODEL",
+                    "value": "iris"
+                }
+            ],
+            "externalConsole": false,
+            "preLaunchTask": "gazebo iris",
+            "postDebugTask": "gazebo kill",
+            "linux": {
+                "MIMode": "gdb",
+                "setupCommands": [
+                    {
+                        "description": "Enable pretty-printing for gdb",
+                        "text": "-enable-pretty-printing",
+                        "ignoreFailures": true
+                    },
+                    {
+                        "description": "PX4 ignore wq signals",
+                        "text": "handle SIGCONT nostop noprint nopass",
+                        "ignoreFailures": true
+                    }
+                ]
             },
-            {
-                "name": "(jlink) px4_fmu-v2",
-                "cwd": "${workspaceRoot}",
-                "executable": "${workspaceRoot}/build/px4_fmu-v2_default/px4_fmu-v2_default.elf",
-                "request": "launch",
-                "type": "cortex-debug",
-                "servertype": "jlink",
-                "device": "STM32F427VI",
-                "svdFile": "${workspaceRoot}/../cmsis-svd/data/STMicro/STM32F427.svd",
-                "interface": "swd",
-                "ipAddress": null,
-                "serialNumber": null
-            },
-        ]
-    }
\ No newline at end of file
+            "osx": {
+                "MIMode": "lldb",
+                "setupCommands": [
+                    {
+                        "text": "pro hand -p true -s false -n false SIGCONT",
+                    }
+                ]
+            }
+        },
+        {
+            "name": "px4_fmu-v2 (jlink) ",
+            "executable": "${command:cmake.launchTargetPath}",
+            "request": "launch",
+            "type": "cortex-debug",
+            "servertype": "jlink",
+            "device": "STM32F427VI",
+            "svdFile": "${workspaceRoot}/../cmsis-svd/data/STMicro/STM32F427.svd",
+            "interface": "swd"
+        },
+        {
+            "name": "px4_fmu-v3 (jlink)",
+            "executable": "${command:cmake.launchTargetPath}",
+            "request": "launch",
+            "type": "cortex-debug",
+            "servertype": "jlink",
+            "device": "STM32F427VI",
+            "svdFile": "${workspaceRoot}/../cmsis-svd/data/STMicro/STM32F427.svd",
+            "interface": "swd"
+        },
+        {
+            "name": "px4_fmu-v4 (jlink)",
+            "executable": "${command:cmake.launchTargetPath}",
+            "request": "launch",
+            "type": "cortex-debug",
+            "servertype": "jlink",
+            "device": "STM32F427VI",
+            "svdFile": "${workspaceRoot}/../cmsis-svd/data/STMicro/STM32F427.svd",
+            "interface": "swd"
+        },
+        {
+            "name": "px4_fmu-v4pro (jlink)",
+            "executable": "${command:cmake.launchTargetPath}",
+            "request": "launch",
+            "type": "cortex-debug",
+            "servertype": "jlink",
+            "device": "STM32F469VI",
+            "svdFile": "${workspaceRoot}/../cmsis-svd/data/STMicro/STM32F469.svd",
+            "interface": "swd"
+        },
+        {
+            "name": "px4_fmu-v5 (jlink)",
+            "executable": "${command:cmake.launchTargetPath}",
+            "request": "launch",
+            "type": "cortex-debug",
+            "servertype": "jlink",
+            "device": "STM32F765VI",
+            "svdFile": "${workspaceRoot}/../cmsis-svd/data/STMicro/STM32F7x5.svd",
+            "interface": "swd"
+        },
+    ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 52fe1b80eb5d722eeacdb5617a0bdcde1bfa6a02..94e40fa6539e32b957ebe5d5dfe9f1fc4b48358d 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,10 +1,82 @@
 {
         "editor.insertSpaces": false,
+        "editor.tabSize": 8,
         "editor.wordWrapColumn": 120,
+        "editor.suggest.localityBonus": true,
         "astyle.astylerc": "${workspaceFolder}/Tools/astyle/astylerc",
-        "C_Cpp.default.cppStandard": "c++11",
-        "C_Cpp.default.cStandard": "c99",
-        "cmake.buildDirectory": "${workspaceRoot}/build/${variant:CONFIG}",
+        "astyle.c.enable": true,
+        "astyle.cpp.enable": true,
+        "breadcrumbs.enabled": true,
         "cmake.autoRestartBuild": true,
+        "cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
+        "cmake.buildBeforeRun": true,
         "cmake.configureOnOpen": true,
+        "cmake.copyCompileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
+        "cmake.debugConfig": {
+                "name": "SITL shell (gdb)",
+                "type": "cppdbg",
+                "request": "launch",
+                "program": "${command:cmake.launchTargetPath}",
+                "args": [
+                        "${workspaceFolder}/ROMFS/px4fmu_common",
+                        "-s",
+                        "etc/init.d-posix/rcS",
+                        "-t",
+                        "${workspaceFolder}/test_data"
+                ],
+                "stopAtEntry": false,
+                "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp",
+                "environment": [
+                        {
+                                "name": "PX4_SIM_MODEL",
+                                "value": "shell"
+                        }
+                ],
+                "externalConsole": false,
+                "linux": {
+                        "MIMode": "gdb",
+                        "setupCommands": [
+                                {
+                                        "description": "Enable pretty-printing for gdb",
+                                        "text": "-enable-pretty-printing",
+                                        "ignoreFailures": true
+                                },
+                                {
+                                        "description": "PX4 ignore wq signals",
+                                        "text": "handle SIGCONT nostop noprint nopass",
+                                        "ignoreFailures": true
+                                }
+                        ]
+                },
+                "osx": {
+                        "MIMode": "lldb",
+                        "setupCommands": [
+                                {
+                                        "text": "pro hand -p true -s false -n false SIGCONT",
+                                }
+                        ]
+                }
+        },
+        "C_Cpp.clang_format_fallbackStyle": "none",
+        "C_Cpp.configurationWarnings": "Disabled",
+        "C_Cpp.default.cppStandard": "c++11",
+        "C_Cpp.default.cStandard": "c99",
+        "C_Cpp.default.intelliSenseMode": "gcc-x64",
+        "C_Cpp.errorSquiggles": "Disabled",
+        "C_Cpp.formatting": "Disabled",
+        "C_Cpp.intelliSenseEngine": "Default",
+        "C_Cpp.intelliSenseEngineFallback": "Disabled",
+        "debug.toolBarLocation": "docked",
+        "git.detectSubmodulesLimit": 20,
+        "files.associations": {
+                "*.jinja": "jinja"
+        },
+        "search.exclude": {
+                "build/**": true
+        },
+        "search.showLineNumbers": true,
+        "workbench.statusBar.feedback.visible": false,
+        "workbench.editor.enablePreview": false,
+        "workbench.editor.enablePreviewFromQuickOpen": false,
+        "workbench.editor.highlightModifiedTabs": true
 }
\ No newline at end of file
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index a5b30e9aeb330516d09a6e3fd99fde632a8456a7..19adf8163f1a0fca758ba0b63079de2b40d67438 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -8,14 +8,90 @@
             "type": "shell",
             "command": "Tools/jmavsim_run.sh",
             "isBackground": true,
-            "args": ["-r", "500"],
+            "args": [
+                "-r",
+                "500"
+            ],
             "options": {
                 "cwd": "${workspaceRoot}"
             },
             "presentation": {
                 "reveal": "always",
                 "panel": "dedicated"
-            }
+            },
+            "problemMatcher": [
+                {
+                    "pattern": [
+                        {
+                            "regexp": ".",
+                            "file": 1,
+                            "location": 2,
+                            "message": 3
+                        }
+                    ],
+                    "background": {
+                        "activeOnStart": true,
+                        "beginsPattern": ".",
+                        "endsPattern": ".",
+                    }
+                }
+            ]
+        },
+        {
+            "label": "jmavsim kill",
+            "type": "shell",
+            "command": "kill $(ps aux | grep jmavsim | grep -v 'grep' | awk '{print $2}')",
+            "problemMatcher": []
+        },
+        {
+            "label": "gazebo build",
+            "type": "shell",
+            "command": "make px4_sitl_default sitl_gazebo",
+            "options": {
+                "cwd": "${workspaceRoot}"
+            },
+            "problemMatcher": []
+        },
+        {
+            "label": "gazebo iris",
+            "type": "shell",
+            "dependsOn": "gazebo build",
+            "options": {
+                "cwd": "${workspaceRoot}",
+                "env": {
+                    "GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
+                    "GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models"
+                }
+            },
+            "command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/iris.world",
+            "isBackground": true,
+            "presentation": {
+                "reveal": "always",
+                "panel": "dedicated"
+            },
+            "problemMatcher": [
+                {
+                    "pattern": [
+                        {
+                            "regexp": ".",
+                            "file": 1,
+                            "location": 2,
+                            "message": 3
+                        }
+                    ],
+                    "background": {
+                        "activeOnStart": true,
+                        "beginsPattern": ".",
+                        "endsPattern": ".",
+                    }
+                }
+            ]
+        },
+        {
+            "label": "gazebo kill",
+            "type": "shell",
+            "command": "killall gzserver",
+            "problemMatcher": []
         },
     ]
-}
+}
\ No newline at end of file
diff --git a/boards/airmind/mindpx-v2/nuttx-config/scripts/ld.script b/boards/airmind/mindpx-v2/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/airmind/mindpx-v2/nuttx-config/scripts/ld.script
rename to boards/airmind/mindpx-v2/nuttx-config/scripts/script.ld
diff --git a/boards/auav/esc35-v1/nuttx-config/scripts/ld.script b/boards/auav/esc35-v1/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/auav/esc35-v1/nuttx-config/scripts/ld.script
rename to boards/auav/esc35-v1/nuttx-config/scripts/script.ld
diff --git a/boards/auav/x21/nuttx-config/scripts/ld.script b/boards/auav/x21/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/auav/x21/nuttx-config/scripts/ld.script
rename to boards/auav/x21/nuttx-config/scripts/script.ld
diff --git a/boards/av/x-v1/nuttx-config/scripts/ld.script b/boards/av/x-v1/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/av/x-v1/nuttx-config/scripts/ld.script
rename to boards/av/x-v1/nuttx-config/scripts/script.ld
diff --git a/boards/bitcraze/crazyflie/nuttx-config/scripts/ld.script b/boards/bitcraze/crazyflie/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/bitcraze/crazyflie/nuttx-config/scripts/ld.script
rename to boards/bitcraze/crazyflie/nuttx-config/scripts/script.ld
diff --git a/boards/intel/aerofc-v1/nuttx-config/scripts/ld.script b/boards/intel/aerofc-v1/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/intel/aerofc-v1/nuttx-config/scripts/ld.script
rename to boards/intel/aerofc-v1/nuttx-config/scripts/script.ld
diff --git a/boards/nxp/fmuk66-v3/nuttx-config/scripts/ld.script b/boards/nxp/fmuk66-v3/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/nxp/fmuk66-v3/nuttx-config/scripts/ld.script
rename to boards/nxp/fmuk66-v3/nuttx-config/scripts/script.ld
diff --git a/boards/omnibus/f4sd/nuttx-config/scripts/ld.script b/boards/omnibus/f4sd/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/omnibus/f4sd/nuttx-config/scripts/ld.script
rename to boards/omnibus/f4sd/nuttx-config/scripts/script.ld
diff --git a/boards/px4/cannode-v1/nuttx-config/scripts/ld.script b/boards/px4/cannode-v1/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/px4/cannode-v1/nuttx-config/scripts/ld.script
rename to boards/px4/cannode-v1/nuttx-config/scripts/script.ld
diff --git a/boards/px4/esc-v1/nuttx-config/scripts/ld.script b/boards/px4/esc-v1/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/px4/esc-v1/nuttx-config/scripts/ld.script
rename to boards/px4/esc-v1/nuttx-config/scripts/script.ld
diff --git a/boards/px4/fmu-v2/nuttx-config/scripts/ld.script b/boards/px4/fmu-v2/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/px4/fmu-v2/nuttx-config/scripts/ld.script
rename to boards/px4/fmu-v2/nuttx-config/scripts/script.ld
diff --git a/boards/px4/fmu-v3/nuttx-config/scripts/ld.script b/boards/px4/fmu-v3/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/px4/fmu-v3/nuttx-config/scripts/ld.script
rename to boards/px4/fmu-v3/nuttx-config/scripts/script.ld
diff --git a/boards/px4/fmu-v4/nuttx-config/scripts/ld.script b/boards/px4/fmu-v4/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/px4/fmu-v4/nuttx-config/scripts/ld.script
rename to boards/px4/fmu-v4/nuttx-config/scripts/script.ld
diff --git a/boards/px4/fmu-v4pro/nuttx-config/scripts/ld.script b/boards/px4/fmu-v4pro/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/px4/fmu-v4pro/nuttx-config/scripts/ld.script
rename to boards/px4/fmu-v4pro/nuttx-config/scripts/script.ld
diff --git a/boards/px4/fmu-v5/nuttx-config/scripts/ld.script b/boards/px4/fmu-v5/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/px4/fmu-v5/nuttx-config/scripts/ld.script
rename to boards/px4/fmu-v5/nuttx-config/scripts/script.ld
diff --git a/boards/px4/io-v2/nuttx-config/scripts/ld.script b/boards/px4/io-v2/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/px4/io-v2/nuttx-config/scripts/ld.script
rename to boards/px4/io-v2/nuttx-config/scripts/script.ld
diff --git a/boards/thiemar/s2740vc-v1/nuttx-config/scripts/ld.script b/boards/thiemar/s2740vc-v1/nuttx-config/scripts/script.ld
similarity index 100%
rename from boards/thiemar/s2740vc-v1/nuttx-config/scripts/ld.script
rename to boards/thiemar/s2740vc-v1/nuttx-config/scripts/script.ld
diff --git a/platforms/nuttx/CMakeLists.txt b/platforms/nuttx/CMakeLists.txt
index 4c7da5583a427ee373793d3cea8ecd639a9ea2d6..406e6432ff658b61538e4848f6ae9a12445e42a1 100644
--- a/platforms/nuttx/CMakeLists.txt
+++ b/platforms/nuttx/CMakeLists.txt
@@ -94,7 +94,7 @@ target_link_libraries(px4 PRIVATE
 	-fno-exceptions
 	-fno-rtti
 
-	-Wl,--script=${PX4_BINARY_DIR_CYG}/NuttX/nuttx-config/scripts/ld.script
+	-Wl,--script=${PX4_BINARY_DIR_CYG}/NuttX/nuttx-config/scripts/script.ld
 	-Wl,-Map=${PX4_CONFIG}.map
 	-Wl,--warn-common
 	-Wl,--gc-sections
diff --git a/platforms/nuttx/NuttX/CMakeLists.txt b/platforms/nuttx/NuttX/CMakeLists.txt
index 87fb9c56200c9208d64e2760c1f78953d14dae49..472e53437adabb21d2a1e7b61fbe1281add9ce6b 100644
--- a/platforms/nuttx/NuttX/CMakeLists.txt
+++ b/platforms/nuttx/NuttX/CMakeLists.txt
@@ -113,7 +113,7 @@ add_custom_command(
 		${NUTTX_DIR}/arch/arm/include/math.h
 		${PX4_BINARY_DIR}/NuttX/nuttx-config/include/board.h
 		${PX4_BINARY_DIR}/NuttX/nuttx-config/include/nsh_romfsimg.h
-		${PX4_BINARY_DIR}/NuttX/nuttx-config/scripts/ld.script
+		${PX4_BINARY_DIR}/NuttX/nuttx-config/scripts/script.ld
 		${CMAKE_CURRENT_BINARY_DIR}/nuttx_copy_config_dir.stamp
 	COMMAND ${CMAKE_COMMAND} -E remove -f ${NUTTX_DIR}/include/nuttx/config.h
 	COMMAND ${CMAKE_COMMAND} -E copy_directory ${NUTTX_CONFIG_DIR}/ ${PX4_BINARY_DIR}/NuttX/nuttx-config
@@ -125,7 +125,7 @@ add_custom_command(
 		${NUTTX_SRC_DIR}/math.h
 		${NUTTX_SRC_DIR}/nsh_romfsimg.h
 		${NUTTX_CONFIG_DIR}/include/board.h
-		${NUTTX_CONFIG_DIR}/scripts/ld.script
+		${NUTTX_CONFIG_DIR}/scripts/script.ld
 		${CMAKE_CURRENT_BINARY_DIR}/nuttx_copy.stamp
 		${CMAKE_CURRENT_BINARY_DIR}/apps_copy.stamp
 	WORKING_DIRECTORY ${NUTTX_DIR}