Import libosmocore timer infrastructure and use it for PERST

The PERST is thus no longer busy-waiting but starting a timer to release
the PERST after 1ms.
This commit is contained in:
Harald Welte
2017-02-04 12:34:35 +01:00
parent b41598b602
commit 987f59aa02
7 changed files with 960 additions and 5 deletions

View File

@@ -140,7 +140,7 @@ LDFLAGS = -mcpu=cortex-m3 -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-secti
# Directories where source files can be found
USB_PATHS = $(AT91LIB_USB_CORE_PATH) $(AT91LIB_USB_COMMON_CORE_PATH)
VPATH += src_board src_sam3s cmsis $(USB_PATHS) src_simtrace
VPATH += src_board src_sam3s cmsis $(USB_PATHS) src_simtrace src_libosmocore
# Objects built from C source files
C_CMSIS = core_cm3.o
@@ -148,8 +148,9 @@ C_LOWLEVEL = board_cstartup_gnu.o board_lowlevel.o syscalls.o exceptions.o
C_LIBLEVEL = spi.o pio.o pmc.o usart.o pio_it.o pio_capture.o uart_console.o iso7816_4.o wdt.o led.o tc.o unique_id.o
C_CCID = cciddriver.o USBD.o USBDDriver.o USBD_HAL.o USBRequests.o USBDCallbacks.o USBDescriptors.o USBDDriverCallbacks.o
C_SIMTRACE = simtrace_iso7816.o usb.o ccid.o sniffer.o mitm.o ringbuffer.o host_communication.o iso7816_fidi.o tc_etu.o req_ctx.o card_emu.o mode_cardemu.o i2c.o wwan_led.o wwan_perst.o
C_OSMOCORE = timer.o rbtree.o
C_APPLEVEL = main.o
C_OBJECTS = $(C_CMSIS) $(C_LOWLEVEL) $(C_LIBLEVEL) $(C_APPLEVEL) $(C_CCID) $(C_SIMTRACE)
C_OBJECTS = $(C_CMSIS) $(C_LOWLEVEL) $(C_LIBLEVEL) $(C_APPLEVEL) $(C_CCID) $(C_SIMTRACE) $(C_OSMOCORE)
# Append OBJ and BIN directories to output filename
OUTPUT := $(BIN)/$(OUTPUT)