Update NIL AVR Arduino Mega demo.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10257 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
tfateba 2017-06-10 00:48:17 +00:00
parent 72bf7d1c66
commit 490c371675
3 changed files with 123 additions and 31 deletions

View File

@ -40,7 +40,7 @@
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# MCU name # MCU name
MCU = atmega1280 MCU = atmega2560
# Processor frequency. # Processor frequency.
F_CPU = 16000000 F_CPU = 16000000
@ -49,7 +49,7 @@ F_CPU = 16000000
FORMAT = ihex FORMAT = ihex
# Target file name (without extension). # Target file name (without extension).
TARGET = nil TARGET = ch
# Object files directory # Object files directory
# To put object files in current directory, use a dot (.), do NOT make # To put object files in current directory, use a dot (.), do NOT make
@ -254,12 +254,12 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
# Type: avrdude -c ? # Type: avrdude -c ?
# to get a full listing. # to get a full listing.
# #
AVRDUDE_PROGRAMMER = arduino AVRDUDE_PROGRAMMER = wiring
# com1 = serial port. Use lpt1 to connect to parallel port. # com1 = serial port. Use lpt1 to connect to parallel port.
AVRDUDE_PORT = /dev/tty.usbserial-A7004IPU # programmer connected to serial device AVRDUDE_PORT = /dev/ttyUSB0 # programmer connected to serial device
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex AVRDUDE_WRITE_FLASH = -D -U flash:w:$(TARGET).hex
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep #AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
# Uncomment the following if you want avrdude's erase cycle counter. # Uncomment the following if you want avrdude's erase cycle counter.
@ -278,7 +278,7 @@ AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
AVRDUDE_FLAGS = -p $(MCU) AVRDUDE_FLAGS = -p $(MCU)
AVRDUDE_FLAGS += -P $(AVRDUDE_PORT) AVRDUDE_FLAGS += -P $(AVRDUDE_PORT)
AVRDUDE_FLAGS += -b 57600 AVRDUDE_FLAGS += -b 115200
AVRDUDE_FLAGS += -c $(AVRDUDE_PROGRAMMER) AVRDUDE_FLAGS += -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY) AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE) AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)

View File

