Merge pull request #344 from dhylands/stmhal-systick-cleanup

Cleanup systick for stmhal
This commit is contained in:
Damien George 2014-03-13 21:45:27 +00:00
commit aae40ee644
4 changed files with 8 additions and 18 deletions

View File

@ -19,7 +19,6 @@ CROSS_COMPILE = arm-none-eabi-
INC = -I. INC = -I.
INC += -I$(PY_SRC) INC += -I$(PY_SRC)
INC += -I$(CMSIS_DIR)
INC += -I$(CMSIS_DIR)/inc INC += -I$(CMSIS_DIR)/inc
INC += -I$(CMSIS_DIR)/devinc INC += -I$(CMSIS_DIR)/devinc
INC += -I$(HAL_DIR)/inc INC += -I$(HAL_DIR)/inc
@ -32,7 +31,6 @@ INC += -I$(HAL_DIR)/inc
CFLAGS_CORTEX_M4 = -mthumb -mtune=cortex-m4 -mabi=aapcs-linux -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fsingle-precision-constant -Wdouble-promotion CFLAGS_CORTEX_M4 = -mthumb -mtune=cortex-m4 -mabi=aapcs-linux -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fsingle-precision-constant -Wdouble-promotion
CFLAGS = $(INC) -Wall -Werror -ansi -std=gnu99 $(CFLAGS_CORTEX_M4) $(COPT) CFLAGS = $(INC) -Wall -Werror -ansi -std=gnu99 $(CFLAGS_CORTEX_M4) $(COPT)
BOARD = STM32F4DISC
BOARD ?= PYBOARD4 BOARD ?= PYBOARD4
ifeq ($(wildcard boards/$(BOARD)/.),) ifeq ($(wildcard boards/$(BOARD)/.),)
$(error Invalid BOARD specified) $(error Invalid BOARD specified)
@ -226,11 +224,6 @@ GEN_PINS_HDR = $(BUILD)/pins.h
# which source files might need it. # which source files might need it.
$(OBJ): | $(BUILD)/pins.h $(OBJ): | $(BUILD)/pins.h
# temp hack
$(PY_BUILD):
mkdir -p $@
$(OBJ): | $(PY_BUILD) $(PY_BUILD)/qstrdefs.generated.h
# Use a pattern rule here so that make will only call make-pins.py once to make # Use a pattern rule here so that make will only call make-pins.py once to make
# both pins_$(BOARD).c and pins.h # both pins_$(BOARD).c and pins.h
$(BUILD)/%_$(BOARD).c $(BUILD)/%.h: boards/$(BOARD)/%.csv $(MAKE_PINS) $(AF_FILE) $(PREFIX_FILE) $(BUILD)/%_$(BOARD).c $(BUILD)/%.h: boards/$(BOARD)/%.csv $(MAKE_PINS) $(AF_FILE) $(PREFIX_FILE)

View File

@ -151,7 +151,6 @@ void PendSV_Handler(void)
{ {
} }
#if 0 // defined in systick.c
/** /**
* @brief This function handles SysTick Handler. * @brief This function handles SysTick Handler.
* @param None * @param None
@ -161,7 +160,6 @@ void SysTick_Handler(void)
{ {
HAL_IncTick(); HAL_IncTick();
} }
#endif
/******************************************************************************/ /******************************************************************************/
/* STM32F4xx Peripherals Interrupt Handlers */ /* STM32F4xx Peripherals Interrupt Handlers */

View File

@ -316,6 +316,11 @@ void SystemClock_Config(void)
{ {
__fatal_error("HAL_RCC_ClockConfig"); __fatal_error("HAL_RCC_ClockConfig");
} }
// SysTick_Config (called from HL_RCC_ClockConfig) sets the SysTick_IRQn to
// be the lowest priority, but we want it to be the highest priority, so fix
// things here.
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
} }
/** /**

View File

@ -5,16 +5,10 @@
void sys_tick_init(void) { void sys_tick_init(void) {
// SysTick_Config is now called from HAL_RCC_ClockConfig, which is called // SysTick_Config is now called from HAL_RCC_ClockConfig, which is called
// from SystemClock_Config // from SystemClock_Config
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); // make it highest priority
}
// called on SysTick interrupt // SysTick_Config sets the SysTick_IRQn to be the lowest priority, but
void SysTick_Handler(void) { // we want it to be the highest priority, so fix things here.
HAL_IncTick(); HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
HAL_SYSTICK_IRQHandler();
// hack!
//void audio_drain(void);
//audio_drain();
} }
void sys_tick_delay_ms(uint32_t delay_ms) { void sys_tick_delay_ms(uint32_t delay_ms) {