Add context switch benchmark for at91sam7s-ek board.
authorasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 20 May 2010 17:57:50 +0000 (17:57 +0000)
committerasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 20 May 2010 17:57:50 +0000 (17:57 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3771 38d2e660-2303-0410-9eaa-f027e97ec537

48 files changed:
boards/at91sam7s-ek/benchmark/context_switch/.spec [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_adc.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_afsk.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ax25.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_battfs.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_context_switch.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_dataflash.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_dc_motor.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_debug.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_fat.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_flash25.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_formatwr.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_gfx.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_hashtable.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_heap.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_i2c.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_i2s.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ini_reader.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_kbd.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_keytag.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_kfile.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_lcd_32122a.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_lcd_hd44.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_lm75.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_md2.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_monitor.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_nmea.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_parser.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_phase.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_pocketbus.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_proc.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_pwm.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ramp.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_randpool.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_sem.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ser.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_signal.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_spi_bitbang.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_stepper.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_tas5706a.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_thermo.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_timer.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_wdt.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_xmodem.h [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/context_switch.mk [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/context_switch_user.mk [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/main.c [new file with mode: 0644]
boards/at91sam7s-ek/benchmark/context_switch/project.bertos [new file with mode: 0644]

diff --git a/boards/at91sam7s-ek/benchmark/context_switch/.spec b/boards/at91sam7s-ek/benchmark/context_switch/.spec
new file mode 100644 (file)
index 0000000..2e53e0e
--- /dev/null
@@ -0,0 +1 @@
+name = 'BeRTOS Context Switch'
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_adc.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_adc.h
new file mode 100644 (file)
index 0000000..dd65e13
--- /dev/null
@@ -0,0 +1,110 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for the ADC module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_ADC_H
+#define CFG_ADC_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define ADC_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define ADC_LOG_FORMAT     LOG_FMT_VERBOSE
+
+/**
+ * Clock Frequency for ADC conversion.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_ADC_CLOCK        4800000UL
+
+/**
+ * Minimum time for starting up a conversion [us].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_ADC_STARTUP_TIME 20
+
+/**
+ * Minimum time for sample and hold [us].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_ADC_SHTIME       834
+
+/**
+ * ADC Voltage Reference.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "avr_adc_refs"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_ADC_AVR_REF      ADC_AVR_AVCC
+
+/**
+ * ADC clock divisor from main crystal.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ max = 128
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_ADC_AVR_DIVISOR  2
+
+/**
+ * Enable ADC strobe for debugging ADC ISR.
+ *
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_ADC_STROBE  0
+
+#endif /* CFG_ADC_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_afsk.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_afsk.h
new file mode 100644 (file)
index 0000000..cce47c1
--- /dev/null
@@ -0,0 +1,113 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for AFSK1200 modem.
+ *
+ * \author Francesco Sacchi <asterix@develer.com>
+ */
+
+#ifndef CFG_AFSK_H
+#define CFG_AFSK_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define AFSK_LOG_LEVEL      LOG_LVL_WARN
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define AFSK_LOG_FORMAT     LOG_FMT_TERSE
+
+
+/**
+ * AFSK discriminator filter type.
+ *
+ * $WIZ$ type = "enum"; value_list = "afsk_filter_list"
+ */
+#define CONFIG_AFSK_FILTER AFSK_CHEBYSHEV
+
+
+/**
+ * AFSK receiver buffer length.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_AFSK_RX_BUFLEN 32
+
+/**
+ * AFSK transimtter buffer length.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_AFSK_TX_BUFLEN 32
+
+/**
+ * AFSK DAC sample rate for modem outout.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2400
+ */
+#define CONFIG_AFSK_DAC_SAMPLERATE 9600
+
+/**
+ * AFSK RX timeout in ms, set to -1 to disable.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = -1
+ */
+#define CONFIG_AFSK_RXTIMEOUT 0
+
+
+/**
+ * AFSK Preamble length in [ms], before starting transmissions.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_AFSK_PREAMBLE_LEN 300UL
+
+
+
+/**
+ * AFSK Trailer length in [ms], before stopping transmissions.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_AFSK_TRAILER_LEN 50UL
+
+#endif /* CFG_AFSK_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ax25.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ax25.h
new file mode 100644 (file)
index 0000000..64f862f
--- /dev/null
@@ -0,0 +1,76 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for the AX25 protocol module.
+ *
+ * \version $Id$
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef CFG_AX25_H
+#define CFG_AX25_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define AX25_LOG_LEVEL      LOG_LVL_WARN
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define AX25_LOG_FORMAT     LOG_FMT_TERSE
+
+/**
+ * AX25 frame buffer lenght.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 18
+ */
+#define CONFIG_AX25_FRAME_BUF_LEN 330
+
+
+/**
+ * Enable repeaters listing in AX25 frames.
+ * If enabled use 56 addtional bytes of RAM
+ * for each message received.
+ *
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_AX25_RPT_LST 1
+
+#endif /* CFG_AX25_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_battfs.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_battfs.h
new file mode 100644 (file)
index 0000000..fb438a0
--- /dev/null
@@ -0,0 +1,68 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for BattFS module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_BATTFS_H
+#define CFG_BATTFS_H
+
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define BATTFS_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define BATTFS_LOG_FORMAT     LOG_FMT_VERBOSE
+
+/**
+ * Set to 1 to enable free page shuffling.
+ * This increase memories life but makes debugging
+ * more difficult due to its unrepeteable state.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_BATTFS_SHUFFLE_FREE_PAGES 0
+
+
+#endif /* BATTFS */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_context_switch.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_context_switch.h
new file mode 100644 (file)
index 0000000..fe0b4f8
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for the context switch benchmark.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_CONTEXT_SWITCH_H
+#define CFG_CONTEXT_SWITCH_H
+
+/**
+ * Use hp timer for the bechmark.
+ *
+ * $WIZ$ type = "boolean"
+ * $WIZ$ module= "boolean"
+ * $WIZ$ conditional_deps = "ser"
+ */
+#define CONFIG_USE_HP_TIMER       1
+
+
+/**
+ * Use board led for benchmark.
+ *
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_USE_LED       1
+
+
+/**
+ * Debug console port.
+ * $WIZ$ type = "int"; min = 0
+ */
+#define CONFIG_CTX_DEBUG_PORT 0
+
+/**
+ * Baudrate for the debug console.
+ * $WIZ$ type = "int"; min = 300
+ */
+#define CONFIG_CTX_DEBUG_BAUDRATE  115200UL
+
+#endif /* CFG_CONTEXT_SWITCH_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_dataflash.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_dataflash.h
new file mode 100644 (file)
index 0000000..8bd7828
--- /dev/null
@@ -0,0 +1,56 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for data flash memory module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_DATAFLASH_H
+#define CFG_DATAFLASH_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define DATAFLASH_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define DATAFLASH_LOG_FORMAT     LOG_FMT_TERSE
+
+#endif /* CFG_DATAFLASH_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_dc_motor.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_dc_motor.h
new file mode 100644 (file)
index 0000000..fd9bac7
--- /dev/null
@@ -0,0 +1,111 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for DC motor module.
+ *
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_DC_MOTOR_H
+#define CFG_DC_MOTOR_H
+
+/**
+ * Number of the DC motors to manage.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NUM_DC_MOTOR       4
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define DC_MOTOR_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define DC_MOTOR_LOG_FORMAT     LOG_FMT_VERBOSE
+
+
+/**
+ * Min value of DC motor speed.
+ * \note Generally this value is the min value of the ADC conversion,
+ * if you use it.
+ *
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_DC_MOTOR_MIN_SPEED              0
+
+
+/**
+ * Max value of DC motor speed.
+ * \note Generally this value is the max value of the ADC conversion,
+ * if you use it.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ max = 65535
+ */
+#define CONFIG_DC_MOTOR_MAX_SPEED         65535
+
+
+/**
+ * Sampling period in millisecond.
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_DC_MOTOR_SAMPLE_PERIOD     40
+
+/**
+ * Amount of millisecond before to read sample.
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_DC_MOTOR_SAMPLE_DELAY       2
+
+/**
+ * This control set which mode the driver use to lock share
+ * resources when we use the preempitive kernel.
+ * If we set to 1 we use the semaphore module otherwise the
+ * driver disable the switch context every time we need to access
+ * to shared sources.
+ *
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_DC_MOTOR_USE_SEM            1
+
+#endif /* CFG_DC_MOTOR_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_debug.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_debug.h
new file mode 100644 (file)
index 0000000..f7596ca
--- /dev/null
@@ -0,0 +1,55 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for Debug module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_DEBUG_H
+#define CFG_DEBUG_H
+
+/**
+ * Debug console port.
+ * $WIZ$ type = "int"; min = 0
+ */
+#define CONFIG_KDEBUG_PORT 0
+
+/**
+ * Baudrate for the debug console.
+ * $WIZ$ type = "int"; min = 300
+ */
+#define CONFIG_KDEBUG_BAUDRATE  115200UL
+
+#endif /* CFG_DEBUG_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_fat.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_fat.h
new file mode 100644 (file)
index 0000000..d418b78
--- /dev/null
@@ -0,0 +1,140 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for Fat module.
+ *
+ * \version $Id$
+ *
+ * \author Luca Ottaviano <lottaviano@develer.com>
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef CFG_FAT_H
+#define CFG_FAT_H
+
+/**
+ * Use word alignment to access FAT structure.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_WORD_ACCESS   0
+#define _WORD_ACCESS CONFIG_FAT_WORD_ACCESS
+
+/**
+ * Enable read functions only.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_FS_READONLY   0
+#define _FS_READONLY CONFIG_FAT_FS_READONLY
+
+/**
+ * Minimization level to remove some functions.
+ * $WIZ$ type = "int"; min = 0; max = 3
+ */
+#define CONFIG_FAT_FS_MINIMIZE 0
+#define _FS_MINIMIZE CONFIG_FAT_FS_MINIMIZE
+
+/**
+ * If enabled, this reduces memory consumption 512 bytes each file object by using a shared buffer.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_FS_TINY 1
+#define        _FS_TINY CONFIG_FAT_FS_TINY
+
+/**
+ * To enable string functions, set _USE_STRFUNC to 1 or 2.
+ * $WIZ$ type = "int"
+ * $WIZ$ supports = "False"
+ */
+#define CONFIG_FAT_USE_STRFUNC 0
+#define        _USE_STRFUNC CONFIG_FAT_USE_STRFUNC
+
+/**
+ * Enable f_mkfs function. Requires CONFIG_FAT_FS_READONLY = 0.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_USE_MKFS 0
+#define        _USE_MKFS (CONFIG_FAT_USE_MKFS && !CONFIG_FAT_FS_READONLY)
+
+/**
+ * Enable f_forward function. Requires CONFIG_FAT_FS_TINY.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_USE_FORWARD 0
+#define        _USE_FORWARD (CONFIG_FAT_USE_FORWARD && CONFIG_FAT_FS_TINY)
+
+/**
+ * Number of volumes (logical drives) to be used.
+ * $WIZ$ type = "int"; min = 1; max = 255
+ */
+#define CONFIG_FAT_DRIVES 1
+#define _DRIVES CONFIG_FAT_DRIVES
+
+/**
+ * Maximum sector size to be handled. (512/1024/2048/4096).
+ * 512 for memory card and hard disk, 1024 for floppy disk, 2048 for MO disk
+ * $WIZ$ type = "int"; min = 512; max = 4096
+ */
+#define CONFIG_FAT_MAX_SS 512
+#define        _MAX_SS CONFIG_FAT_MAX_SS
+
+/**
+ * When _MULTI_PARTITION is set to 0, each volume is bound to the same physical
+ * drive number and can mount only first primaly partition. When it is set to 1,
+ * each volume is tied to the partitions listed in Drives[].
+ * $WIZ$ type = "boolean"
+ * $WIZ$ supports = "False"
+ */
+#define CONFIG_FAT_MULTI_PARTITION 0
+#define        _MULTI_PARTITION CONFIG_FAT_MULTI_PARTITION
+
+/**
+ * Specifies the OEM code page to be used on the target system.
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_FAT_CODE_PAGE 850
+#define _CODE_PAGE CONFIG_FAT_CODE_PAGE
+
+/**
+ * Support for long filenames. Enable only if you have a valid Microsoft license.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_USE_LFN 0
+#define        _USE_LFN CONFIG_FAT_USE_LFN
+
+/**
+ * Maximum Long File Name length to handle.
+ * $WIZ$ type = "int"; min = 8; max = 255
+ */
+#define CONFIG_FAT_MAX_LFN 255
+#define        _MAX_LFN CONFIG_FAT_MAX_LFN
+
+#endif /* CFG_FAT_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_flash25.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_flash25.h
new file mode 100644 (file)
index 0000000..f7ff219
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for flash25 module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_FLASH25_H
+#define CFG_FLASH25_H
+
+/**
+ * Eeprom memory type.
+ *
+ *$WIZ$ type = "enum"
+ *$WIZ$ value_list = "flash25_list"
+ */
+#define CONFIG_FLASH25 FLASH25_AT25F2048
+
+#endif /* CFG_FALSH25_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_formatwr.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_formatwr.h
new file mode 100644 (file)
index 0000000..bac8aca
--- /dev/null
@@ -0,0 +1,65 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for formatted write module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_FORMATWR_H
+#define CFG_FORMATWR_H
+
+/**
+ * printf()-style formatter configuration.
+ * $WIZ$ type = "enum"; value_list = "printf_list"
+ *
+ * \sa PRINTF_DISABLED
+ * \sa PRINTF_NOMODIFIERS
+ * \sa PRINTF_REDUCED
+ * \sa PRINTF_NOFLOAT
+ * \sa PRINTF_FULL
+ */
+#define CONFIG_PRINTF PRINTF_FULL
+
+/**
+ * Size of buffer to format "%" sequences in printf.
+ *
+ * Warning: no check on buffer size is done when formatting, be careful especially
+ * with big numbers and %f formatting.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 4
+ */
+#define CONFIG_FRMWRI_BUFSIZE  134
+
+#endif /* CFG_FORMATWR_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_gfx.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_gfx.h
new file mode 100644 (file)
index 0000000..59dde04
--- /dev/null
@@ -0,0 +1,67 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for GFX module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_GFX_H
+#define CFG_GFX_H
+
+/**
+ * Enable line clipping algorithm.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_GFX_CLIPPING  1
+
+/**
+ * Enable text rendering in bitmaps.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_GFX_TEXT  1
+
+/**
+ * Enable virtual coordinate system.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_GFX_VCOORDS  1
+
+/**
+ * Select bitmap pixel format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "bitmap_format"
+ */
+#define CONFIG_BITMAP_FMT  BITMAP_FMT_PLANAR_V_LSB
+
+#endif /* CFG_GFX_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_hashtable.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_hashtable.h
new file mode 100644 (file)
index 0000000..e4645f3
--- /dev/null
@@ -0,0 +1,51 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for hashtable module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_HASHTABLE_H
+#define CFG_HASHTABLE_H
+
+/**
+ * Enable/disable support to declare special hash tables which maintain a copy of the key internally instead of relying on the hook to extract it from the data.
+ *
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_HT_OPTIONAL_INTERNAL_KEY      1
+
+#endif /* CFG_HASHTABLE_H */
+
+
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_heap.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_heap.h
new file mode 100644 (file)
index 0000000..dc4b1fa
--- /dev/null
@@ -0,0 +1,51 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for heap module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_HEAP_H
+#define CFG_HEAP_H
+
+/**
+ * Enable malloc/free like API.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_HEAP_MALLOC     1
+
+#endif /* CFG_HEAP_H */
+
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_i2c.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_i2c.h
new file mode 100644 (file)
index 0000000..7df0d09
--- /dev/null
@@ -0,0 +1,88 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for I2C module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_I2C_H
+#define CFG_I2C_H
+
+/**
+*Comunication frequency.
+*
+* $WIZ$ type = "int"
+*/
+#define CONFIG_I2C_FREQ  100000UL
+
+/**
+ * I2C start timeout.
+ * For how many milliseconds the i2c_start
+ * should try to get an ACK before
+ * returning error.
+ *
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_I2C_START_TIMEOUT 100
+
+/**
+ * I2C backend the driver should use.
+ *
+ * I2C_BACKEND_BUILTIN: Use (if present) the builtin i2c hardware.
+ * I2C_BACKEND_BITBANG: Use the emulated bitbang driver.
+ * \see drv/i2c.h for more information.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "i2c_backend"
+ */
+#define CONFIG_I2C_BACKEND I2C_BACKEND_BUILTIN
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define I2C_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define I2C_LOG_FORMAT     LOG_FMT_TERSE
+
+#endif /* CFG_I2C_H */
+
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_i2s.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_i2s.h
new file mode 100644 (file)
index 0000000..52fa884
--- /dev/null
@@ -0,0 +1,75 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for I2S module.
+ *
+ * \version $Id$
+ *
+ * \author Luca Ottaviano <lottaviano@develer.com>
+ */
+
+#ifndef CFG_I2S_H
+#define CFG_I2S_H
+
+/**
+ * Length of each play buffer.
+ *
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_PLAY_BUF_LEN    8192
+
+/**
+ * Sampling frequency of the audio file.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min =  32000
+ * $WIZ$ max = 192000
+ */
+#define CONFIG_SAMPLE_FREQ     44100UL
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define I2S_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define I2S_LOG_FORMAT     LOG_FMT_TERSE
+
+#endif /* CFG_I2S_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ini_reader.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ini_reader.h
new file mode 100644 (file)
index 0000000..702c78e
--- /dev/null
@@ -0,0 +1,49 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for ini reader module.
+ *
+ * \version $Id$
+ *
+ * \author Luca Ottaviano <lottaviano@develer.com>
+ */
+
+#ifndef CFG_INI_READER_H
+#define CFG_INI_READER_H
+
+/**
+ * Maximum ini file line length (chars).
+ * $WIZ$ type = "int"; min = 1
+ */
+#define CONFIG_INI_MAX_LINE_LEN 64
+
+#endif /* CFG_INI_READER_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_kbd.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_kbd.h
new file mode 100644 (file)
index 0000000..116f331
--- /dev/null
@@ -0,0 +1,59 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for keyboard module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_KBD_H
+#define CFG_KBD_H
+
+/// Keyboard polling method. $WIZ$ supports = "False"
+#define CONFIG_KBD_POLL  KBD_POLL_SOFTINT
+
+/// Enable keyboard event delivery to observers. $WIZ$ type = "boolean"
+#define CONFIG_KBD_OBSERVER  0
+
+/// Enable key beeps. $WIZ$ type = "boolean"
+#define CONFIG_KBD_BEEP  0
+
+/// Enable long pression handler for keys. $WIZ$ type = "boolean"
+#define CONFIG_KBD_LONGPRESS  0
+
+/// Enable calling poor man's scheduler to be called inside kbd_peek. $WIZ$ type = "boolean"
+#define CONFIG_KBD_SCHED 0
+
+#endif /* CFG_KBD_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_keytag.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_keytag.h
new file mode 100644 (file)
index 0000000..8bedadf
--- /dev/null
@@ -0,0 +1,61 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for keytag module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_KEYTAG_H
+#define CFG_KEYTAG_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define CONFIG_KEYTAG_LOG_LEVEL        LOG_LVL_ERR
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define CONFIG_KEYTAG_LOG_FORMAT       LOG_FMT_TERSE
+
+/**
+ * Max buffer lenght
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_TAG_MAX_LEN 14U
+
+#endif /* CFG_KEYTAG_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_kfile.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_kfile.h
new file mode 100644 (file)
index 0000000..0ebed7b
--- /dev/null
@@ -0,0 +1,61 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for KFile interface module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_KFILE_H
+#define CFG_KFILE_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define KFILE_LOG_LEVEL        LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define KFILE_LOG_FORMAT       LOG_FMT_TERSE
+
+/**
+ * Enable the gets function with echo.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_KFILE_GETS      0
+
+#endif /* CFG_KFILE_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_lcd_32122a.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_lcd_32122a.h
new file mode 100644 (file)
index 0000000..5a9b3ca
--- /dev/null
@@ -0,0 +1,63 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2005, 2006, 2010 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2001 Bernie Innocenti <bernie@codewiz.org>
+ *
+ * -->
+ *
+ * \brief Displaytech 32122A LCD driver configuration file.
+ *
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ * \author Stefano Fedrigo <aleph@develer.com>
+ *
+ */
+#ifndef CFG_LCD_32122A_H
+#define CFG_LCD_32122A_H
+
+/**
+ * Enable soft interrupt to refresh the LCD.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_LCD_SOFTINT_REFRESH     0
+
+/**
+ * Enable wait macro when display is busy.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_LCD_WAIT                0
+
+/**
+ * Display refresh time 32122a.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ */
+#define CONFIG_LCD_REFRESH           100
+
+#endif /* CFG_LCD_32122A_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_lcd_hd44.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_lcd_hd44.h
new file mode 100644 (file)
index 0000000..78f1f20
--- /dev/null
@@ -0,0 +1,55 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for lcd display module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_LCD_H
+#define CFG_LCD_H
+
+/**
+ * Use 4 bit addressing mode.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_LCD_4BIT            0
+
+/**
+ * Use a table to speed up LCD memory addressing.
+ * This will use about 100 bytes of RAM.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_LCD_ADDRESS_FAST    1
+
+#endif /* CFG_LCD_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_lm75.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_lm75.h
new file mode 100644 (file)
index 0000000..91b347a
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for the LM75 sensor temperature.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_LM75_H
+#define CFG_LM75_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define LM75_LOG_LEVEL      LOG_LVL_WARN
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define LM75_LOG_FORMAT     LOG_FMT_TERSE
+
+#endif /* CFG_AX25_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_md2.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_md2.h
new file mode 100644 (file)
index 0000000..22ec7db
--- /dev/null
@@ -0,0 +1,54 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for MD2 module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_MD2_H
+#define CFG_MD2_H
+
+/**
+ * Size of block for MD2 algorithm.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_MD2_BLOCK_LEN    16
+
+/// Use standard permutation in MD2 algorithm. $WIZ$ type = "boolean"
+#define CONFIG_MD2_STD_PERM     0
+
+#endif /* CFG_MD2_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_monitor.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_monitor.h
new file mode 100644 (file)
index 0000000..ffe17c0
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti <bernie@codewiz.org>
+ * -->
+ *
+ * \brief Kernel monitor configuration parameters
+ *
+ * \version $Id$
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ */
+
+#ifndef CFG_MONITOR_H
+#define CFG_MONITOR_H
+
+/**
+ * Process monitor.
+ * $WIZ$ type = "autoenabled"
+ */
+#define CONFIG_KERN_MONITOR 0
+
+#endif /*  CFG_MONITOR_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_nmea.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_nmea.h
new file mode 100644 (file)
index 0000000..9249a9a
--- /dev/null
@@ -0,0 +1,85 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for NMEA module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_NMEA_H
+#define CFG_NMEA_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define NMEA_LOG_LEVEL      LOG_LVL_ERR
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define NMEA_LOG_FORMAT     LOG_FMT_TERSE
+
+
+/**
+ * Maximum number of sentence parsers supported.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NMEAP_MAX_SENTENCES         8
+
+/**
+ * Max length of a complete sentence. The standard says 82 bytes, but its probably
+ * better to go at least 128 since some units don't adhere to the 82 bytes
+ * especially for proprietary sentences.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NMEAP_MAX_SENTENCE_LENGTH   255
+
+/**
+ * Max tokens in one sentence. 24 is enough for any standard sentence.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NMEAP_MAX_TOKENS            24
+
+#endif /* CFG_NMEA_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_parser.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_parser.h
new file mode 100644 (file)
index 0000000..572b4a2
--- /dev/null
@@ -0,0 +1,46 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for parser module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_PARSER_H
+#define CFG_PARSER_H
+
+
+
+#endif /* CFG_PARSER_H */
+
+
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_phase.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_phase.h
new file mode 100644 (file)
index 0000000..5720293
--- /dev/null
@@ -0,0 +1,56 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for phase module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_PHASE_H
+#define CFG_PHASE_H
+
+/**
+ * Max value of the duty cycle on triac.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_TRIAC_MAX_DUTY  100
+
+/**
+ * Max value of the triac power.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_TRIAC_MAX_POWER 100
+
+#endif /* CFG_PHASE_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_pocketbus.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_pocketbus.h
new file mode 100644 (file)
index 0000000..aa0b090
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for pocketbus module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_POCKETBUS_H
+#define CFG_POCKETBUS_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define POCKETBUS_LOG_LEVEL      LOG_LVL_ERR
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define POCKETBUS_LOG_FORMAT     LOG_FMT_TERSE
+
+
+/**
+ *Buffer len for pockebus protocol.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_POCKETBUS_BUFLEN     128
+
+/**
+ * Command replay timeout in milliseconds.
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_POCKETBUS_CMD_REPLY_TIMEOUT   50
+
+#endif /* CFG_POCKETBUS_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_proc.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_proc.h
new file mode 100644 (file)
index 0000000..ab1a468
--- /dev/null
@@ -0,0 +1,107 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti <bernie@codewiz.org>
+ * -->
+ *
+ * \brief Kernel configuration parameters
+ *
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ */
+
+#ifndef CFG_PROC_H
+#define CFG_PROC_H
+
+/**
+ * Enable the multithreading kernel.
+ *
+ * $WIZ$ type = "autoenabled"
+ */
+#define CONFIG_KERN 1
+
+/**
+ * Kernel interrupt supervisor. WARNING: Experimental, still incomplete!
+ * $WIZ$ type = "boolean"
+ * $WIZ$ supports = "False"
+ */
+#define CONFIG_KERN_IRQ 0
+
+/**
+ * Preemptive process scheduling.
+ *
+ * $WIZ$ type = "boolean"
+ * $WIZ$ conditional_deps = "timer"
+ */
+#define CONFIG_KERN_PREEMPT 1
+
+/**
+ * Time sharing quantum (a prime number prevents interference effects) [ms].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_KERN_QUANTUM 11
+
+/**
+ * Priority-based scheduling policy.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_KERN_PRI 1
+
+/**
+ * Dynamic memory allocation for processes.
+ * $WIZ$ type = "boolean"
+ * $WIZ$ conditional_deps = "heap"
+ */
+#define CONFIG_KERN_HEAP 1
+
+/**
+ * Size of the dynamic memory pool used by processes.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ */
+#define CONFIG_KERN_HEAP_SIZE 2048L
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define KERN_LOG_LEVEL LOG_LVL_ERR
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define KERN_LOG_FORMAT LOG_FMT_VERBOSE
+
+#endif /*  CFG_PROC_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_pwm.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_pwm.h
new file mode 100644 (file)
index 0000000..6627ee2
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * -->
+ *
+ * \brief Configuration file for PWM module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_PWM_H
+#define CFG_PWM_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define PWM_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define PWM_LOG_FORMAT     LOG_FMT_VERBOSE
+
+#endif /* CFG_PWM_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ramp.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ramp.h
new file mode 100644 (file)
index 0000000..1aeb8a8
--- /dev/null
@@ -0,0 +1,116 @@
+ /**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file Ramp algorithm module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_RAMP_H
+#define CFG_RAMP_H
+
+/**
+ * Define whether the ramp will use floating point calculation within ramp_evaluate().
+ * Otherwise, a less precise fixed point version will be used, which is faster on
+ * platforms which do no support floating point operations.
+ *
+ * \note Floating point operations will be always done within ramp_compute() to
+ * precalculate values, so there has to be at least a floating point emulation support.
+ *
+ * $WIZ$ type = "boolean"
+ */
+#define RAMP_USE_FLOATING_POINT   0
+
+
+#if !RAMP_USE_FLOATING_POINT
+
+       /**
+        * Number of least-significant bits which are stripped away during ramp evaluation.
+        * This setting allows to specify larger ramps at the price of less precision.
+        *
+        * The maximum ramp size allowed is 2^(24 + RAMP_CLOCK_SHIFT_PRECISION), in clocks.
+        * For instance, using RAMP_CLOCK_SHIFT_PRECISION 1, and a 8x prescaler, the maximum
+        * length of a ramp is about 6.7 secs. Raising RAMP_CLOCK_SHIFT_PRECISION to 2
+        * brings the maximum length to 13.4 secs, at the price of less precision.
+        *
+        * ramp_compute() will check that the length is below the maximum allowed through
+        * a runtime assertion.
+        *
+        * \note This macro is used only for the fixed-point version of the ramp.
+        * $WIZ$ type = "int"
+        * $WIZ$ min = 0
+        * $WIZ$ max = 32
+        */
+       #define RAMP_CLOCK_SHIFT_PRECISION 2
+#endif
+
+
+/**
+* Negative pulse width for ramp.
+* $WIZ$ type = "int"
+* $WIZ$ min = 1
+*/
+#define RAMP_PULSE_WIDTH    50
+
+/**
+ * Default ramp time (microsecs).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1000
+ */
+#define RAMP_DEF_TIME     6000000UL
+/**
+ * Default ramp maxfreq (Hz).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define RAMP_DEF_MAXFREQ       5000
+/**
+ * Default ramp minfreq (Hz).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define RAMP_DEF_MINFREQ        200
+/**
+ * Default ramp powerrun (deciampere).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ */
+#define RAMP_DEF_POWERRUN        10
+/**
+ * Default ramp poweridle (Hz).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ */
+#define RAMP_DEF_POWERIDLE        1
+
+#endif /* CFG_RAMP_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_randpool.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_randpool.h
new file mode 100644 (file)
index 0000000..8328598
--- /dev/null
@@ -0,0 +1,56 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for randpool module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_RANDPOOL_H
+#define CFG_RANDPOOL_H
+
+
+/**
+ * Define a size, in byte, of entropy pool.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_SIZE_ENTROPY_POOL   64
+
+/// Enable timer in randpool algo. $WIZ$ type = "boolean"
+#define CONFIG_RANDPOOL_TIMER       1
+
+#endif /* CFG_RANDPOOL_H */
+
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_sem.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_sem.h
new file mode 100644 (file)
index 0000000..2a6de7a
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti <bernie@codewiz.org>
+ * -->
+ *
+ * \brief Kernel semaphores configuration parameters.
+ *
+ * \version $Id$
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ */
+
+#ifndef CFG_SEM_H
+#define CFG_SEM_H
+
+/**
+ * Re-entrant mutual exclusion primitives.
+ * $WIZ$ type = "autoenabled"
+ */
+#define CONFIG_KERN_SEMAPHORES  0
+
+#endif /*  CFG_SEM_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ser.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_ser.h
new file mode 100644 (file)
index 0000000..91a10e0
--- /dev/null
@@ -0,0 +1,222 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for serial module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_SER_H
+#define CFG_SER_H
+
+/**
+ * Example of setting for serial port and
+ * spi port.
+ * Edit these define for your project.
+ */
+
+/**
+ * Size of the outbound FIFO buffer for port 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_UART0_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for port 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_UART0_RXBUFSIZE  32
+
+/**
+ * Size of the outbound FIFO buffer for port 1 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lm3s or lpc2 or (at91 and not atmega8 and not atmega168 and not atmega32)"
+ */
+#define CONFIG_UART1_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for port 1 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lm3s or lpc2 or (at91 and not atmega8 and not atmega168 and not atmega32)"
+ */
+#define CONFIG_UART1_RXBUFSIZE  32
+
+/**
+ * Size of the outbound FIFO buffer for port 2 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lm3s or lpc2"
+ */
+#define CONFIG_UART2_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for port 2 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lm3s or lpc2"
+ */
+#define CONFIG_UART2_RXBUFSIZE  32
+
+/**
+ * Size of the outbound FIFO buffer for port 3 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lpc2"
+ */
+#define CONFIG_UART3_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for port 3 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lpc2"
+ */
+#define CONFIG_UART3_RXBUFSIZE  32
+
+
+/**
+ * Size of the outbound FIFO buffer for SPI port [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_TXBUFSIZE    32
+
+/**
+ * Size of the inbound FIFO buffer for SPI port [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_RXBUFSIZE    32
+
+/**
+ * Size of the outbound FIFO buffer for SPI port 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_SPI0_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for SPI port 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_SPI0_RXBUFSIZE  32
+
+/**
+ * Size of the outbound FIFO buffer for SPI port 1 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_SPI1_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for SPI port 1 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_SPI1_RXBUFSIZE  32
+
+/**
+ * SPI data order.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "ser_order_bit"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_DATA_ORDER  SER_MSB_FIRST
+
+/**
+ * SPI clock division factor.
+ * $WIZ$ type = "int"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_CLOCK_DIV   16
+
+/**
+ * SPI clock polarity: normal low or normal high.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "ser_spi_pol"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_CLOCK_POL        SPI_NORMAL_LOW
+
+/**
+ * SPI clock phase you can choose sample on first edge or
+ * sample on second clock edge.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "ser_spi_phase"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_CLOCK_PHASE     SPI_SAMPLE_ON_FIRST_EDGE
+
+/**
+ * Default transmit timeout (ms). Set to -1 to disable timeout support.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = -1
+ */
+#define CONFIG_SER_TXTIMEOUT    -1
+
+/**
+ * Default receive timeout (ms). Set to -1 to disable timeout support.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = -1
+ */
+#define CONFIG_SER_RXTIMEOUT    -1
+
+/**
+ * Use RTS/CTS handshake.
+ * $WIZ$ type = "boolean"
+ * $WIZ$ supports = "False"
+ */
+#define CONFIG_SER_HWHANDSHAKE   0
+
+/**
+ * Default baudrate for all serial ports (set to 0 to disable).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ */
+#define CONFIG_SER_DEFBAUDRATE   0UL
+
+/// Enable strobe pin for debugging serial interrupt. $WIZ$ type = "boolean"
+#define CONFIG_SER_STROBE        0
+
+#endif /* CFG_SER_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_signal.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_signal.h
new file mode 100644 (file)
index 0000000..ed85119
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti <bernie@codewiz.org>
+ * -->
+ *
+ * \brief Kernel signals configuration parameters
+ *
+ * \version $Id$
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ */
+
+#ifndef CFG_SIGNAL_H
+#define CFG_SIGNAL_H
+
+/**
+ * Inter-process signals.
+ * $WIZ$ type = "autoenabled"
+ */
+#define CONFIG_KERN_SIGNALS 1
+
+#endif /*  CFG_SIGNAL_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_spi_bitbang.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_spi_bitbang.h
new file mode 100644 (file)
index 0000000..6e9a96b
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for SPI bitbang module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_SPI_BITBANG_H
+#define CFG_SPI_BITBANG_H
+
+/**
+ * Set data order for emulated SPI.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "ordet_bit_list"
+ */
+#define CONFIG_SPI_DATAORDER  SPI_LSB_FIRST
+
+#endif /* CFG_SPI_BITBANG_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_stepper.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_stepper.h
new file mode 100644 (file)
index 0000000..e086065
--- /dev/null
@@ -0,0 +1,70 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for stepper motor module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_STEPPER_H
+#define CFG_STEPPER_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define STEPPER_LOG_LEVEL           LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define STEPPER_LOG_FORMAT          LOG_FMT_TERSE
+
+/**
+ * Max number of the stepper motor.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NUM_STEPPER_MOTORS    6
+
+/**
+ * Max number of the timer usable on target to drive stepper motor.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_TC_STEPPER_MAX_NUM    6
+
+#endif /* CFG_STEPPER_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_tas5706a.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_tas5706a.h
new file mode 100644 (file)
index 0000000..e1112c0
--- /dev/null
@@ -0,0 +1,51 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for the TAS5706A module.
+ *
+ * \version $Id$
+ * \author Luca Ottaviano <lottaviano@develer.com>
+ */
+
+#ifndef CFG_TAS5706A_H
+#define CFG_TAS5706A_H
+
+/**
+ * Maximum output volume for TAS chip [dB].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = -100
+ * $WIZ$ max = 24
+ */
+#define CONFIG_TAS_MAX_VOL  -39
+
+#endif /* CFG_TAS5706A_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_thermo.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_thermo.h
new file mode 100644 (file)
index 0000000..2734f89
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for thermo module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_THERMO_H
+#define CFG_THERMO_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define CONFIG_THERMO_LOG_LEVEL        LOG_LVL_ERR
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define CONFIG_THERMO_LOG_FORMAT       LOG_FMT_TERSE
+
+
+/**
+ * Interval at which thermo control is performed [ms].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_THERMO_INTERVAL_MS        100
+
+/**
+ * Number of different samples we interpolate over to get the hifi temperature.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_THERMO_HIFI_NUM_SAMPLES    10
+
+#endif /* CFG_THERMO_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_timer.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_timer.h
new file mode 100644 (file)
index 0000000..1cff78b
--- /dev/null
@@ -0,0 +1,68 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for timer module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_TIMER_H
+#define CFG_TIMER_H
+
+/**
+ * Hardware timer selection for drv/timer.c.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "timer_select"
+ */
+#define CONFIG_TIMER TIMER_DEFAULT
+
+/**
+ * Debug timer interrupt using a strobe pin.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_TIMER_STROBE  0
+
+/**
+ * Enable asynchronous timers.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_TIMER_EVENTS  1
+
+/**
+ * Support hi-res timer_usleep().
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_TIMER_UDELAY  1
+
+#endif /* CFG_TIMER_H */
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_wdt.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_wdt.h
new file mode 100644 (file)
index 0000000..9f4caae
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for watchdog module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_WDT_H
+#define CFG_WDT_H
+
+/// Enable watchdog timer. $WIZ$ type = "autoenabled"
+#define CONFIG_WATCHDOG      0
+
+#endif /* CFG_WDT_H */
+
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_xmodem.h b/boards/at91sam7s-ek/benchmark/context_switch/cfg/cfg_xmodem.h
new file mode 100644 (file)
index 0000000..38db735
--- /dev/null
@@ -0,0 +1,79 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for xmodem module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_XMODEM_H
+#define CFG_XMODEM_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define CONFIG_XMODEM_LOG_LEVEL        LOG_LVL_ERR
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define CONFIG_XMODEM_LOG_FORMAT       LOG_FMT_TERSE
+
+
+/// Enable Rx. $WIZ$ type = "boolean"
+#define CONFIG_XMODEM_RECV   1
+
+/// Enable TX. $WIZ$ type = "boolean"
+#define CONFIG_XMODEM_SEND   1
+
+/// Allow a Rx/Tx of 1Kbyte block. $WIZ$ type = "boolean"
+#define CONFIG_XMODEM_1KCRC  1
+
+/**
+ * Max retries before giving up.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_XMODEM_MAXRETRIES     15
+
+/**
+ * Max retries before switching to BCC.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_XMODEM_MAXCRCRETRIES   7
+
+#endif /* CFG_XMODEM_H */
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/context_switch.mk b/boards/at91sam7s-ek/benchmark/context_switch/context_switch.mk
new file mode 100644 (file)
index 0000000..4579bde
--- /dev/null
@@ -0,0 +1,96 @@
+#
+# Wizard autogenerated makefile.
+# DO NOT EDIT, use the context_switch_user.mk file instead.
+#
+
+# Constants automatically defined by the selected modules
+
+
+# Our target application
+TRG += context_switch
+
+context_switch_PREFIX = "arm-none-eabi-"
+
+context_switch_SUFFIX = ""
+
+context_switch_SRC_PATH = boards/at91sam7s-ek/benchmark/context_switch
+
+context_switch_HW_PATH = boards/at91sam7s-ek
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE context_switch_USER_CSRC INSTEAD!
+context_switch_WIZARD_CSRC = \
+       bertos/cpu/arm/drv/timer_at91.c \
+       bertos/benchmark/context_switch.c \
+       bertos/kern/signal.c \
+       bertos/kern/kfile.c \
+       bertos/cpu/arm/drv/sysirq_at91.c \
+       bertos/struct/heap.c \
+       bertos/cpu/arm/drv/ser_arm.c \
+       bertos/cpu/arm/drv/timer_arm.c \
+       bertos/cpu/arm/drv/ser_at91.c \
+       bertos/drv/timer.c \
+       bertos/mware/event.c \
+       bertos/kern/proc.c \
+       bertos/mware/formatwr.c \
+       bertos/drv/ser.c \
+       bertos/mware/hex.c \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE context_switch_USER_PCSRC INSTEAD!
+context_switch_WIZARD_PCSRC = \
+        \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE context_switch_USER_CPPASRC INSTEAD!
+context_switch_WIZARD_CPPASRC = \
+       bertos/cpu/arm/hw/switch_ctx_arm.S \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE context_switch_USER_CXXSRC INSTEAD!
+context_switch_WIZARD_CXXSRC = \
+        \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE context_switch_USER_ASRC INSTEAD!
+context_switch_WIZARD_ASRC = \
+        \
+       #
+
+context_switch_CPPFLAGS = -D'CPU_FREQ=(48023000UL)' -D'ARCH=(ARCH_DEFAULT)' -D'WIZ_AUTOGEN' -I$(context_switch_HW_PATH) -I$(context_switch_SRC_PATH) $(context_switch_CPU_CPPFLAGS) $(context_switch_USER_CPPFLAGS)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+context_switch_LDFLAGS = $(context_switch_CPU_LDFLAGS) $(context_switch_WIZARD_LDFLAGS) $(context_switch_USER_LDFLAGS)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+context_switch_CPPAFLAGS = $(context_switch_CPU_CPPAFLAGS) $(context_switch_WIZARD_CPPAFLAGS) $(context_switch_USER_CPPAFLAGS)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+context_switch_CSRC = $(context_switch_CPU_CSRC) $(context_switch_WIZARD_CSRC) $(context_switch_USER_CSRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+context_switch_PCSRC = $(context_switch_CPU_PCSRC) $(context_switch_WIZARD_PCSRC) $(context_switch_USER_PCSRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+context_switch_CPPASRC = $(context_switch_CPU_CPPASRC) $(context_switch_WIZARD_CPPASRC) $(context_switch_USER_CPPASRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+context_switch_CXXSRC = $(context_switch_CPU_CXXSRC) $(context_switch_WIZARD_CXXSRC) $(context_switch_USER_CXXSRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+context_switch_ASRC = $(context_switch_CPU_ASRC) $(context_switch_WIZARD_ASRC) $(context_switch_USER_ASRC)
+
+# CPU specific flags and options, defined in the CPU definition files.
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+context_switch_CPU_CPPASRC = bertos/cpu/arm/hw/crt_arm7tdmi.S bertos/cpu/arm/hw/vectors_at91.S
+context_switch_CPU_CPPAFLAGS = -g -gdwarf-2
+context_switch_CPU_CPPFLAGS = -O0 -g3 -gdwarf-2 -fverbose-asm -Ibertos/cpu/arm/ -D__ARM_AT91SAM7S256__
+context_switch_CPU_CSRC = bertos/cpu/arm/hw/init_at91.c
+context_switch_PROGRAMMER_CPU = at91sam7
+context_switch_STOPFLASH_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh
+context_switch_CPU = arm7tdmi
+context_switch_STOPDEBUG_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh
+context_switch_DEBUG_SCRIPT = bertos/prg_scripts/arm/debug.sh
+context_switch_CPU_LDFLAGS = -nostartfiles -Wl,--no-warn-mismatch -T bertos/cpu/arm/scripts/at91sam7_256_rom.ld
+context_switch_FLASH_SCRIPT = bertos/prg_scripts/arm/flash.sh
+
+include $(context_switch_SRC_PATH)/context_switch_user.mk
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/context_switch_user.mk b/boards/at91sam7s-ek/benchmark/context_switch/context_switch_user.mk
new file mode 100644 (file)
index 0000000..932e591
--- /dev/null
@@ -0,0 +1,44 @@
+#
+# User makefile.
+# Edit this file to change compiler options and related stuff.
+#
+
+# Programmer interface configuration, see http://dev.bertos.org/wiki/ProgrammerInterface for help
+context_switch_PROGRAMMER_TYPE = none
+context_switch_PROGRAMMER_PORT = none
+
+# Files included by the user.
+context_switch_USER_CSRC = \
+       $(context_switch_SRC_PATH)/main.c \
+       #
+
+# Files included by the user.
+context_switch_USER_PCSRC = \
+       #
+
+# Files included by the user.
+context_switch_USER_CPPASRC = \
+       #
+
+# Files included by the user.
+context_switch_USER_CXXSRC = \
+       #
+
+# Files included by the user.
+context_switch_USER_ASRC = \
+       #
+
+# Flags included by the user.
+context_switch_USER_LDFLAGS = \
+       #
+
+# Flags included by the user.
+context_switch_USER_CPPAFLAGS = \
+       #
+
+# Flags included by the user.
+context_switch_USER_CPPFLAGS = \
+       -fno-strict-aliasing \
+       -fwrapv \
+       -O2 \
+       #
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/main.c b/boards/at91sam7s-ek/benchmark/context_switch/main.c
new file mode 100644 (file)
index 0000000..30206a6
--- /dev/null
@@ -0,0 +1,55 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ *
+ * \brief Kernel switch context benchmark.
+ *
+ * This benchmark show you the switch context time. This measure is make
+ * by hp timer that measure accurately the kernel switch context time, and print
+ * it on serial debug. If you want not use the hp timer you can measure this
+ * time using one oscilloscope, connected to one board led. To use this
+ * mode you should disable hp timer and implement hw_led.h low level module.
+ */
+
+#include <benchmark/context_switch.h>
+
+int main(void)
+{
+       context_switch();
+       while (1)
+       {
+       }
+
+       return 0;
+}
+
diff --git a/boards/at91sam7s-ek/benchmark/context_switch/project.bertos b/boards/at91sam7s-ek/benchmark/context_switch/project.bertos
new file mode 100644 (file)
index 0000000..47211f8
--- /dev/null
@@ -0,0 +1,81 @@
+(dp0
+S'BERTOS_PATH'
+p1
+S'../../../..'
+p2
+sS'SELECTED_FREQ'
+p3
+V48023000
+p4
+sS'WIZARD_VERSION'
+p5
+I3
+sS'PROJECT_NAME'
+p6
+Vcontext_switch
+p7
+sS'TOOLCHAIN'
+p8
+(dp9
+Vtarget
+p10
+Varm-none-eabi
+p11
+sVthread
+p12
+Vsingle
+p13
+sVconfigured
+p14
+V/scratch/julian/2009q3-respin-eabi-lite/src/gcc-4.4/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-eabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-gnu-as --with-gnu-ld --with-specs='%{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --disable-shared --disable-lto --with-newlib --with-pkgversion='Sourcery G++ Lite 2009q3-68' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-headers=yes --with-sysroot=/opt/codesourcery/arm-none-eabi --with-build-sysroot=/scratch/julian/2009q3-respin-eabi-lite/install/arm-none-eabi --with-gmp=/scratch/julian/2009q3-respin-eabi-lite/obj/host-libs-2009q3-68-arm-none-eabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/2009q3-respin-eabi-lite/obj/host-libs-2009q3-68-arm-none-eabi-i686-pc-linux-gnu/usr --with-ppl=/scratch/julian/2009q3-respin-eabi-lite/obj/host-libs-2009q3-68-arm-none-eabi-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/julian/2009q3-respin-eabi-lite/obj/host-libs-2009q3-68-arm-none-eabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/2009q3-respin-eabi-lite/install/arm-none-eabi/bin --with-build-time-tools=/scratch/julian/2009q3-respin-eabi-lite/install/arm-none-eabi/bin
+p15
+sVversion
+p16
+V4.4.1
+p17
+sVbuild
+p18
+VSourcery G++ Lite 2009q3-68
+p19
+sVpath
+p20
+V/localhome/toolchain/arm/bin/arm-none-eabi-gcc
+p21
+ssS'ENABLED_MODULES'
+p22
+(lp23
+S'ser'
+p24
+aS'kernel'
+p25
+aS'formatwr'
+p26
+aS'kfile'
+p27
+aS'context_switch'
+p28
+aS'heap'
+p29
+aS'timer'
+p30
+aS'signal'
+p31
+asS'CPU_NAME'
+p32
+VAT91SAM7S256
+p33
+sS'PROJECT_HW_PATH'
+p34
+S'../..'
+p35
+sS'PROJECT_SRC_PATH'
+p36
+S'.'
+p37
+sS'PRESET'
+p38
+I01
+sS'OUTPUT'
+p39
+(lp40
+s.
\ No newline at end of file