@ -15,7 +15,7 @@
*/ */
/** /**
* @file nilconf.h * @file chconf.h
* @brief Configuration file template. * @brief Configuration file template.
* @details A copy of this file must be placed in each project directory, it * @details A copy of this file must be placed in each project directory, it
* contains the application specific kernel settings. * contains the application specific kernel settings.
@ -25,8 +25,10 @@
* @{ * @{
*/ */
#ifndef _NILCONF_H_ #ifndef CHCONF_H
#define _NILCONF_H_ #define CHCONF_H
#define _CHIBIOS_NIL_CONF_
/*===========================================================================*/ /*===========================================================================*/
/** /**
@ -40,7 +42,7 @@
* @note This number is not inclusive of the idle thread which is * @note This number is not inclusive of the idle thread which is
* Implicitly handled. * Implicitly handled.
*/ */
#define NIL_CFG_NUM_THREADS 2 #define CH_CFG_NUM_THREADS 2
/** @} */ /** @} */
@ -55,18 +57,15 @@
* @brief System time counter resolution. * @brief System time counter resolution.
* @note Allowed values are 16 or 32 bits. * @note Allowed values are 16 or 32 bits.
*/ */
#define NIL_CFG_ST_RESOLUTION 16 #define CH_CFG_ST_RESOLUTION 16
/** /**
* @brief System tick frequency. * @brief System tick frequency.
* @note This value together with the @p NIL_CFG_ST_RESOLUTION * @note This value together with the @p CH_CFG_ST_RESOLUTION
* option defines the maximum amount of time allowed for * option defines the maximum amount of time allowed for
* timeouts. * timeouts.
* @note Currently the Timer is configured with a prescaler of
* 1024. Arduinos running at 16MHz will have a frequency
* of 16MHz/1024. This will provide a resolution of ~64uS.
*/ */
#define NIL_CFG_ST_FREQUENCY 15624 #define CH_CFG_ST_FREQUENCY 15624
/** /**
* @brief Time delta constant for the tick-less mode. * @brief Time delta constant for the tick-less mode.
@ -76,7 +75,7 @@
* The value one is not valid, timeouts are rounded up to * The value one is not valid, timeouts are rounded up to
* this value. * this value.
*/ */
#define NIL_CFG_ST_TIMEDELTA 2 #define CH_CFG_ST_TIMEDELTA 2
/** @} */ /** @} */
@ -87,13 +86,80 @@
*/ */
/*===========================================================================*/ /*===========================================================================*/
/**
* @brief Semaphores APIs.
* @details If enabled then the Semaphores APIs are included in the kernel.
*
* @note The default is @p TRUE.
*/
#define CH_CFG_USE_SEMAPHORES TRUE
/**
* @brief Mutexes APIs.
* @details If enabled then the mutexes APIs are included in the kernel.
*
* @note Feature not currently implemented.
* @note The default is @p FALSE.
*/
#define CH_CFG_USE_MUTEXES FALSE
/** /**
* @brief Events Flags APIs. * @brief Events Flags APIs.
* @details If enabled then the event flags APIs are included in the kernel. * @details If enabled then the event flags APIs are included in the kernel.
* *
* @note The default is @p TRUE. * @note The default is @p TRUE.
*/ */
#define NIL_CFG_USE_EVENTS TRUE #define CH_CFG_USE_EVENTS TRUE
/**
* @brief Mailboxes APIs.
* @details If enabled then the asynchronous messages (mailboxes) APIs are
* included in the kernel.
*
* @note The default is @p TRUE.
* @note Requires @p CH_CFG_USE_SEMAPHORES.
*/
#define CH_CFG_USE_MAILBOXES TRUE
/**
* @brief Core Memory Manager APIs.
* @details If enabled then the core memory manager APIs are included
* in the kernel.
*
* @note The default is @p TRUE.
*/
#define CH_CFG_USE_MEMCORE TRUE
/**
* @brief Heap Allocator APIs.
* @details If enabled then the memory heap allocator APIs are included
* in the kernel.
*
* @note The default is @p TRUE.
*/
#define CH_CFG_USE_HEAP TRUE
/**
* @brief Memory Pools Allocator APIs.
* @details If enabled then the memory pools allocator APIs are included
* in the kernel.
*
* @note The default is @p TRUE.
*/
#define CH_CFG_USE_MEMPOOLS TRUE
/**
* @brief Managed RAM size.
* @details Size of the RAM area to be managed by the OS. If set to zero
* then the whole available RAM is used. The core memory is made
* available to the heap allocator and/or can be used directly through
* the simplified core memory allocator.
*
* @note In order to let the OS manage the whole RAM the linker script must
* provide the @p __heap_base__ and @p __heap_end__ symbols.
* @note Requires @p CH_CFG_USE_MEMCORE.
*/
#define CH_CFG_MEMCORE_SIZE 0
/** @} */ /** @} */
@ -105,14 +171,40 @@
/*===========================================================================*/ /*===========================================================================*/
/** /**
* @brief System assertions. * @brief Debug option, kernel statistics.
*
* @note Feature not currently implemented.
* @note The default is @p FALSE.
*/ */
#define NIL_CFG_ENABLE_ASSERTS FALSE #define CH_DBG_STATISTICS FALSE
/**
* @brief Debug option, system state check.
*
* @note The default is @p FALSE.
*/
#define CH_DBG_SYSTEM_STATE_CHECK FALSE
/**
* @brief Debug option, parameters checks.
*
* @note The default is @p FALSE.
*/
#define CH_DBG_ENABLE_CHECKS FALSE
/**
* @brief System assertions.
*
* @note The default is @p FALSE.
*/
#define CH_DBG_ENABLE_ASSERTS FALSE
/** /**
* @brief Stack check. * @brief Stack check.
*
* @note The default is @p FALSE.
*/ */
#define NIL_CFG_ENABLE_STACK_CHECK FALSE #define CH_DBG_ENABLE_STACK_CHECK FALSE
/** @} */ /** @} */
@ -126,8 +218,8 @@
/** /**
* @brief System initialization hook. * @brief System initialization hook.
*/ */
#if !defined(NIL_CFG_SYSTEM_INIT_HOOK) || defined(__DOXYGEN__) #if !defined(CH_CFG_SYSTEM_INIT_HOOK) || defined(__DOXYGEN__)
#define NIL_CFG_SYSTEM_INIT_HOOK() { \ #define CH_CFG_SYSTEM_INIT_HOOK() { \
} }
#endif #endif
@ -135,13 +227,13 @@
* @brief Threads descriptor structure extension. * @brief Threads descriptor structure extension.
* @details User fields added to the end of the @p thread_t structure. * @details User fields added to the end of the @p thread_t structure.
*/ */
#define NIL_CFG_THREAD_EXT_FIELDS \ #define CH_CFG_THREAD_EXT_FIELDS \
/* Add threads custom fields here.*/ /* Add threads custom fields here.*/
/** /**
* @brief Threads initialization hook. * @brief Threads initialization hook.
*/ */
#define NIL_CFG_THREAD_EXT_INIT_HOOK(tr) { \ #define CH_CFG_THREAD_EXT_INIT_HOOK(tr) { \
/* Add custom threads initialization code here.*/ \ /* Add custom threads initialization code here.*/ \
} }
@ -151,7 +243,7 @@
* should be invoked from here. * should be invoked from here.
* @note This macro can be used to activate a power saving mode. * @note This macro can be used to activate a power saving mode.
*/ */
#define NIL_CFG_IDLE_ENTER_HOOK() { \ #define CH_CFG_IDLE_ENTER_HOOK() { \
} }
/** /**
@ -160,14 +252,14 @@
* should be invoked from here. * should be invoked from here.
* @note This macro can be used to deactivate a power saving mode. * @note This macro can be used to deactivate a power saving mode.
*/ */
#define NIL_CFG_IDLE_LEAVE_HOOK() { \ #define CH_CFG_IDLE_LEAVE_HOOK() { \
} }
/** /**
* @brief System halt hook. * @brief System halt hook.
*/ */
#if !defined(NIL_CFG_SYSTEM_HALT_HOOK) || defined(__DOXYGEN__) #if !defined(CH_CFG_SYSTEM_HALT_HOOK) || defined(__DOXYGEN__)
#define NIL_CFG_SYSTEM_HALT_HOOK(reason) { \ #define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
} }
#endif #endif
@ -177,6 +269,6 @@
/* Port-specific settings (override port settings defaulted in nilcore.h). */ /* Port-specific settings (override port settings defaulted in nilcore.h). */
/*===========================================================================*/ /*===========================================================================*/
#endif /* _NILCONF_H_ */ #endif /* CHCONF_H */
/** @} */ /** @} */

View File

@ -15,7 +15,7 @@
*/ */
#include "hal.h" #include "hal.h"
#include "nil.h" #include "ch.h"
/* /*
* Thread 1. * Thread 1.