mirror of https://github.com/rusefi/ChibiOS.git
Update AVR testhal GPT and fixed #error invalid configuration file.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10014 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
88fb5a3001
commit
44fd241085
|
@ -40,7 +40,7 @@
|
|||
#----------------------------------------------------------------------------
|
||||
|
||||
# MCU name
|
||||
MCU = atmega1280
|
||||
MCU = atmega2560
|
||||
|
||||
# Processor frequency.
|
||||
F_CPU = 16000000
|
||||
|
@ -64,19 +64,17 @@ include $(CHIBIOS)/os/hal/ports/AVR/platform.mk
|
|||
include $(CHIBIOS)/os/hal/osal/rt/osal.mk
|
||||
include $(CHIBIOS)/os/rt/rt.mk
|
||||
include $(CHIBIOS)/os/common/ports/AVR/compilers/GCC/mk/port.mk
|
||||
include $(CHIBIOS)/test/rt/test.mk
|
||||
include $(CHIBIOS)/os/hal/lib/streams/streams.mk
|
||||
|
||||
# List C source files here. (C dependencies are automatically generated.)
|
||||
SRC = $(PORTSRC) \
|
||||
$(KERNSRC) \
|
||||
$(TESTSRC) \
|
||||
$(HALSRC) \
|
||||
SRC = $(KERNSRC) \
|
||||
$(PORTSRC) \
|
||||
$(OSALSRC) \
|
||||
$(HALSRC) \
|
||||
$(PLATFORMSRC) \
|
||||
$(BOARDSRC) \
|
||||
$(STREAMSSRC) \
|
||||
$(CHIBIOS)/os/various/evtimer.c \
|
||||
$(CHIBIOS)/os/hal/lib/streams/memstreams.c \
|
||||
$(CHIBIOS)/os/hal/lib/streams/chprintf.c \
|
||||
main.c
|
||||
|
||||
# List C++ source files here. (C dependencies are automatically generated.)
|
||||
|
@ -108,7 +106,7 @@ DEBUG = dwarf-2
|
|||
# For a directory that has spaces, enclose it in quotes.
|
||||
EXTRAINCDIRS = $(CHIBIOS)/os/license $(PORTINC) $(KERNINC) $(TESTINC) \
|
||||
$(HALINC) $(OSALINC) $(PLATFORMINC) \
|
||||
$(BOARDINC) $(CHIBIOS)/os/various
|
||||
$(STREAMSINC) $(BOARDINC) $(CHIBIOS)/os/various
|
||||
|
||||
# Compiler flag to set the C Standard level.
|
||||
# c89 = "ANSI" C
|
||||
|
@ -153,6 +151,9 @@ CFLAGS += -Wstrict-prototypes
|
|||
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
|
||||
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
|
||||
CFLAGS += $(CSTANDARD)
|
||||
CFLAGS += -mrelax
|
||||
CFLAGS += -fdata-sections
|
||||
CFLAGS += -ffunction-sections
|
||||
|
||||
#---------------- Compiler Options C++ ----------------
|
||||
# -g*: generate debugging information
|
||||
|
@ -179,6 +180,8 @@ CFLAGS += -Wundef
|
|||
CPPFLAGS += -Wa,-adhlns=$(<:%.cpp=$(OBJDIR)/%.lst)
|
||||
CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
|
||||
#CPPFLAGS += $(CSTANDARD)
|
||||
CPPFLAGS += -fdata-sections
|
||||
CPPFLAGS += -ffunction-sections
|
||||
|
||||
#---------------- Assembler Options ----------------
|
||||
# -Wa,...: tell GCC to pass this to the assembler.
|
||||
|
@ -238,7 +241,7 @@ EXTMEMOPTS =
|
|||
# -Wl,...: tell GCC to pass this to linker.
|
||||
# -Map: create map file
|
||||
# --cref: add cross reference to map file
|
||||
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
|
||||
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref,--gc-sections
|
||||
LDFLAGS += $(EXTMEMOPTS)
|
||||
LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS))
|
||||
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
|
||||
|
@ -252,18 +255,17 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
|
|||
# Type: avrdude -c ?
|
||||
# to get a full listing.
|
||||
#
|
||||
AVRDUDE_PROGRAMMER = stk500v2
|
||||
AVRDUDE_PROGRAMMER = wiring
|
||||
|
||||
# com1 = serial port. Use lpt1 to connect to parallel port.
|
||||
AVRDUDE_PORT = /dev/tty.usbmodemfd121 # programmer connected to serial device
|
||||
AVRDUDE_PORT = /dev/ttyUSB0
|
||||
|
||||
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
|
||||
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
|
||||
AVRDUDE_WRITE_FLASH = -D -U flash:w:$(TARGET).hex
|
||||
|
||||
# Uncomment the following if you want avrdude's erase cycle counter.
|
||||
# Note that this counter needs to be initialized first using -Yn,
|
||||
# see avrdude manual.
|
||||
#AVRDUDE_ERASE_COUNTER = -y
|
||||
AVRDUDE_ERASE_COUNTER = -y
|
||||
|
||||
# Uncomment the following if you do /not/ wish a verification to be
|
||||
# performed after programming the device.
|
||||
|
@ -272,11 +274,14 @@ AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
|
|||
# Increase verbosity level. Please use this when submitting bug
|
||||
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
|
||||
# to submit bug reports.
|
||||
#AVRDUDE_VERBOSE = -v -v
|
||||
AVRDUDE_VERBOSE = -v -v
|
||||
|
||||
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
|
||||
AVRDUDE_FLAGS = -p $(MCU)
|
||||
AVRDUDE_FLAGS += -P $(AVRDUDE_PORT)
|
||||
AVRDUDE_FLAGS += -b 115200
|
||||
AVRDUDE_FLAGS += -c $(AVRDUDE_PROGRAMMER)
|
||||
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
|
||||
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
|
||||
AVRDUDE_FLAGS += -v $(AVRDUDE_VERBOSE)
|
||||
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
|
||||
|
||||
#---------------- Debugging Options ----------------
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
#ifndef CHCONF_H
|
||||
#define CHCONF_H
|
||||
|
||||
#define _CHIBIOS_RT_CONF_
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name System timers settings
|
||||
|
@ -46,7 +48,7 @@
|
|||
* @details Frequency of the system timer that drives the system ticks. This
|
||||
* setting also defines the system tick time unit.
|
||||
*/
|
||||
#define CH_CFG_ST_FREQUENCY 1000
|
||||
#define CH_CFG_ST_FREQUENCY 15624
|
||||
|
||||
/**
|
||||
* @brief Time delta constant for the tick-less mode.
|
||||
|
@ -56,7 +58,7 @@
|
|||
* The value one is not valid, timeouts are rounded up to
|
||||
* this value.
|
||||
*/
|
||||
#define CH_CFG_ST_TIMEDELTA 0
|
||||
#define CH_CFG_ST_TIMEDELTA 2
|
||||
|
||||
/** @} */
|
||||
|
||||
|
@ -78,7 +80,7 @@
|
|||
* @note Disabling the round robin preemption makes the kernel more compact
|
||||
* and generally faster.
|
||||
*/
|
||||
#define CH_CFG_TIME_QUANTUM 20
|
||||
#define CH_CFG_TIME_QUANTUM 0
|
||||
|
||||
/**
|
||||
* @brief Managed RAM size.
|
||||
|
@ -180,16 +182,6 @@
|
|||
*/
|
||||
#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
|
||||
|
||||
/**
|
||||
* @brief Atomic semaphore API.
|
||||
* @details If enabled then the semaphores the @p chSemSignalWait() API
|
||||
* is included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_SEMAPHORES.
|
||||
*/
|
||||
#define CH_USE_SEMSW TRUE
|
||||
|
||||
/**
|
||||
* @brief Mutexes APIs.
|
||||
* @details If enabled then the mutexes APIs are included in the kernel.
|
||||
|
@ -296,18 +288,6 @@
|
|||
*/
|
||||
#define CH_CFG_USE_HEAP FALSE
|
||||
|
||||
/**
|
||||
* @brief C-runtime allocator.
|
||||
* @details If enabled the the heap allocator APIs just wrap the C-runtime
|
||||
* @p malloc() and @p free() functions.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
* @note Requires @p CH_CFG_USE_HEAP.
|
||||
* @note The C-runtime may or may not require @p CH_CFG_USE_MEMCORE, see the
|
||||
* appropriate documentation.
|
||||
*/
|
||||
#define CH_CFG_USE_MALLOC_HEAP FALSE
|
||||
|
||||
/**
|
||||
* @brief Memory Pools Allocator APIs.
|
||||
* @details If enabled then the memory pools allocator APIs are included
|
||||
|
@ -378,7 +358,14 @@
|
|||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#define CH_DBG_ENABLE_TRACE FALSE
|
||||
#define CH_DBG_ENABLE_TRACE CH_DBG_TRACE_MASK_DISABLED
|
||||
|
||||
/**
|
||||
* @brief Trace buffer entries.
|
||||
* @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
|
||||
* different from @p CH_DBG_TRACE_MASK_DISABLED.
|
||||
*/
|
||||
#define CH_DBG_TRACE_BUFFER_SIZE 128
|
||||
|
||||
/**
|
||||
* @brief Debug option, stack checks.
|
||||
|
@ -424,9 +411,9 @@
|
|||
|
||||
/**
|
||||
* @brief Threads descriptor structure extension.
|
||||
* @details User fields added to the end of the @p Thread structure.
|
||||
* @details User fields added to the end of the @p thread_t structure.
|
||||
*/
|
||||
#define THREAD_EXT_FIELDS \
|
||||
#define CH_CFG_THREAD_EXTRA_FIELDS \
|
||||
/* Add threads custom fields here.*/
|
||||
|
||||
/**
|
||||
|
@ -436,19 +423,15 @@
|
|||
* @note It is invoked from within @p chThdInit() and implicitly from all
|
||||
* the threads creation APIs.
|
||||
*/
|
||||
#define THREAD_EXT_INIT_HOOK(tp) { \
|
||||
#define CH_CFG_THREAD_INIT_HOOK(tp) { \
|
||||
/* Add threads initialization code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Threads finalization hook.
|
||||
* @details User finalization code added to the @p chThdExit() API.
|
||||
*
|
||||
* @note It is inserted into lock zone.
|
||||
* @note It is also invoked when the threads simply return in order to
|
||||
* terminate.
|
||||
*/
|
||||
#define THREAD_EXT_EXIT_HOOK(tp) { \
|
||||
#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
|
||||
/* Add threads finalization code here.*/ \
|
||||
}
|
||||
|
||||
|
@ -460,6 +443,40 @@
|
|||
/* Context switch code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ISR enter hook.
|
||||
*/
|
||||
#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
|
||||
/* IRQ prologue code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ISR exit hook.
|
||||
*/
|
||||
#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
|
||||
/* IRQ epilogue code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Idle thread enter hook.
|
||||
* @note This hook is invoked within a critical zone, no OS functions
|
||||
* should be invoked from here.
|
||||
* @note This macro can be used to activate a power saving mode.
|
||||
*/
|
||||
#define CH_CFG_IDLE_ENTER_HOOK() { \
|
||||
/* Idle-enter code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Idle thread leave hook.
|
||||
* @note This hook is invoked within a critical zone, no OS functions
|
||||
* should be invoked from here.
|
||||
* @note This macro can be used to deactivate a power saving mode.
|
||||
*/
|
||||
#define CH_CFG_IDLE_LEAVE_HOOK() { \
|
||||
/* Idle-leave code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Idle Loop hook.
|
||||
* @details This hook is continuously invoked by the idle thread loop.
|
||||
|
@ -473,7 +490,7 @@
|
|||
* @details This hook is invoked in the system tick handler immediately
|
||||
* after processing the virtual timers queue.
|
||||
*/
|
||||
#define SYSTEM_TICK_EVENT_HOOK() { \
|
||||
#define CH_CFG_SYSTEM_TICK_HOOK() { \
|
||||
/* System tick event code here.*/ \
|
||||
}
|
||||
|
||||
|
@ -482,10 +499,19 @@
|
|||
* @details This hook is invoked in case to a system halting error before
|
||||
* the system is halted.
|
||||
*/
|
||||
#define SYSTEM_HALT_HOOK() { \
|
||||
#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
|
||||
/* System halt code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Trace hook.
|
||||
* @details This hook is invoked each time a new record is written in the
|
||||
* trace buffer.
|
||||
*/
|
||||
#define CH_CFG_TRACE_HOOK(tep) { \
|
||||
/* Trace code here.*/ \
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -18,15 +18,15 @@
|
|||
#include "hal.h"
|
||||
#include "chprintf.h"
|
||||
|
||||
static void gpt2cb(GPTDriver *gptp)
|
||||
{
|
||||
BaseSequentialStream * chp = (BaseSequentialStream *) &SD1;
|
||||
|
||||
static void gpt3cb(GPTDriver *gptp) {
|
||||
palTogglePad(IOPORT2, 7);
|
||||
}
|
||||
|
||||
static GPTConfig gpt2cfg =
|
||||
{
|
||||
static GPTConfig gpt3cfg = {
|
||||
1000, /* Timer clock. */
|
||||
gpt2cb /* Timer callback. */
|
||||
gpt3cb /* Timer callback. */
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -48,16 +48,17 @@ int main(void) {
|
|||
palSetPadMode(IOPORT2, 7, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
|
||||
sdStart(&SD1, NULL);
|
||||
gptStart(&GPTD1, &gpt2cfg);
|
||||
gptStart(&GPTD3, &gpt3cfg);
|
||||
|
||||
gptStartContinuous(&GPTD3, 500);
|
||||
|
||||
gptStartContinuous(&GPTD1, 500);
|
||||
while (1) {
|
||||
chprintf(&SD1, "OCR1A: %d, TCCR1B: %x, period: %d, counter: %d , TCNT1: %d\r\n",
|
||||
OCR1A,
|
||||
TCCR1B,
|
||||
GPTD1.period,
|
||||
GPTD1.counter,
|
||||
TCNT1);
|
||||
chprintf(chp, "OCR3A: %d, TCCR3B: %x, period: %d, counter: %d , TCNT3: %d\r\n",
|
||||
OCR3A,
|
||||
TCCR3B,
|
||||
GPTD3.period,
|
||||
GPTD3.counter,
|
||||
TCNT3);
|
||||
chThdSleepMilliseconds(100);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,10 +30,24 @@
|
|||
*/
|
||||
#define AVR_ADC_USE_ADC1 FALSE
|
||||
|
||||
/*
|
||||
* EXT drivers system settings.
|
||||
*/
|
||||
#define AVR_EXT_USE_INT0 FALSE
|
||||
#define AVR_EXT_USE_INT1 FALSE
|
||||
#define AVR_EXT_USE_INT2 FALSE
|
||||
#define AVR_EXT_USE_INT3 FALSE
|
||||
#define AVR_EXT_USE_INT4 FALSE
|
||||
#define AVR_EXT_USE_INT5 FALSE
|
||||
|
||||
/*
|
||||
* CAN driver system settings.
|
||||
*/
|
||||
|
||||
/*
|
||||
* MAC driver system settings.
|
||||
*/
|
||||
|
||||
/*
|
||||
* PWM driver system settings.
|
||||
*/
|
||||
|
@ -54,9 +68,9 @@
|
|||
/*
|
||||
* GPT driver system settings.
|
||||
*/
|
||||
#define AVR_GPT_USE_TIM1 TRUE
|
||||
#define AVR_GPT_USE_TIM1 FALSE
|
||||
#define AVR_GPT_USE_TIM2 FALSE
|
||||
#define AVR_GPT_USE_TIM3 FALSE
|
||||
#define AVR_GPT_USE_TIM3 TRUE
|
||||
#define AVR_GPT_USE_TIM4 FALSE
|
||||
#define AVR_GPT_USE_TIM5 FALSE
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*****************************************************************************
|
||||
** ChibiOS/RT port for Atmel AVR ATmega1280. **
|
||||
** ChibiOS/RT port for Atmel AVR ATmega2560. **
|
||||
*****************************************************************************
|
||||
|
||||
** TARGET **
|
||||
|
|
Loading…
Reference in New Issue