From d8730c7de5cdb4117b0ca6c6f63eaad276aa2ab2 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Thu, 27 Jan 2011 02:36:10 +0100 Subject: Trying a better reset sequence, by de-initting all possible devices. --- arch/arm/lpc17xx/deinit-all.c | 45 +++++++++++++++++++++++++++++++++++++++++++ arch/arm/lpc17xx/startup.s | 3 +++ 2 files changed, 48 insertions(+) create mode 100644 arch/arm/lpc17xx/deinit-all.c (limited to 'arch/arm') diff --git a/arch/arm/lpc17xx/deinit-all.c b/arch/arm/lpc17xx/deinit-all.c new file mode 100644 index 0000000..8a75229 --- /dev/null +++ b/arch/arm/lpc17xx/deinit-all.c @@ -0,0 +1,45 @@ +#include "LPC17xx.h" +#include "lpc17xx_adc.h" +#include "lpc17xx_can.h" +#include "lpc17xx_emac.h" +#include "lpc17xx_exti.h" +#include "lpc17xx_i2c.h" +#include "lpc17xx_i2s.h" +#include "lpc17xx_nvic.h" +#include "lpc17xx_pwm.h" +#include "lpc17xx_qei.h" +#include "lpc17xx_rit.h" +#include "lpc17xx_rtc.h" +#include "lpc17xx_spi.h" +#include "lpc17xx_ssp.h" +#include "lpc17xx_timer.h" +#include "lpc17xx_uart.h" + +void lpc17xx_deinit_all() { +//** ADC_DeInit(LPC_ADC); + CAN_DeInit(LPC_CAN1); + CAN_DeInit(LPC_CAN2); + EMAC_DeInit(); + EXTI_DeInit(); + I2C_DeInit(LPC_I2C0); + I2C_DeInit(LPC_I2C1); + I2C_DeInit(LPC_I2C2); + I2S_DeInit(LPC_I2S); + NVIC_DeInit(); + NVIC_SCBDeInit(); + PWM_DeInit(LPC_PWM1); + QEI_DeInit(LPC_QEI); +//** RIT_DeInit(LPC_RIT); + RTC_DeInit(LPC_RTC); + SPI_DeInit(LPC_SPI); + SSP_DeInit(LPC_SSP0); + SSP_DeInit(LPC_SSP1); + UART_DeInit(LPC_UART0); + UART_DeInit((LPC_UART_TypeDef *) LPC_UART1); +//** UART_DeInit(LPC_UART2); +//** UART_DeInit(LPC_UART3); + TIM_DeInit(LPC_TIM0); + TIM_DeInit(LPC_TIM1); +//** TIM_DeInit(LPC_TIM2); +//** TIM_DeInit(LPC_TIM3); +} diff --git a/arch/arm/lpc17xx/startup.s b/arch/arm/lpc17xx/startup.s index 6f41389..c09971e 100644 --- a/arch/arm/lpc17xx/startup.s +++ b/arch/arm/lpc17xx/startup.s @@ -145,6 +145,9 @@ __cs3_reset_cortex_m: LDR R2, =__bss_ram_len BL memset + LDR R0, =lpc17xx_deinit_all + BLX R0 + LDR R0, =SystemInit BLX R0 LDR R0,=_start -- cgit v1.2.3