Browse Source

boards: CUAV H7 boards clear MPU early in board init

- needed if the bootloader configures the memory protection unit (MPU)
release/1.12
Daniel Agar 3 years ago
parent
commit
7476a2953e
No known key found for this signature in database
GPG Key ID: FD3CBA98017A69DE
  1. 12
      boards/cuav/nora/src/init.c
  2. 12
      boards/cuav/x7pro/src/init.c

12
boards/cuav/nora/src/init.c

@ -60,6 +60,8 @@ @@ -60,6 +60,8 @@
#include <px4_platform/gpio.h>
#include <px4_platform/board_dma_alloc.h>
#include <mpu.h>
__BEGIN_DECLS
extern void led_init(void);
extern void led_on(int led);
@ -127,6 +129,16 @@ __EXPORT void board_on_reset(int status) @@ -127,6 +129,16 @@ __EXPORT void board_on_reset(int status)
************************************************************************************/
__EXPORT void stm32_boardinitialize(void)
{
// clear all existing MPU configuration from bootloader
for (int region = 0; region < CONFIG_ARM_MPU_NREGIONS; region++) {
putreg32(region, MPU_RNR);
putreg32(0, MPU_RBAR);
putreg32(0, MPU_RASR);
// save
putreg32(0, MPU_CTRL);
}
/* Reset PWM first thing */
board_on_reset(-1);

12
boards/cuav/x7pro/src/init.c

@ -60,6 +60,8 @@ @@ -60,6 +60,8 @@
#include <px4_platform/gpio.h>
#include <px4_platform/board_dma_alloc.h>
#include <mpu.h>
__BEGIN_DECLS
extern void led_init(void);
extern void led_on(int led);
@ -127,6 +129,16 @@ __EXPORT void board_on_reset(int status) @@ -127,6 +129,16 @@ __EXPORT void board_on_reset(int status)
************************************************************************************/
__EXPORT void stm32_boardinitialize(void)
{
// clear all existing MPU configuration from bootloader
for (int region = 0; region < CONFIG_ARM_MPU_NREGIONS; region++) {
putreg32(region, MPU_RNR);
putreg32(0, MPU_RBAR);
putreg32(0, MPU_RASR);
// save
putreg32(0, MPU_CTRL);
}
/* Reset PWM first thing */
board_on_reset(-1);

Loading…
Cancel
Save