aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortfateba <none@example.com>2017-06-10 00:48:17 +0000
committertfateba <none@example.com>2017-06-10 00:48:17 +0000
commit490c37167580c00e215114e8a915232be52181f0 (patch)
tree1fadcca81752d98ffcfc6685d7e8b3f93e1c545b
parent72bf7d1c66d2dbde1208c7fb34cabc59ff180d23 (diff)
downloadChibiOS-490c37167580c00e215114e8a915232be52181f0.tar.gz
ChibiOS-490c37167580c00e215114e8a915232be52181f0.tar.bz2
ChibiOS-490c37167580c00e215114e8a915232be52181f0.zip
Update NIL AVR Arduino Mega demo.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10257 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--demos/AVR/NIL-ARDUINO-MEGA/Makefile12
-rw-r--r--demos/AVR/NIL-ARDUINO-MEGA/chconf.h (renamed from demos/AVR/NIL-ARDUINO-MEGA/nilconf.h)138
-rw-r--r--demos/AVR/NIL-ARDUINO-MEGA/main.c2
3 files changed, 122 insertions, 30 deletions
diff --git a/demos/AVR/NIL-ARDUINO-MEGA/Makefile b/demos/AVR/NIL-ARDUINO-MEGA/Makefile
index 64331a70e..7e8fb2203 100644
--- a/demos/AVR/NIL-ARDUINO-MEGA/Makefile
+++ b/demos/AVR/NIL-ARDUINO-MEGA/Makefile
@@ -40,7 +40,7 @@
#----------------------------------------------------------------------------
# MCU name
-MCU = atmega1280
+MCU = atmega2560
# Processor frequency.
F_CPU = 16000000
@@ -49,7 +49,7 @@ F_CPU = 16000000
FORMAT = ihex
# Target file name (without extension).
-TARGET = nil
+TARGET = ch
# Object files directory
# 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 ?
# to get a full listing.
#
-AVRDUDE_PROGRAMMER = arduino
+AVRDUDE_PROGRAMMER = wiring
# 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
# 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 $(AVRDUDE_PORT)
-AVRDUDE_FLAGS += -b 57600
+AVRDUDE_FLAGS += -b 115200
AVRDUDE_FLAGS += -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
diff --git a/demos/AVR/NIL-ARDUINO-MEGA/nilconf.h b/demos/AVR/NIL-ARDUINO-MEGA/chconf.h
index 849e20cae..24ddd1520 100644
--- a/demos/AVR/NIL-ARDUINO-MEGA/nilconf.h
+++ b/demos/AVR/NIL-ARDUINO-MEGA/chconf.h
@@ -15,7 +15,7 @@
*/
/**
- * @file nilconf.h
+ * @file chconf.h
* @brief Configuration file template.
* @details A copy of this file must be placed in each project directory, it
* contains the application specific kernel settings.
@@ -25,8 +25,10 @@
* @{
*/
-#ifndef _NILCONF_H_
-#define _NILCONF_H_
+#ifndef CHCONF_H
+#define CHCONF_H
+
+#define _CHIBIOS_NIL_CONF_
/*===========================================================================*/
/**
@@ -40,7 +42,7 @@
* @note This number is not inclusive of the idle thread which is
* Implicitly handled.
*/
-#define NIL_CFG_NUM_THREADS 2
+#define CH_CFG_NUM_THREADS 2
/** @} */
@@ -55,18 +57,15 @@
* @brief System time counter resolution.
* @note Allowed values are 16 or 32 bits.
*/
-#define NIL_CFG_ST_RESOLUTION 16
+#define CH_CFG_ST_RESOLUTION 16
/**
* @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
* 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.
@@ -76,7 +75,7 @@
* The value one is not valid, timeouts are rounded up to
* this value.
*/
-#define NIL_CFG_ST_TIMEDELTA 2
+#define CH_CFG_ST_TIMEDELTA 2
/** @} */
@@ -88,12 +87,79 @@
/*===========================================================================*/
/**
+ * @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.
* @details If enabled then the event flags APIs are included in the kernel.
*
* @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 Debug option, kernel statistics.
+ *
+ * @note Feature not currently implemented.
+ * @note The default is @p 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 NIL_CFG_ENABLE_ASSERTS FALSE
+#define CH_DBG_ENABLE_ASSERTS FALSE
/**
* @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.
*/
-#if !defined(NIL_CFG_SYSTEM_INIT_HOOK) || defined(__DOXYGEN__)
-#define NIL_CFG_SYSTEM_INIT_HOOK() { \
+#if !defined(CH_CFG_SYSTEM_INIT_HOOK) || defined(__DOXYGEN__)
+#define CH_CFG_SYSTEM_INIT_HOOK() { \
}
#endif
@@ -135,13 +227,13 @@
* @brief Threads descriptor structure extension.
* @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.*/
/**
* @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.*/ \
}
@@ -151,7 +243,7 @@
* should be invoked from here.
* @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.
* @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.
*/
-#if !defined(NIL_CFG_SYSTEM_HALT_HOOK) || defined(__DOXYGEN__)
-#define NIL_CFG_SYSTEM_HALT_HOOK(reason) { \
+#if !defined(CH_CFG_SYSTEM_HALT_HOOK) || defined(__DOXYGEN__)
+#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
}
#endif
@@ -177,6 +269,6 @@
/* Port-specific settings (override port settings defaulted in nilcore.h). */
/*===========================================================================*/
-#endif /* _NILCONF_H_ */
+#endif /* CHCONF_H */
/** @} */
diff --git a/demos/AVR/NIL-ARDUINO-MEGA/main.c b/demos/AVR/NIL-ARDUINO-MEGA/main.c
index 838d198dc..ea1b470c4 100644
--- a/demos/AVR/NIL-ARDUINO-MEGA/main.c
+++ b/demos/AVR/NIL-ARDUINO-MEGA/main.c
@@ -15,7 +15,7 @@
*/
#include "hal.h"
-#include "nil.h"
+#include "ch.h"
/*
* Thread 1.