diff --git a/arch/arm/src/cortexm3/up_doirq.c b/arch/arm/src/cortexm3/up_doirq.c
index f465109a109efa1f16273edbccf3dd94a05fa5ab..d5f3a61857a26d5628e2387ed8ab999c9068baab 100644
--- a/arch/arm/src/cortexm3/up_doirq.c
+++ b/arch/arm/src/cortexm3/up_doirq.c
@@ -40,9 +40,11 @@
 #include <nuttx/config.h>
 
 #include <stdint.h>
+#include <assert.h>
+
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
-#include <assert.h>
+#include <arch/board/board.h>
 
 #include "up_arch.h"
 #include "os_internal.h"
diff --git a/arch/arm/src/lm3s/lm3s_ethernet.c b/arch/arm/src/lm3s/lm3s_ethernet.c
index 940fa6aec4eef40ecb1038d3d403e292afdb30fa..02d41e3da26d3be0140a9a7fe610f934ffd339e5 100644
--- a/arch/arm/src/lm3s/lm3s_ethernet.c
+++ b/arch/arm/src/lm3s/lm3s_ethernet.c
@@ -50,13 +50,14 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
-
+#include <arch/board/board.h>
 #include <net/uip/uip.h>
 #include <net/uip/uip-arp.h>
 #include <net/uip/uip-arch.h>
 
-#include "up_arch.h"
 #include "chip.h"
+#include "up_arch.h"
+
 #include "lm3s_internal.h"
 
 /****************************************************************************
diff --git a/arch/arm/src/lm3s/lm3s_lowputc.c b/arch/arm/src/lm3s/lm3s_lowputc.c
index aa7f5466a4fce7cb2b5c4d8c60abdc6a9f67cd09..70d37b0c02f2a022834bee7f3eb0410f243fbbb4 100644
--- a/arch/arm/src/lm3s/lm3s_lowputc.c
+++ b/arch/arm/src/lm3s/lm3s_lowputc.c
@@ -40,10 +40,12 @@
 #include <nuttx/config.h>
 #include <stdint.h>
 
-#include "up_internal.h"
-#include "up_arch.h"
+#include <arch/board/board.h>
 
 #include "chip.h"
+#include "up_arch.h"
+#include "up_internal.h"
+
 #include "lm3s_internal.h"
 
 /**************************************************************************
diff --git a/arch/arm/src/lm3s/lm3s_start.c b/arch/arm/src/lm3s/lm3s_start.c
index 272ebec1734caf1d054585af2e596a93198f7759..292467d5688c05375c612a19a521b9973d31919f 100644
--- a/arch/arm/src/lm3s/lm3s_start.c
+++ b/arch/arm/src/lm3s/lm3s_start.c
@@ -45,6 +45,7 @@
 #include <debug.h>
 
 #include <nuttx/init.h>
+#include <arch/board/board.h>
 
 #include "up_arch.h"
 #include "up_internal.h"
diff --git a/arch/arm/src/stm32/stm32_dma.c b/arch/arm/src/stm32/stm32_dma.c
index 3050820d11ff7dc52d342f75b8487d833eb65ad3..77d6261273d2500dbfb9f0c3ac90912fee4ddd5c 100755
--- a/arch/arm/src/stm32/stm32_dma.c
+++ b/arch/arm/src/stm32/stm32_dma.c
@@ -274,7 +274,7 @@ static int stm32_dmainterrupt(int irq, void *context)
 {
   struct stm32_dma_s *dmach;
   uint32_t isr;
-  int chndx;
+  int chndx = 0;
 
   /* Get the channel structure from the interrupt number */
 
