Browse Source

Use micro hal fir px4_savepanic

To keep board_crashdump.c as common code we create a
  wrapper around the arch depandant call to
  stm32_bbsram_savepanic.
sbg
David Sidrane 8 years ago committed by Daniel Agar
parent
commit
b2b6509ee0
  1. 2
      src/drivers/boards/common/board_crashdump.c
  2. 22
      src/platforms/px4_micro_hal.h

2
src/drivers/boards/common/board_crashdump.c

@ -144,7 +144,7 @@ __EXPORT void board_crashdump(uintptr_t currentsp, FAR void *tcb, FAR const uint @@ -144,7 +144,7 @@ __EXPORT void board_crashdump(uintptr_t currentsp, FAR void *tcb, FAR const uint
pdump->info.flags |= eInvalidUserStackPtr;
}
int rv = stm32_bbsram_savepanic(HARDFAULT_FILENO, (uint8_t *)pdump, sizeof(fullcontext_s));
int rv = px4_savepanic(HARDFAULT_FILENO, (uint8_t *)pdump, sizeof(fullcontext_s));
/* Test if memory got wiped because of using _sdata */

22
src/platforms/px4_micro_hal.h

@ -109,16 +109,18 @@ __BEGIN_DECLS @@ -109,16 +109,18 @@ __BEGIN_DECLS
# define PX4_CPU_UUID_WORD32_FORMAT_SIZE (PX4_CPU_UUID_WORD32_LENGTH-1+(2*PX4_CPU_UUID_BYTE_LENGTH)+1)
# define PX4_CPU_MFGUID_FORMAT_SIZE ((2*PX4_CPU_MFGUID_BYTE_LENGTH)+1)
# define px4_spibus_initialize(port_1based) stm32_spibus_initialize(port_1based)
# define px4_savepanic(fileno, context, length) stm32_bbsram_savepanic(fileno, context, length)
# define px4_i2cbus_initialize(bus_num_1based) stm32_i2cbus_initialize(bus_num_1based)
# define px4_i2cbus_uninitialize(pdev) stm32_i2cbus_uninitialize(pdev)
# define px4_spibus_initialize(port_1based) stm32_spibus_initialize(port_1based)
# define px4_arch_configgpio(pinset) stm32_configgpio(pinset)
# define px4_arch_unconfiggpio(pinset) stm32_unconfiggpio(pinset)
# define px4_arch_gpioread(pinset) stm32_gpioread(pinset)
# define px4_arch_gpiowrite(pinset, value) stm32_gpiowrite(pinset, value)
# define px4_arch_gpiosetevent(pinset,r,f,e,fp) stm32_gpiosetevent(pinset,r,f, e,fp)
# define px4_i2cbus_initialize(bus_num_1based) stm32_i2cbus_initialize(bus_num_1based)
# define px4_i2cbus_uninitialize(pdev) stm32_i2cbus_uninitialize(pdev)
# define px4_arch_configgpio(pinset) stm32_configgpio(pinset)
# define px4_arch_unconfiggpio(pinset) stm32_unconfiggpio(pinset)
# define px4_arch_gpioread(pinset) stm32_gpioread(pinset)
# define px4_arch_gpiowrite(pinset, value) stm32_gpiowrite(pinset, value)
# define px4_arch_gpiosetevent(pinset,r,f,e,fp) stm32_gpiosetevent(pinset,r,f, e,fp)
#endif
#if defined(CONFIG_ARCH_CHIP_KINETIS)
@ -133,6 +135,10 @@ __BEGIN_DECLS @@ -133,6 +135,10 @@ __BEGIN_DECLS
# include <kinetis_spi.h>
# include <kinetis_i2c.h>
# define kinetis_bbsram_savepanic(fileno, context, length) (0) // todo:Not implemented yet
# define px4_savepanic(fileno, context, length) kinetis_bbsram_savepanic(fileno, context, length)
/* bus_num is zero based on kinetis and must be translated from the legacy one based */
# define px4_spibus_initialize(port_1based) kinetis_spibus_initialize(port_1based-1)

Loading…
Cancel
Save