@@ -502,7 +502,6 @@ void stm32_dmasetup(DMA_HANDLE handle, uint32_t paddr, uint32_t maddr, size_t nt
 void stm32_dmastart(DMA_HANDLE handle, dma_callback_t callback, void *arg, bool half)
 {
   struct stm32_dma_s *dmach = (struct stm32_dma_s *)handle;
-  int irq;
   uint32_t ccr;
 
   DEBUGASSERT(handle != NULL);
diff --git a/arch/arm/src/stm32/stm32_lowputc.c b/arch/arm/src/stm32/stm32_lowputc.c
index 93e6b747f598403cfcdb091704ea174e0c811a90..bc5022cf1351a855331b6682fb9b408cee8c9361 100644
--- a/arch/arm/src/stm32/stm32_lowputc.c
+++ b/arch/arm/src/stm32/stm32_lowputc.c
@@ -40,6 +40,7 @@
 #include <nuttx/config.h>
 
 #include <stdint.h>
+
 #include <arch/board/board.h>
 
 #include "up_internal.h"
diff --git a/arch/arm/src/stm32/stm32_sdio.c b/arch/arm/src/stm32/stm32_sdio.c
index 8500ae6612d5341695e52009dd073f5afe4a2417..f70418bb8a9afeedd44215db5c9e4624ef534350 100644
--- a/arch/arm/src/stm32/stm32_sdio.c
+++ b/arch/arm/src/stm32/stm32_sdio.c
@@ -53,10 +53,13 @@
 #include <nuttx/sdio.h>
 #include <nuttx/wqueue.h>
 #include <nuttx/mmcsd.h>
+
 #include <arch/irq.h>
+#include <arch/board/board.h>
 
 #include "chip.h"
 #include "up_arch.h"
+
 #include "stm32_internal.h"
 #include "stm32_dma.h"
 #include "stm32_sdio.h"
diff --git a/arch/arm/src/stm32/stm32_serial.c b/arch/arm/src/stm32/stm32_serial.c
index 2ff783b0a127761cf4736c106fd3753acf3860e4..111ca62ad577e7c91042c0388fd9e01c9085d474 100644
--- a/arch/arm/src/stm32/stm32_serial.c
+++ b/arch/arm/src/stm32/stm32_serial.c
@@ -51,7 +51,9 @@
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
 #include <nuttx/serial.h>
+
 #include <arch/serial.h>
+#include <arch/board/board.h>
 
 #include "chip.h"
 #include "stm32_uart.h"
diff --git a/arch/arm/src/stm32/stm32_spi.c b/arch/arm/src/stm32/stm32_spi.c
index bdea7da379d1685f410e3a78fe199bacbac57a30..de0ff2ac506ca90cb62b11163ff6c7044923b86c 100755
--- a/arch/arm/src/stm32/stm32_spi.c
+++ b/arch/arm/src/stm32/stm32_spi.c
@@ -68,10 +68,11 @@
 #include <errno.h>
 #include <debug.h>
 
-#include <arch/board/board.h>
 #include <nuttx/arch.h>
 #include <nuttx/spi.h>
 
+#include <arch/board/board.h>
+
 #include "up_internal.h"
 #include "up_arch.h"
 
diff --git a/arch/arm/src/stm32/stm32_start.c b/arch/arm/src/stm32/stm32_start.c
index 7ed3c0851f170631ce9d6f42359b6edfdfeafd7c..1ac753f5ac3a6aae4728df231d64f7356849629f 100644
--- a/arch/arm/src/stm32/stm32_start.c
+++ b/arch/arm/src/stm32/stm32_start.c
@@ -45,9 +45,11 @@
 #include <debug.h>
 
 #include <nuttx/init.h>
+#include <arch/board/board.h>
 
 #include "up_arch.h"
 #include "up_internal.h"
+
 #include "stm32_internal.h"
 
 /****************************************************************************
diff --git a/arch/arm/src/stm32/stm32_usbdev.c b/arch/arm/src/stm32/stm32_usbdev.c
index 7fbcd3ef7ace480e48390bb6f6d60f909f11a82e..07e3ae417f77ccd9855d52e6aed9775883a306ef 100644
--- a/arch/arm/src/stm32/stm32_usbdev.c
+++ b/arch/arm/src/stm32/stm32_usbdev.c
@@ -3454,7 +3454,6 @@ void up_usbuninitialize(void)
    */
 
   struct stm32_usbdev_s *priv = &g_usbdev;
-  uint16_t regval;
   irqstate_t flags;
 
   usbtrace(TRACE_DEVUNINIT, 0);
diff --git a/configs/stm3210e-eval/src/up_extmem.c b/configs/stm3210e-eval/src/up_extmem.c
index 18c39e8444761e46229a2c55980542d3dff0b358..2209d16c249d6035930039332440ed99e021ebd0 100644
--- a/configs/stm3210e-eval/src/up_extmem.c
+++ b/configs/stm3210e-eval/src/up_extmem.c
@@ -46,8 +46,9 @@
 
 #include <arch/board/board.h>
 
-#include "up_arch.h"
 #include "chip.h"
+#include "up_arch.h"
+
 #include "stm32_fsmc.h"
 #include "stm32_gpio.h"
 #include "stm32_internal.h"
diff --git a/configs/stm3210e-eval/src/up_selectnor.c b/configs/stm3210e-eval/src/up_selectnor.c
index 3c41b1c9fcc8071a29c29e14d6c84ec0f521449d..a625abc82f2baae69c42c907574f533c871707c3 100644
--- a/configs/stm3210e-eval/src/up_selectnor.c
+++ b/configs/stm3210e-eval/src/up_selectnor.c
@@ -43,9 +43,12 @@
 #include <stdint.h>
 #include <debug.h>
 
+#include "chip.h"
 #include "up_arch.h"
+
 #include "stm32_fsmc.h"
 #include "stm32_gpio.h"
+#include "stm32_internal.h"
 #include "stm3210e-internal.h"
 
 #ifdef CONFIG_STM32_FSMC
diff --git a/configs/stm3210e-eval/src/up_selectsram.c b/configs/stm3210e-eval/src/up_selectsram.c
index 0b3d2d4952c844f5031fa7432aabf3acc0250f13..67515a52d6f7ad3c2b64029ad38148b2c62bd7d9 100644
--- a/configs/stm3210e-eval/src/up_selectsram.c
+++ b/configs/stm3210e-eval/src/up_selectsram.c
@@ -43,9 +43,12 @@
 #include <stdint.h>
 #include <debug.h>
 
+#include "chip.h"
 #include "up_arch.h"
+
 #include "stm32_fsmc.h"
 #include "stm32_gpio.h"
+#include "stm32_internal.h"
 #include "stm3210e-internal.h"
 
 #ifdef CONFIG_STM32_FSMC