From f47b068594141d91b272d6d2ff2d119782a5c944 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 18 Sep 2007 12:27:36 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 285 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ docs/ch.txt | 258 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 543 insertions(+) create mode 100644 docs/Doxyfile create mode 100644 docs/ch.txt (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile new file mode 100644 index 000000000..041a49c26 --- /dev/null +++ b/docs/Doxyfile @@ -0,0 +1,285 @@ +# Doxyfile 1.5.1-p1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = ChibiOS/RT +PROJECT_NUMBER = "0.1.0 alpha" +OUTPUT_DIRECTORY = . +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = YES +BRIEF_MEMBER_DESC = NO +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = YES +INHERIT_DOCS = NO +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 2 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +BUILTIN_STL_SUPPORT = NO +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = NO +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = NO +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = NO +SHOW_DIRECTORIES = NO +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = ../src/include \ + ../src/templates \ + ../src \ + ../docs/ch.txt +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.ddf +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +REFERENCES_LINK_SOURCE = YES +USE_HTAGS = NO +VERBATIM_HEADERS = NO +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = __JUST_STUBS__ \ + __DOXIGEN__ \ + CH_USE_VIRTUAL_TIMERS \ + CH_USE_SYSTEMTIME \ + CH_USE_SLEEP \ + CH_USE_RESUME \ + CH_USE_TERMINATE \ + CH_USE_WAITEXIT \ + CH_USE_SEMAPHORES \ + CH_USE_RT_SEMAPHORES \ + CH_USE_EVENTS \ + CH_USE_EVENTS_TIMEOUT \ + CH_USE_EXIT_EVENT \ + CH_USE_QUEUES \ + CH_USE_QUEUES_TIMEOUT \ + CH_USE_QUEUES_HALFDUPLEX \ + CH_USE_SERIAL_FULLDUPLEX \ + CH_USE_SERIAL_HALFDUPLEX \ + CH_USE_MESSAGES \ + CH_USE_MESSAGES_TIMEOUT \ + CH_USE_MESSAGES_EVENT +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = NO +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/docs/ch.txt b/docs/ch.txt new file mode 100644 index 000000000..efa85be4f --- /dev/null +++ b/docs/ch.txt @@ -0,0 +1,258 @@ +/** + * @mainpage ChibiOS/RT + * @author Giovanni Di Sirio (gdisirio@chibios.sourceforge.net). + * @section Chibi Chibi ? + * It is the Japanese word for small as in small child. So ChibiOS/RT + * \htmlonly (ちびOS/RT) \endhtmlonly + * means small Real Time Operating System. + * Source Wikipedia. + * @section ch_features Features + * + */ + +/** + * @defgroup Kernel Kernel + * @{ + */ +/** @} */ + +/** + * @defgroup Config Configuration + * @{ + * In \p chconf.h are defined the required subsystems for your application. + * @ingroup Kernel + * @file chconf.h ChibiOS/RT configuration file. + */ +/** @} */ + +/** + * @defgroup Core Core + * @{ + * Non portable code. + * @ingroup Kernel + * @file chcore.c Non portable code. + */ +/** @} */ + +/** + * @defgroup Initialization Initialization + * @{ + * Initialization APIs and procedures. + * @ingroup Kernel + * @file ch.h ChibiOS/RT main include file, it includes everything else. + * @file chinit.c ChibiOS/RT Initialization code. + */ +/** @} */ + +/** + * @defgroup Scheduler Scheduler + * @{ + * ChibiOS/RT scheduler. + * @ingroup Kernel + * @file chschd.c Scheduler code. + * @file scheduler.h Scheduler macros and structures. + */ +/** @} */ + +/** + * @defgroup Threads Threads + * @{ + * Threads creation and termination APIs. + * @file threads.h Threads structures, macros and functions. + * @file chthreads.c Threads code. + */ +/** @} */ + +/** + * @defgroup VirtualTimers Virtual Timers + * @{ + * Virtual Timers APIs. + * In order to use the Virtual Timers the \p CH_USE_VIRTUAL_TIMERS option + * must be specified in \p chconf.h. + * @file src/chdelta.c Virtual Timers code. + * @file delta.h Virtual Timers macros and structures. + */ +/** @} */ + +/** + * @defgroup Time Time + * @{ + * Time related APIs. + * In order to use the Time APIs the \p CH_USE_SLEEP + * option must be specified in \p chconf.h. + * @file include/sleep.h Time macros and structures. + * @file chsleep.c Time functions. + */ +/** @} */ + +/** + * @defgroup Semaphores Semaphores + * @{ + * Semaphores and threads synchronization. + * Operation mode

+ * A semaphore is a threads synchronization object, some operations + * are defined on semaphores:
+ * + * Semaphores are mainly used as guards for mutual exclusion code zones but + * also have other uses, queues guards and counters as example.
+ * In order to use the Semaphores APIs the \p CH_USE_SEMAPHORES + * option must be specified in \p chconf.h.

+ * Realtime Semaphores

+ * The RT Semaphores work exactly like normal semaphores except that the + * thread gaining access to a mutex zone receives a priority boost, the + * priority is increased by \p MEPRIO and becomes higher than any thread that + * does not have the boost, note that all the boosted threads still keep their + * relative priorities.
+ * Another difference is that the threads are queued by priority when trying + * to acquire RT semaphores, normal semaphores use a FIFO strategy.
+ * The reason of this mechanism is to make the threads leave very critical + * guarded zones in a predictable time. Use this mechanism if your application + * has very strong realtime requirements.
+ * In order to use the RT Semaphores APIs the \p CH_USE_RT_SEMAPHORES + * option must be specified in \p chconf.h.
+ * This mechanism is experimental. + * @file semaphores.h Semaphores macros and structures. + * @file chsem.c Semaphores code. + */ +/** @} */ + +/** + * @defgroup Events Events + * @{ + * Event Sources and Event Listeners.
+ * Operation mode

+ * An Event Source is a special object that can be signaled by a thread or + * an interrupt service routine. Signaling an Event Source has the effect + * that all the threads registered on the Event Source will receive + * and serve the event.
+ * An unlimited number of Event Sources can exists in a system and each + * thread can listen on an unlimited number of them.
+ * Note that the events can be asynchronously generated but are synchronously + * served, a thread can serve event by calling the \p chEvtWait() + * API. If an event is generated while a listening thread is not ready to + * serve it then the event becomes "pending" and will be served as soon the + * thread invokes the \p chEvtWait().
+ * In order to use the Event APIs the \p CH_USE_EVENTS option must be + * specified in \p chconf.h. + * @file events.h Events macros and structures. + * @file chevents.c Events functions. + */ +/** @} */ + +/** + * @defgroup Messages Messages + * @{ + * Synchronous Messages.
+ * Operation Mode

+ * Messages are an easy to use and fast IPC mechanism, threads can both serve + * messages and send messages to other threads, the mechanism allows data to + * be carryed in both directions. Data is not copyed between the client and + * server threads but just a pointer passed so the exchange is very time + * efficient.
+ * Messages are always processed in FIFO order.
+ * Threads do not need to allocate space for message queues, the mechanism + * just requires two extra pointers in the \p Thread structure (the message + * queue header).
+ * In order to use the Messages APIs the \p CH_USE_MESSAGES option must be + * specified in \p chconf.h. + * @file messages.h Messages macros and structures. + * @file chmsg.c Messages functions. + */ +/** @} */ + +/** + * @defgroup IOQueues I/O Queues + * @{ + * ChibiOS/RT supports several kinds of queues. The queues are mostly used + * in serial-like device drivers. The device drivers are usually designed to + * have a lower side (lower driver, it is usually an interrupt service + * routine) and an upper side (upper driver, accessed by the application + * threads).
+ * There are several kind of queues:
+ * + * In order to use the I/O queues the \p CH_USE_QUEUES option must + * be specified in \p chconf.h.
+ * In order to use the half duplex queues the \p CH_USE_QUEUES_HALFDUPLEX + * option must be specified in \p chconf.h. + * @file queues.h I/O Queues macros and structures. + * @file chqueues.c I/O Queues code. + */ +/** @} */ + +/** + * @defgroup Serial Serial Drivers + * @{ + * This module implements a generic full duplex serial driver and a generic + * half duplex serial driver. It uses the I/O Queues for communication between + * the upper and the lower driver and events to notify the application about + * incoming data, outcoming data and other I/O events. + * The module also contains functions that make the implementation of the + * interrupt service routines much easier.
+ * In order to use the serial full duplex driver the + * \p CH_USE_SERIAL_FULLDUPLEX option must be specified in \p chconf.h.
+ * In order to use the serial half duplex driver the + * \p CH_USE_SERIAL_HALFDUPLEX option must be specified in \p chconf.h. + * @file serial.h Serial Drivers macros and structures. + * @file chserial.c Serial Drivers code. + */ +/** @} */ -- cgit v1.2.3 From 2368416b503f5084209a11f5fe0ac8c42b3a50d7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 18 Sep 2007 20:29:56 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index efa85be4f..c259357eb 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -1,6 +1,6 @@ /** * @mainpage ChibiOS/RT - * @author Giovanni Di Sirio (gdisirio@chibios.sourceforge.net). + * @author Giovanni Di Sirio (gdisirio@users.sourceforge.net). * @section Chibi Chibi ? * It is the Japanese word for small as in small child. So ChibiOS/RT * \htmlonly (ちびOS/RT) \endhtmlonly -- cgit v1.2.3 From 62d0a98709e0bd32acdc83e37faf012a1730d8f6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 21 Sep 2007 16:38:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 041a49c26..04250d4e9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.1.0 alpha" +PROJECT_NUMBER = "0.1.1 alpha" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -- cgit v1.2.3 From cfdef89c7180aa2846afb0a96371dba87ee6714c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 22 Sep 2007 14:10:02 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@18 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 04250d4e9..d3b18072b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.1.1 alpha" +PROJECT_NUMBER = "0.2.0 alpha" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -- cgit v1.2.3 From f6c9ebb65b9a1239638125b7c1f910f12c722b79 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 25 Sep 2007 17:39:47 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@20 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 72 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 36 insertions(+), 36 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d3b18072b..6cc09c5d9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.2.0 alpha" +PROJECT_NUMBER = "0.2.1 alpha" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -26,7 +26,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES MULTILINE_CPP_IS_BRIEF = NO @@ -34,7 +34,7 @@ DETAILS_AT_TOP = YES INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO BUILTIN_STL_SUPPORT = NO @@ -64,11 +64,11 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -78,7 +78,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -115,15 +115,15 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -141,20 +141,20 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO @@ -171,8 +171,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO @@ -184,8 +184,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -198,8 +198,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -211,16 +211,16 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ CH_USE_VIRTUAL_TIMERS \ @@ -242,18 +242,18 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES \ CH_USE_MESSAGES_TIMEOUT \ CH_USE_MESSAGES_EVENT -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO HIDE_UNDOC_RELATIONS = YES @@ -270,8 +270,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 MAX_DOT_GRAPH_DEPTH = 1000 @@ -280,6 +280,6 @@ DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO -- cgit v1.2.3 From 619b739d93252f4fc78a98e1bd1c36e9edbbca28 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 25 Sep 2007 18:38:01 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@21 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 72 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 36 insertions(+), 36 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 6cc09c5d9..d3b18072b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.2.1 alpha" +PROJECT_NUMBER = "0.2.0 alpha" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -26,7 +26,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES MULTILINE_CPP_IS_BRIEF = NO @@ -34,7 +34,7 @@ DETAILS_AT_TOP = YES INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO BUILTIN_STL_SUPPORT = NO @@ -64,11 +64,11 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -78,7 +78,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -115,15 +115,15 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -141,20 +141,20 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO @@ -171,8 +171,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO @@ -184,8 +184,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -198,8 +198,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -211,16 +211,16 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ CH_USE_VIRTUAL_TIMERS \ @@ -242,18 +242,18 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES \ CH_USE_MESSAGES_TIMEOUT \ CH_USE_MESSAGES_EVENT -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO HIDE_UNDOC_RELATIONS = YES @@ -270,8 +270,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 MAX_DOT_GRAPH_DEPTH = 1000 @@ -280,6 +280,6 @@ DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO -- cgit v1.2.3 From 95b238fc867da32f28c74b98b793fbd40345b595 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 25 Sep 2007 18:41:39 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@23 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 72 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 36 insertions(+), 36 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d3b18072b..6cc09c5d9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.2.0 alpha" +PROJECT_NUMBER = "0.2.1 alpha" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -26,7 +26,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES MULTILINE_CPP_IS_BRIEF = NO @@ -34,7 +34,7 @@ DETAILS_AT_TOP = YES INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO BUILTIN_STL_SUPPORT = NO @@ -64,11 +64,11 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -78,7 +78,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -115,15 +115,15 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -141,20 +141,20 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO @@ -171,8 +171,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO @@ -184,8 +184,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -198,8 +198,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -211,16 +211,16 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ CH_USE_VIRTUAL_TIMERS \ @@ -242,18 +242,18 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES \ CH_USE_MESSAGES_TIMEOUT \ CH_USE_MESSAGES_EVENT -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO HIDE_UNDOC_RELATIONS = YES @@ -270,8 +270,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 MAX_DOT_GRAPH_DEPTH = 1000 @@ -280,6 +280,6 @@ DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO -- cgit v1.2.3 From 9a0ef300bce50901d5de3d6d722e29b79a2f9a36 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 28 Sep 2007 18:42:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@25 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 72 ++++++++++++++++++++++++------------------------- docs/ch.txt | 69 +++++++++++++++++++++++++++++++++++++++++++++++ docs/img/readylist.png | Bin 0 -> 7883 bytes docs/img/workspace.png | Bin 0 -> 14430 bytes 4 files changed, 105 insertions(+), 36 deletions(-) create mode 100644 docs/img/readylist.png create mode 100644 docs/img/workspace.png (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 6cc09c5d9..0bcdbdbf2 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.2.1 alpha" +PROJECT_NUMBER = "0.3.0 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -26,7 +26,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES MULTILINE_CPP_IS_BRIEF = NO @@ -34,7 +34,7 @@ DETAILS_AT_TOP = YES INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO BUILTIN_STL_SUPPORT = NO @@ -64,11 +64,11 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -78,7 +78,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -115,15 +115,15 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = +IMAGE_PATH = ./img +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -141,20 +141,20 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO @@ -171,8 +171,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO @@ -184,8 +184,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -198,8 +198,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -211,16 +211,16 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ CH_USE_VIRTUAL_TIMERS \ @@ -242,18 +242,18 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES \ CH_USE_MESSAGES_TIMEOUT \ CH_USE_MESSAGES_EVENT -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO HIDE_UNDOC_RELATIONS = YES @@ -270,8 +270,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 MAX_DOT_GRAPH_DEPTH = 1000 @@ -280,6 +280,6 @@ DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO diff --git a/docs/ch.txt b/docs/ch.txt index c259357eb..38d6d589a 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -47,8 +47,77 @@ * memory image. *
  • Almost totally written in C with little ASM code required for ports.
  • * + * + * ChibiOS/RT architecture:

    + * @subpage Concepts */ +/** + * @page Concepts Concepts + * @{ + * @section naming Naming Conventions + * ChibiOS/RT APIs are all named following this convention: + * \a ch\\\(). + * The possible groups are: \a Sys, \a Sch, \a VT, \a Thd, \a Sem, \a Evt, + * \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD. + * The suffix is not present for normal APIs but can be one of + * the following: "I" for APIs meant to be invoked from an interrupt handler + * or within the system mutex zone but not from user code, "S" for APIs only + * useable from within the system mutex zone but not from interrupt handlers + * or user code. The APIs without suffix can be invoked only from the user + * code.
    + * Examples: \p chThdCreate(), \p chSemSignalI(), \p chIQGetTimeout(). + * + * @section scheduling Scheduling + * The strategy is very simple the currently ready thread with the highest + * priority is executed. If more than one thread with equal priority are + * eligible for execution then they are executed in a round-robin way, the + * CPU time slice constant is configurable. The ready list is a double linked + * list of threads ordered by priority. + * @image html readylist.png + * Note that the currently running thread is not in the ready list, the list + * only contains the threads ready to be executed but still actually waiting. + * + * @section warea Thread Working Area + * Each thread has its own stack, a Thread structure and a registers dump + * structure. All the structures are allocated into a "Thread working area", + * a thread private heap, usually allocated in a char array declared in your + * code, there is not a central threads table or list, this means you can + * have as many threads you want as long you have enough available RAM + * memory. The threads do not use any memory outside the allocated working + * area.
    + + * @image html workspace.png + *
    + * Note that the registers dump is only present when the Thread is not + * running, the context switching is done by pushing the registers on the + * stack of the switched-out thread and popping the registers of the + * switched-in thread from its stack. + * + * @section sysmutex System Mutex Zone + * It is the code within the OS that cannot be preempted, this code is + * everything between the \p chSysLock() and \p chSysUnlock() API calls. + * The implementation of the APIs in most cases just enables/disables the + * interrupts. Of course the code in the system mutex zone must be as short + * and efficient possible as it affects the RT performance of the whole + * system. The worst case response time is affected by the longest code + * path in the system mutex zone or interrupt handler. + * @code + * // User code, not critical, preemption possible. + * chSysLock(); + * ... + * // System critical code, preemption delayed. + * ... + * chSysUnlock(); + * // User code, preemption possible again. + * @endcode + * Applications usually do not need to put code into the system mutex zone + * unless you are implementing device drivers or special synchronization + * primitives, everything else can be implemented by using semaphores, + * messages or events. + */ +/** @} */ + /** * @defgroup Kernel Kernel * @{ diff --git a/docs/img/readylist.png b/docs/img/readylist.png new file mode 100644 index 000000000..4d852388f Binary files /dev/null and b/docs/img/readylist.png differ diff --git a/docs/img/workspace.png b/docs/img/workspace.png new file mode 100644 index 000000000..03149b7bd Binary files /dev/null and b/docs/img/workspace.png differ -- cgit v1.2.3 From 2310f80695b4051cb63ca14878dfc5e76acb94e6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 3 Oct 2007 17:14:03 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@30 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 0bcdbdbf2..2129c1de5 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -241,7 +241,8 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_SERIAL_HALFDUPLEX \ CH_USE_MESSAGES \ CH_USE_MESSAGES_TIMEOUT \ - CH_USE_MESSAGES_EVENT + CH_USE_MESSAGES_EVENT \ + CH_USE_SEMSW EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -- cgit v1.2.3 From c069c0d1f98f2dcf1f9dd52fd965248ba27364fd Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 3 Oct 2007 18:20:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@33 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 2129c1de5..f8bc0e16a 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.3.0 beta" +PROJECT_NUMBER = "0.3.1 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -- cgit v1.2.3 From 9229005c5d227cf42fc98c7a4e2b6f6edd513e2b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 6 Oct 2007 10:35:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@43 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index f8bc0e16a..344e11cbd 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.3.1 beta" +PROJECT_NUMBER = "0.3.2 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -- cgit v1.2.3 From 509a27eaad133259f119d65f0433c7feb408b506 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 13 Oct 2007 11:04:58 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@50 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 344e11cbd..074515d8e 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.3.2 beta" +PROJECT_NUMBER = "0.3.3 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -- cgit v1.2.3 From 779840691f4f6b3bb647d85f160ce238defa2de0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 14 Oct 2007 07:07:54 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@52 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 074515d8e..06ec78649 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.3.3 beta" +PROJECT_NUMBER = "0.3.4 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -- cgit v1.2.3 From 70c86d43ec79032c7172507fc12bf7d78d44a3de Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 15 Oct 2007 14:52:56 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@53 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 69 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 35 insertions(+), 34 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 06ec78649..c107c987a 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -26,7 +26,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES MULTILINE_CPP_IS_BRIEF = NO @@ -34,7 +34,7 @@ DETAILS_AT_TOP = YES INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO BUILTIN_STL_SUPPORT = NO @@ -64,11 +64,11 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -78,7 +78,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -115,15 +115,15 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = ./img -INPUT_FILTER = -FILTER_PATTERNS = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -141,20 +141,20 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO @@ -171,8 +171,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO @@ -184,8 +184,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -198,8 +198,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -211,22 +211,23 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ CH_USE_VIRTUAL_TIMERS \ CH_USE_SYSTEMTIME \ CH_USE_SLEEP \ CH_USE_RESUME \ + CH_USE_SUSPEND \ CH_USE_TERMINATE \ CH_USE_WAITEXIT \ CH_USE_SEMAPHORES \ @@ -243,18 +244,18 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES_TIMEOUT \ CH_USE_MESSAGES_EVENT \ CH_USE_SEMSW -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO HIDE_UNDOC_RELATIONS = YES @@ -271,8 +272,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 MAX_DOT_GRAPH_DEPTH = 1000 @@ -281,6 +282,6 @@ DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO -- cgit v1.2.3 From a7ad3ace523d19be103e03f6244e0e797354fe0f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 12 Nov 2007 15:02:23 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@87 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 73 ++++++++++++++++++++++++++++++----------------------------- docs/ch.txt | 10 ++++++++ 2 files changed, 47 insertions(+), 36 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index c107c987a..1a98bb58c 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.3.4 beta" +PROJECT_NUMBER = "0.4.0 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -26,7 +26,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES MULTILINE_CPP_IS_BRIEF = NO @@ -34,7 +34,7 @@ DETAILS_AT_TOP = YES INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO BUILTIN_STL_SUPPORT = NO @@ -64,11 +64,11 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -78,7 +78,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -115,15 +115,15 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = ./img -INPUT_FILTER = -FILTER_PATTERNS = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -141,20 +141,20 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO @@ -171,8 +171,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO @@ -184,8 +184,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -198,8 +198,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -211,16 +211,16 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ CH_USE_VIRTUAL_TIMERS \ @@ -243,19 +243,20 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES \ CH_USE_MESSAGES_TIMEOUT \ CH_USE_MESSAGES_EVENT \ - CH_USE_SEMSW -EXPAND_AS_DEFINED = + CH_USE_SEMSW \ + CH_USE_DEBUG +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO HIDE_UNDOC_RELATIONS = YES @@ -272,8 +273,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 MAX_DOT_GRAPH_DEPTH = 1000 @@ -282,6 +283,6 @@ DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO diff --git a/docs/ch.txt b/docs/ch.txt index 38d6d589a..02152047b 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -152,6 +152,16 @@ */ /** @} */ +/** + * @defgroup Debug Debug + * @{ + * Debug APIs and procedures. + * @ingroup Kernel + * @file debug.h Debug macros and structures. + * @file chdebug.c ChibiOS/RT Debug code. + */ +/** @} */ + /** * @defgroup Scheduler Scheduler * @{ -- cgit v1.2.3 From e3617bedb28afefa2993c7e2a8a696d5af16a733 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 18 Nov 2007 09:52:31 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@96 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 1a98bb58c..7afe11834 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.4.0 beta" +PROJECT_NUMBER = "0.4.1 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -- cgit v1.2.3 From b3d17c3740b662c731e73031a7629eca4d275120 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 19 Nov 2007 18:07:11 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@100 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Performance.ods | Bin 0 -> 15382 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/Performance.ods (limited to 'docs') diff --git a/docs/Performance.ods b/docs/Performance.ods new file mode 100644 index 000000000..ba9272c40 Binary files /dev/null and b/docs/Performance.ods differ -- cgit v1.2.3 From f851339621a3179ded94f8a27b30c9345896ccc5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 23 Nov 2007 13:26:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@106 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 docs/index.html (limited to 'docs') diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..83bd285de --- /dev/null +++ b/docs/index.html @@ -0,0 +1,151 @@ + + + + ChibiOS/RT Homepage + + + + + + + + + + + +
    +

    ちびOS/RTTM +Homepage

    +(ChibiOS/RT)
    Current +Version 0.4.2
    +-
    + Project on SourceForge
    + Documentation
    + Downloads
    Wiki
    Forum
    + Contact me
    +-
    + History
    + Description
    Current ports
    + Design
    Performance and Size
    + Future
    +-
    + Credits
    +
    + SourceForge.net Logo
    +
    + Support This Project
    +

    History

    +This kernel is something I wrote back in 1990 for use on boards +equipped +with M68K processors, the development was made on an Atari ST. The OS +worked well for its intended purpose, Internet was not +widespread at that time so the system had a limited use.
    +Recently I decided to release this system, formerly known as mkRTOS, as Free +Software. I cleaned up the code, improved the documentation, made a +port on a more modern architecture (ARM) and it is finally ready.
    +While ChibiOS/RT is a new product it is based on a proven system so the +alpha/beta phases should not last long, the project was started as an +alpha +version mainly to be able to incorporate the feedback into the +product easily.
    +

    Description

    +ChibiOS/RT is designed for embedded applications and it is meant to be +linked with the application code. The design philosophy is to make it +easy to use so I hope that all the APIs are meaningful, easy to +understand and with the parameters you would expect from them.
    The +system offers threads, semaphores, messages, events, virtual timers, +queues, I/O channels with timeout capability and much more.
    +

    Current +ports

    +Currently the ChibiOS/RT is ported to the following architectures:
    +
      +
    • ARM7TDMI-LPC214x, the port to other LPC2000 chips +should be trivial, port to other ARM families should be easy too. Both +ARM and THUMB modes are supported.
    • Atmel AVR, the port is almost complete but untested because I broke my JTAG probe...
    • x86 as a Win32 process, this port allows to write +your application on the PC without the need of a development +board/simulator/emulator. Communication ports are simulated over +sockets, you can telnet on the simulator ports for the debug. I am +considering to create a similar simulator into a Linux process.
    • +
    • M68K, this was the original target but it is +currently removed from the source tree because currently I have no way +to test it, my old Atari ST is long dead. It should be very easy to +revive the port to the M68K or Coldfire CPUs.
    • +
    +In general the port is very easy on architectures that can handle well +linked lists, the kernel is entirely reliant on lists so this +is a +very important efficiency factor. 16 and 32 bits architectures are +always fine, 8 bit architectures should be evaluated case by case but +are not ruled out, something like an H8 would not have problems. You +could port it +to a Z80/Z180 (I considered that too, and made tests using the SDCC +compiler) but the +resulting code is not much efficient because the instruction set is +missing the indirect addressing for 16 bits values that is important +for efficient linked lists traversal. +

    Design

    +The system was designed to be stable and avoid trouble as much as +possible so some rules were set:
    +
      +
    • No arrays or tables, I don't like to have to +configure limits +for data structures, only use lists or other dynamic data structures. +See +the Documentation and +the demos.
    • +
    • No memory allocation inside the kernel, an allocator +can be +troublesome for RT applications. All the data structures are declared +in the application code and not allocated from a shared system heap. +This does not prevent the application code to use an allocator if +needed, it is just the kernel that does not require it.
    • +
    • No weird macros in the user code, everything should +look +and feel like normal C code with a normal main() function. I don't like +to bring someone else weird programming habits in my code and I think +this is true for everybody.
    • +
    • Encapsulate all the things that need changes while +porting +the OS to new architectures in few template files, fill the code into +the templates and the port is done.

    Performance and Size

    ChibiOS/RT +has a wide set of APIs but all the subsystems can be included or +removed from the memory image by editing the kernel configuration file +chconf.h. On ARM processors, the kernel size starts at just +1.5KiB depending on the included subsystems and the choosen +compiler optimizations.
    As reference, a kernel configured with...
    • System startup code
    • Chip initialization code
    • Multithreading APIs
    • Virtual Timer APIs
    • Semaphore APIs
    • System time + Sleep API
    • Suspend/Resume APIs
    • Small main() program with flashing LEDs demo and 3 threads
    ...just takes 2.11KiB of program space when compiled using THUMB code and space optimizations. Note that this is quite a typical configuration +not a minimal one. A kernel configured with all the options and +optimized for speed takes about 8KiB. See the documentation about the +many available subsystems.

    About performance, on a 48MHz LPC +ARM7 processor the kernel is capable of context switch time ranging +from 3 to 6 microseconds depending on the code type (ARM/THUMB) and the +choosen complier/kernel optimizations. In the distribution is included +a spreadsheet with the exact values and the various space/time trade +offs.
    The context switch time is *measured* using 2 threads +exchanging messages and doing *real* work, it is not a calculated peak +value. See the demo code, it includes the benchmark. +

    Future

    +Expect:
      + +
    • Documentation improvements.
    • + +
    • Ports to more architectures/boards when I am able to +put my hands on new hardware/tools.
    • +
    • More demos.
    • +
    • Creation of new subsystems.
    • +
    • Integration with +existing other free projects like: TCP/IP stacks, File Systems etc.
    • +
    +

    Credits

    +ChibiOS/RT was created using:
    + +
    + + \ No newline at end of file -- cgit v1.2.3 From cc85ca11fbb0b302266e09c3a85d2782ead85986 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 23 Nov 2007 14:16:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@108 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 70 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 35 insertions(+), 35 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 7afe11834..2c9999f94 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.4.1 beta" +PROJECT_NUMBER = "0.4.2 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -26,7 +26,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES MULTILINE_CPP_IS_BRIEF = NO @@ -34,7 +34,7 @@ DETAILS_AT_TOP = YES INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO BUILTIN_STL_SUPPORT = NO @@ -64,11 +64,11 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -78,7 +78,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -115,15 +115,15 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = ./img -INPUT_FILTER = -FILTER_PATTERNS = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -141,20 +141,20 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO @@ -171,8 +171,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO @@ -184,8 +184,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -198,8 +198,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -211,16 +211,16 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ CH_USE_VIRTUAL_TIMERS \ @@ -245,18 +245,18 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES_EVENT \ CH_USE_SEMSW \ CH_USE_DEBUG -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO HIDE_UNDOC_RELATIONS = YES @@ -273,8 +273,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 MAX_DOT_GRAPH_DEPTH = 1000 @@ -283,6 +283,6 @@ DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO -- cgit v1.2.3 From fe0f815eeb3c65926cb8d1af3234c9ef364dc7bd Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 24 Nov 2007 09:37:45 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@111 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Performance.ods | Bin 15382 -> 18787 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'docs') diff --git a/docs/Performance.ods b/docs/Performance.ods index ba9272c40..cd17a8ced 100644 Binary files a/docs/Performance.ods and b/docs/Performance.ods differ -- cgit v1.2.3 From a134cd919ea3e6fee591bc29d360f3da74f46a8b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 27 Nov 2007 11:43:28 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@115 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 2c9999f94..87ee6c879 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.4.2 beta" +PROJECT_NUMBER = "0.4.3 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -- cgit v1.2.3 From 6f0569444dafdae8b367a54a07a4bfaf3675f545 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 27 Nov 2007 16:02:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@117 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 ++- docs/index.html | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 87ee6c879..d6dd9e5da 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -244,7 +244,8 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES_TIMEOUT \ CH_USE_MESSAGES_EVENT \ CH_USE_SEMSW \ - CH_USE_DEBUG + CH_USE_DEBUG \ + CH_USE_TRACE EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- diff --git a/docs/index.html b/docs/index.html index 83bd285de..526781160 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.4.2
    +Version 0.4.3
    -
    Project on SourceForge
    Documentation
    @@ -148,4 +148,4 @@ ChibiOS/RT was created using:
    - \ No newline at end of file + -- cgit v1.2.3 From 2467527dd5297ac4f9619184608b60a550cb86dc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 2 Dec 2007 09:51:10 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@123 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/img/readylist.png | Bin 7883 -> 0 bytes docs/img/readylist.svg | 338 +++++++++++++++++++++++++++++++++++++++++++++++++ docs/img/workspace.png | Bin 14430 -> 0 bytes docs/img/workspace.svg | 243 +++++++++++++++++++++++++++++++++++ 4 files changed, 581 insertions(+) delete mode 100644 docs/img/readylist.png create mode 100644 docs/img/readylist.svg delete mode 100644 docs/img/workspace.png create mode 100644 docs/img/workspace.svg (limited to 'docs') diff --git a/docs/img/readylist.png b/docs/img/readylist.png deleted file mode 100644 index 4d852388f..000000000 Binary files a/docs/img/readylist.png and /dev/null differ diff --git a/docs/img/readylist.svg b/docs/img/readylist.svg new file mode 100644 index 000000000..a82bdbc79 --- /dev/null +++ b/docs/img/readylist.svg @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + 127 + Ready List organization Thread Structure + + + + 126 + + + + + 128 + + + + + 128 + + + + + Header + + + + + + + + + + + + diff --git a/docs/img/workspace.png b/docs/img/workspace.png deleted file mode 100644 index 03149b7bd..000000000 Binary files a/docs/img/workspace.png and /dev/null differ diff --git a/docs/img/workspace.svg b/docs/img/workspace.svg new file mode 100644 index 000000000..afdc5492e --- /dev/null +++ b/docs/img/workspace.svg @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + Workspace base Workspace top Thread Structure + + + Thread Structure Registers Dump Thread Stack Stack Pointer + + + + Thread Local Storage + chThdLS() + -- cgit v1.2.3 From 903575815458e4e3c12195418f0582f5a9350f81 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 3 Dec 2007 14:54:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@124 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d6dd9e5da..67d580146 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.4.3 beta" +PROJECT_NUMBER = "0.4.4 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 526781160..619357a57 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.4.3
    +Version 0.4.4
    -
    Project on SourceForge
    Documentation
    -- cgit v1.2.3 From 9aaaebf0e2f93a70e725f9a4c0598bc636a78e38 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 11 Dec 2007 12:01:24 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@136 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 67d580146..8abfd62b4 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.4.4 beta" +PROJECT_NUMBER = "0.4.5 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 619357a57..4ac525ae0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.4.4
    +Version 0.4.5
    -
    Project on SourceForge
    Documentation
    -- cgit v1.2.3 From 430010715e7a9af17185412273165674f3b58f20 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 16 Dec 2007 19:01:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@141 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 4 ++-- docs/ch.txt | 73 ++++++++++++++++++++++++++++++++++++++++----------------- docs/index.html | 2 +- 3 files changed, 54 insertions(+), 25 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 8abfd62b4..24ab33ea9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.4.5 beta" +PROJECT_NUMBER = "0.5.0 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -231,7 +231,7 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_TERMINATE \ CH_USE_WAITEXIT \ CH_USE_SEMAPHORES \ - CH_USE_RT_SEMAPHORES \ + CH_USE_MUTEXES \ CH_USE_EVENTS \ CH_USE_EVENTS_TIMEOUT \ CH_USE_EXIT_EVENT \ diff --git a/docs/ch.txt b/docs/ch.txt index 02152047b..993f77102 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -13,7 +13,7 @@ *
  • Easily portable.
  • *
  • Mixed programming model:
  • *
      - *
    • Synchronous, using semaphores and/or messages.
    • + *
    • Synchronous, using semaphores/mutexes and/or messages.
    • *
    • Asynchronous, using event sources.
    • *
    • Mix of the above models, multiple threads listening to multiple event * sources while serving message queues.
    • @@ -27,6 +27,7 @@ *
    • Unlimited number of threads.
    • *
    • Unlimited number of virtual timers.
    • *
    • Unlimited number of semaphores.
    • + *
    • Unlimited number of mutexes.
    • *
    • Unlimited number of event sources.
    • *
    • Unlimited number of messages in queue.
    • *
    • Unlimited number of I/O queues.
    • @@ -211,38 +212,66 @@ * A semaphore is a threads synchronization object, some operations * are defined on semaphores:
      *
        - *
      • Signal: The semaphore counter is increased and if the result + *
      • Signal: The semaphore counter is increased and if the result * is non-positive then a waiting thread is removed from the semaphore - * queue and made ready for execution.
      • - *
      • Wait: The semaphore counter is decreased and if the result + * queue and made ready for execution. + *
      • + *
      • Wait: The semaphore counter is decreased and if the result * becomes negative the thread is queued in the semaphore and suspended. - *
      • - *
      • Reset: The semaphore counter is reset to a non-negative value - * and all the threads in the queue are released.
      • + * + *
      • Reset: The semaphore counter is reset to a non-negative value + * and all the threads in the queue are released. + *
      • *
      - * Semaphores are mainly used as guards for mutual exclusion code zones but + * Semaphores can be used as guards for mutual exclusion code zones but * also have other uses, queues guards and counters as example.
      * In order to use the Semaphores APIs the \p CH_USE_SEMAPHORES * option must be specified in \p chconf.h.

      - * Realtime Semaphores

      - * The RT Semaphores work exactly like normal semaphores except that the - * thread gaining access to a mutex zone receives a priority boost, the - * priority is increased by \p MEPRIO and becomes higher than any thread that - * does not have the boost, note that all the boosted threads still keep their - * relative priorities.
      - * Another difference is that the threads are queued by priority when trying - * to acquire RT semaphores, normal semaphores use a FIFO strategy.
      - * The reason of this mechanism is to make the threads leave very critical - * guarded zones in a predictable time. Use this mechanism if your application - * has very strong realtime requirements.
      - * In order to use the RT Semaphores APIs the \p CH_USE_RT_SEMAPHORES - * option must be specified in \p chconf.h.
      - * This mechanism is experimental. * @file semaphores.h Semaphores macros and structures. * @file chsem.c Semaphores code. */ /** @} */ +/** + * @defgroup Mutexes Mutexes + * @{ + * Mutexes and threads synchronization. + * Operation mode

      + * A mutex is a threads synchronization object, some operations are defined + * on mutexes:
      + *
        + *
      • Lock: The mutex is checked, if the mutex is not owned by some + * other thread then it is locked else the current thread is queued on the + * mutex in a list ordered by priority. + *
      • + *
      • Unlock: The mutex is released by the owner and the highest + * priority thread waiting in the queue, if any, is resumed and made owner + * of the mutex. + *
      • + *
      + * In order to use the Event APIs the \p CH_USE_MUTEXES option must be + * specified in \p chconf.h.

      + * + * Constraints

      + * In ChibiOS/RT the Unlock operations are always performed in Lock-reverse + * order. The Unlock API does not even have a parameter, the mutex to unlock + * is taken from an internal stack of owned mutexes. + * This both improves the performance and is required by the priority + * inheritance mechanism. + * + * The priority inversion problem

      + * The mutexes in ChibiOS/RT implements the full recursive priority + * inheritance mechanism in order handle the priority inversion problem.
      + * When a thread is queued on a mutex, any thread, directly or indirectly, + * holding the mutex gains the same priority of the waiting thread (if their + * priority was not already equal or higher). The mechanism works with any + * number of nested mutexes and any number of involved threads. The algorithm + * complexity (worst case) is N with N equal to the number of nested mutexes. + * @file mutexes.h Mutexes macros and structures. + * @file chmtx.c Mutexes functions. + */ +/** @} */ + /** * @defgroup Events Events * @{ diff --git a/docs/index.html b/docs/index.html index 4ac525ae0..10b088bbb 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.4.5
      +Version 0.5.0
      -
      Project on SourceForge
      Documentation
      -- cgit v1.2.3 From 715ee3682088ede89a1da3ab082056d626750067 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 23 Dec 2007 09:57:18 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@161 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 993f77102..48995a155 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -250,7 +250,7 @@ * *
    * In order to use the Event APIs the \p CH_USE_MUTEXES option must be - * specified in \p chconf.h.

    + * specified in \p chconf.h.
    * * Constraints

    * In ChibiOS/RT the Unlock operations are always performed in Lock-reverse @@ -260,7 +260,7 @@ * inheritance mechanism. * * The priority inversion problem

    - * The mutexes in ChibiOS/RT implements the full recursive priority + * The mutexes in ChibiOS/RT implements the full priority * inheritance mechanism in order handle the priority inversion problem.
    * When a thread is queued on a mutex, any thread, directly or indirectly, * holding the mutex gains the same priority of the waiting thread (if their -- cgit v1.2.3 From dc39fea05ea07302e2c51fbfbf6b37530b124577 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 3 Jan 2008 14:27:58 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@164 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index 10b088bbb..a4d9e32c2 100644 --- a/docs/index.html +++ b/docs/index.html @@ -88,7 +88,7 @@ possible so some rules were set:
    configure limits for data structures, only use lists or other dynamic data structures. See -the Documentation and +the Documentation and the demos.
  • No memory allocation inside the kernel, an allocator can be -- cgit v1.2.3 From b1db8a9f7fe3bc2cd48c52e7c2c50e0e118f8889 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 7 Jan 2008 14:06:46 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@166 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 ++- docs/ch.txt | 5 ++++- docs/index.html | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 24ab33ea9..1672eaa7c 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.5.0 beta" +PROJECT_NUMBER = "0.5.1 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -243,6 +243,7 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES \ CH_USE_MESSAGES_TIMEOUT \ CH_USE_MESSAGES_EVENT \ + CH_USE_MESSAGES_PRIORITY \ CH_USE_SEMSW \ CH_USE_DEBUG \ CH_USE_TRACE diff --git a/docs/ch.txt b/docs/ch.txt index 48995a155..257d3d89e 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -305,7 +305,10 @@ * be carryed in both directions. Data is not copyed between the client and * server threads but just a pointer passed so the exchange is very time * efficient.
    - * Messages are always processed in FIFO order.
    + * Messages are usually processed in FIFO order but it is possible to process + * them in priority order by specifying \p P_MSGBYPRIO when creating a server + * thread, \p CH_USE_MESSAGES_PRIORITY must also be specified in \p chconf.h + * in order to enable the feature.
    * Threads do not need to allocate space for message queues, the mechanism * just requires two extra pointers in the \p Thread structure (the message * queue header).
    diff --git a/docs/index.html b/docs/index.html index a4d9e32c2..ae0284cae 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.0
    +Version 0.5.1
    -
    Project on SourceForge
    Documentation
    -- cgit v1.2.3 From c7b67cff0eab340b5c58f168f4b44bdbc38f6d9b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 10 Jan 2008 13:52:44 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@173 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 1672eaa7c..191480d19 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.5.1 beta" +PROJECT_NUMBER = "0.5.2 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index ae0284cae..0eb82a19d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.1
    +Version 0.5.2
    -
    Project on SourceForge
    Documentation
    -- cgit v1.2.3 From 68003a03c299850f0b66adfa4df6c9d6b6ba6ab2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 23 Jan 2008 14:50:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@182 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 - 1 file changed, 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 191480d19..0299bfa06 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -241,7 +241,6 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_SERIAL_FULLDUPLEX \ CH_USE_SERIAL_HALFDUPLEX \ CH_USE_MESSAGES \ - CH_USE_MESSAGES_TIMEOUT \ CH_USE_MESSAGES_EVENT \ CH_USE_MESSAGES_PRIORITY \ CH_USE_SEMSW \ -- cgit v1.2.3 From 86f169d26dbfb0ea1a35e1736401464e10c7ac94 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 23 Jan 2008 14:51:26 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@183 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index 0eb82a19d..9bde1d9f8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.2
    +Version 0.5.3
    -
    Project on SourceForge
    Documentation
    -- cgit v1.2.3 From eb82df9b16865867b0e053d4e240acde0c4bdee2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 26 Jan 2008 10:28:41 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@188 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 0299bfa06..42b137d91 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.5.2 beta" +PROJECT_NUMBER = "0.5.3 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -- cgit v1.2.3 From 9d95345fd750466563a0fd95a35ab20e425018b9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 21 Feb 2008 15:10:49 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@199 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 42b137d91..a451fbc01 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.5.3 beta" +PROJECT_NUMBER = "0.5.4 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 9bde1d9f8..f8978bd4b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.3
    +Version 0.5.4
    -
    Project on SourceForge
    Documentation
    @@ -57,8 +57,13 @@ ports Currently the ChibiOS/RT is ported to the following architectures:
    • ARM7TDMI-LPC214x, the port to other LPC2000 chips -should be trivial, port to other ARM families should be easy too. Both -ARM and THUMB modes are supported.
    • Atmel AVR, the port is almost complete but untested because I broke my JTAG probe...
    • x86 as a Win32 process, this port allows to write +should be trivial. Both ARM and THUMB modes are supported.
    • +
    • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel +chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with +minimal changes.
    • +
    • Atmel AVR, the port is almost complete but untested because +I broke my JTAG probe...
    • +
    • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development board/simulator/emulator. Communication ports are simulated over sockets, you can telnet on the simulator ports for the debug. I am -- cgit v1.2.3 From ef79349ec13b036003e78c8b7585f9b4808efa63 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 22 Feb 2008 15:23:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@204 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index a451fbc01..57505300b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.5.4 beta" +PROJECT_NUMBER = "0.5.5 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index f8978bd4b..8856b5373 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.4
      +Version 0.5.5
      -
      Project on SourceForge
      Documentation
      -- cgit v1.2.3 From d3ff29c1893323a3749e0c7f45a5d1541430929b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 7 Mar 2008 15:24:00 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@219 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 57505300b..e4915c571 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.5.5 beta" +PROJECT_NUMBER = "0.6.0 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 8856b5373..43738aa72 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.5
      +Version 0.6.0
      -
      Project on SourceForge
      Documentation
      -- cgit v1.2.3 From 88c256ae5265f5d6a7ffa25dc17f693e036256bf Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 11 Mar 2008 14:32:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@222 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index e4915c571..a6b908404 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.0 beta" +PROJECT_NUMBER = "0.6.1 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 43738aa72..edd77fc03 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.6.0
      +Version 0.6.1
      -
      Project on SourceForge
      Documentation
      -- cgit v1.2.3 From cd679c092078f7ef88c2b62f161eba41ee413702 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 14 Mar 2008 16:08:11 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@233 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 9 +- docs/img/states.svg | 474 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 480 insertions(+), 3 deletions(-) create mode 100644 docs/img/states.svg (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 257d3d89e..bc6bdc98e 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -59,8 +59,8 @@ * @section naming Naming Conventions * ChibiOS/RT APIs are all named following this convention: * \a ch\\\(). - * The possible groups are: \a Sys, \a Sch, \a VT, \a Thd, \a Sem, \a Evt, - * \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD. + * The possible groups are: \a Sys, \a Sch, \a VT, \a Thd, \a Sem, \a Mtx, + * \a Evt, \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD, \a Dbg. * The suffix is not present for normal APIs but can be one of * the following: "I" for APIs meant to be invoked from an interrupt handler * or within the system mutex zone but not from user code, "S" for APIs only @@ -79,6 +79,10 @@ * Note that the currently running thread is not in the ready list, the list * only contains the threads ready to be executed but still actually waiting. * + * @section states Threads States Diagram + * The image shows how threads can change their state in ChibiOS/RT.
      + * @image html states.png + * * @section warea Thread Working Area * Each thread has its own stack, a Thread structure and a registers dump * structure. All the structures are allocated into a "Thread working area", @@ -87,7 +91,6 @@ * have as many threads you want as long you have enough available RAM * memory. The threads do not use any memory outside the allocated working * area.
      - * @image html workspace.png *
      * Note that the registers dump is only present when the Thread is not diff --git a/docs/img/states.svg b/docs/img/states.svg new file mode 100644 index 000000000..a7a0b0bd2 --- /dev/null +++ b/docs/img/states.svg @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + Workspace top Thread Structure + chThdCreate() + + Running + + + Ready + + + SuspendedSus + + + Suspended + + + + + + + + + Sleeping + chSchGoSleepS() + + + chSchWakeupS() + + chSchWakeupS()chSchReadyI() + chSchRescheduleS()chSchDoRescheduleI() + + chSchWakeupS()chSchReadyI() + + chSchGoSleepS() + chSchWakeupS() + + Ready + Exited + + chSchGoSleepS()chThdExit() + + -- cgit v1.2.3 From 8c62cd5c086b054a6eca6e88b41d245bc66207bf Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 15 Mar 2008 08:55:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@235 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/img/states.svg | 43 ++++++++++++++++--------------------------- 1 file changed, 16 insertions(+), 27 deletions(-) (limited to 'docs') diff --git a/docs/img/states.svg b/docs/img/states.svg index a7a0b0bd2..45c74da39 100644 --- a/docs/img/states.svg +++ b/docs/img/states.svg @@ -15,10 +15,10 @@ sodipodi:version="0.32" inkscape:version="0.45.1" version="1.0" - sodipodi:docbase="C:\Progetti\ChibiOS-RT\docs\img" + sodipodi:docbase="D:\Progetti\ChibiOS-RT\docs\img" sodipodi:docname="states.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="C:\Progetti\ChibiOS-RT\docs\img\states.png" + inkscape:export-filename="d:\Progetti\ChibiOS-RT\docs\img\states.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> Workspace top Thread Structure - Thread Structure chSchWakeupS() + x="104.55859" + y="368.33594">chSchWakeupS() chSchGoSleepS() + x="127.00391" + y="96.078125">chSchGoSleepS() Date: Sat, 15 Mar 2008 08:59:38 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@236 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/img/states.svg | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'docs') diff --git a/docs/img/states.svg b/docs/img/states.svg index 45c74da39..f2f932293 100644 --- a/docs/img/states.svg +++ b/docs/img/states.svg @@ -80,7 +80,7 @@ inkscape:pageshadow="2" inkscape:zoom="2" inkscape:cx="198.03694" - inkscape:cy="240.90085" + inkscape:cy="380.90085" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" @@ -130,17 +130,17 @@ style="fill:url(#linearGradient3230);fill-opacity:1">Thread Structure chThdCreate() chThdCreate() @@ -223,13 +223,13 @@ id="flowPara5204">SuspendedSus + style="font-size:11"> + style="font-size:11"> Suspended Date: Sun, 16 Mar 2008 10:30:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@238 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index edd77fc03..7badfbbde 100644 --- a/docs/index.html +++ b/docs/index.html @@ -29,7 +29,15 @@ Version 0.6.1

      SourceForge.net Logo

      - Support This Project + Support This Project

      + + + + +

      History

      This kernel is something I wrote back in 1990 for use on boards @@ -127,9 +135,9 @@ exchanging messages and doing *real* work, it is not a calculated peak value. See the demo code, it includes the benchmark.

      Future

      Expect:
        - +
      • Documentation improvements.
      • - +
      • Ports to more architectures/boards when I am able to put my hands on new hardware/tools.
      • More demos.
      • -- cgit v1.2.3 From 19e65862b3ed09e603375e4cd541f3717ac692bc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 29 Mar 2008 10:51:35 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@253 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index a6b908404..f0416b899 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.1 beta" +PROJECT_NUMBER = "0.6.2 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 7badfbbde..72c427593 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.6.1
        +Version 0.6.2
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 735ba4c4ead1f994c3911add3bee13c14463b0db Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 6 Apr 2008 08:10:47 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@255 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index f0416b899..19c35725c 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.2 beta" +PROJECT_NUMBER = "0.6.3 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 72c427593..eda33ea5d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,13 +7,12 @@ -

        ちびOS/RTTM -Homepage

        -(ChibiOS/RT) +

        ChibiOS/RTTMHomepage

        + Current -Version 0.6.2
        +Version 0.6.3
        -
        Project on SourceForge
        Documentation
        @@ -58,8 +57,12 @@ ChibiOS/RT is designed for embedded applications and it is meant to be linked with the application code. The design philosophy is to make it easy to use so I hope that all the APIs are meaningful, easy to understand and with the parameters you would expect from them.
        The -system offers threads, semaphores, messages, events, virtual timers, -queues, I/O channels with timeout capability and much more.
        +system offers threads, semaphores, mutexes, messages, events, virtual +timers, +queues, I/O channels with timeout capability and much more. The +Priority Inheritance algorithm is implemented through the Mutexes +mechaninsm, the implementation supports any number of threads and +nested mutexes.

        Current ports

        Currently the ChibiOS/RT is ported to the following architectures:
        @@ -69,8 +72,7 @@ should be trivial. Both ARM and THUMB modes are supported.
      • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with minimal changes.
      • -
      • Atmel AVR, the port is almost complete but untested because -I broke my JTAG probe...
      • +
      • Atmel AVR: AT90CAN128 and ATmega128 demos included.
      • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development board/simulator/emulator. Communication ports are simulated over @@ -124,7 +126,7 @@ chconf.h. On ARM processors, the kernel size starts at just 1.5KiB depending on the included subsystems and the choosen compiler optimizations.
        As reference, a kernel configured with...
        • System startup code
        • Chip initialization code
        • Multithreading APIs
        • Virtual Timer APIs
        • Semaphore APIs
        • System time + Sleep API
        • Suspend/Resume APIs
        • Small main() program with flashing LEDs demo and 3 threads
        ...just takes 2.11KiB of program space when compiled using THUMB code and space optimizations. Note that this is quite a typical configuration not a minimal one. A kernel configured with all the options and -optimized for speed takes about 8KiB. See the documentation about the +optimized for speed takes about 6KiB. See the documentation about the many available subsystems.

        About performance, on a 48MHz LPC ARM7 processor the kernel is capable of context switch time ranging from 3 to 6 microseconds depending on the code type (ARM/THUMB) and the @@ -161,4 +163,4 @@ ChibiOS/RT was created using:
        - + \ No newline at end of file -- cgit v1.2.3 From f80bb0647f6c51015cf6d3d8d6847c2e13c6ab84 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 19 Apr 2008 11:46:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@274 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index eda33ea5d..b4655bb54 100644 --- a/docs/index.html +++ b/docs/index.html @@ -39,7 +39,7 @@ Version 0.6.3

        History

        -This kernel is something I wrote back in 1990 for use on boards +This RTOS is something I wrote back in 1990 for use on boards equipped with M68K processors, the development was made on an Atari ST. The OS worked well for its intended purpose, Internet was not @@ -71,7 +71,7 @@ Currently the ChibiOS/RT is ported to the following architectures:
        should be trivial. Both ARM and THUMB modes are supported.
      • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with -minimal changes.
      • +minimal changes.
      • ARM Cortex-M3-STM32.
      • Atmel AVR: AT90CAN128 and ATmega128 demos included.
      • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development -- cgit v1.2.3 From 25d517877dd7725e67c2d094031a023c41ec6f05 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 23 Apr 2008 08:36:16 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@275 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 19c35725c..54a57935d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.3 beta" +PROJECT_NUMBER = "0.6.4 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index b4655bb54..a7d34bc95 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@ Current -Version 0.6.3
        +Version 0.6.4
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From f5551fd8d6e8b7db2537d8ec14b936d2ad897441 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 7 May 2008 13:08:43 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@283 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index a7d34bc95..07d2e6a37 100644 --- a/docs/index.html +++ b/docs/index.html @@ -71,8 +71,10 @@ Currently the ChibiOS/RT is ported to the following architectures:
        should be trivial. Both ARM and THUMB modes are supported.
      • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with -minimal changes.
      • ARM Cortex-M3-STM32.
      • +minimal changes. +
      • ARM Cortex-M3, ST Microelectronics STM32.
      • Atmel AVR: AT90CAN128 and ATmega128 demos included.
      • +
      • Texas Instruments MSP430, complete but untested.
      • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development board/simulator/emulator. Communication ports are simulated over -- cgit v1.2.3 From f2e73138ba524d67734de4fdaa07fea16fb31e67 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 8 May 2008 15:32:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@286 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1709 +++++++++++++++++++++++++++++++++++++++++++++++---------- docs/ch.txt | 136 ++++- 2 files changed, 1555 insertions(+), 290 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 54a57935d..e03d57654 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1,289 +1,1420 @@ -# Doxyfile 1.5.1-p1 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.4 beta" -OUTPUT_DIRECTORY = . -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -USE_WINDOWS_ENCODING = YES -BRIEF_MEMBER_DESC = NO -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = YES -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = YES -INHERIT_DOCS = NO -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 2 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -BUILTIN_STL_SUPPORT = NO -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = NO -EXTRACT_LOCAL_CLASSES = NO -EXTRACT_LOCAL_METHODS = NO -HIDE_UNDOC_MEMBERS = YES -HIDE_UNDOC_CLASSES = YES -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = NO -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = NO -SORT_BRIEF_DOCS = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = NO -SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = ../src/include \ - ../src/templates \ - ../src \ - ../docs/ch.txt -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.ddf -RECURSIVE = YES -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = ./img -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = NO -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = NO -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = YES -TREEVIEW_WIDTH = 250 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = NO -USE_PDFLATEX = NO -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = __JUST_STUBS__ \ - __DOXIGEN__ \ - CH_USE_VIRTUAL_TIMERS \ - CH_USE_SYSTEMTIME \ - CH_USE_SLEEP \ - CH_USE_RESUME \ - CH_USE_SUSPEND \ - CH_USE_TERMINATE \ - CH_USE_WAITEXIT \ - CH_USE_SEMAPHORES \ - CH_USE_MUTEXES \ - CH_USE_EVENTS \ - CH_USE_EVENTS_TIMEOUT \ - CH_USE_EXIT_EVENT \ - CH_USE_QUEUES \ - CH_USE_QUEUES_TIMEOUT \ - CH_USE_QUEUES_HALFDUPLEX \ - CH_USE_SERIAL_FULLDUPLEX \ - CH_USE_SERIAL_HALFDUPLEX \ - CH_USE_MESSAGES \ - CH_USE_MESSAGES_EVENT \ - CH_USE_MESSAGES_PRIORITY \ - CH_USE_SEMSW \ - CH_USE_DEBUG \ - CH_USE_TRACE -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -MAX_DOT_GRAPH_WIDTH = 1024 -MAX_DOT_GRAPH_HEIGHT = 1024 -MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = NO -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO +# Doxyfile 1.5.5 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = ChibiOS/RT + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = "0.6.4 beta" + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, +# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, +# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, +# and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = NO + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = NO + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 2 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = NO + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = YES + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../src/include \ + ../src/templates \ + ../src \ + ../docs/ch.txt + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.ddf + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = ./img + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. Otherwise they will link to the documentstion. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = YES + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __JUST_STUBS__ \ + __DOXIGEN__ \ + CH_USE_VIRTUAL_TIMERS \ + CH_USE_SYSTEMTIME \ + CH_USE_SLEEP \ + CH_USE_RESUME \ + CH_USE_SUSPEND \ + CH_USE_TERMINATE \ + CH_USE_WAITEXIT \ + CH_USE_SEMAPHORES \ + CH_USE_MUTEXES \ + CH_USE_EVENTS \ + CH_USE_EVENTS_TIMEOUT \ + CH_USE_EXIT_EVENT \ + CH_USE_QUEUES \ + CH_USE_QUEUES_TIMEOUT \ + CH_USE_QUEUES_HALFDUPLEX \ + CH_USE_SERIAL_FULLDUPLEX \ + CH_USE_SERIAL_HALFDUPLEX \ + CH_USE_MESSAGES \ + CH_USE_MESSAGES_EVENT \ + CH_USE_MESSAGES_PRIORITY \ + CH_USE_SEMSW \ + CH_USE_DEBUG \ + CH_USE_TRACE + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = NO + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 1000 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is enabled by default, which results in a transparent +# background. Warning: Depending on the platform used, enabling this option +# may lead to badly anti-aliased labels on the edges of a graph (i.e. they +# become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/docs/ch.txt b/docs/ch.txt index bc6bdc98e..71b829985 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -118,7 +118,141 @@ * Applications usually do not need to put code into the system mutex zone * unless you are implementing device drivers or special synchronization * primitives, everything else can be implemented by using semaphores, - * messages or events. + * mutexes, messages or events. + */ +/** @} */ + +/** + * @defgroup Ports Ports + * @{ + * This section describes the technical details for the various supported + * ChibiOS/RT ports. + */ +/** @} */ + +/** + * @defgroup ARM7 ARM7TDMI + * @{ + *

        + * The ARM7 port makes some assumptions on the application code organization: + *

          + *
        • The \p main() function is invoked in system mode and with interrupts + * disabled.
        • + *
        • Each thread has a private user/system stack, the system has a single + * interrupt stack where all the interrupts are processed.
        • + *
        • The threads are started in system mode.
        • + *
        • The threads code can run in system mode or user mode, however the + * code running in user mode cannot invoke the ChibiOS/RT APIs directly + * because privileged instructions are used inside.
          + * The kernel APIs can be eventually invoked by using a SWI entry point + * that handles the switch in system mode and the return in user mode.
        • + *
        • Other modes are not preempt-able because the system code assumes the + * threads running in system mode. When running in supervisor or other + * modes make sure that the interrupts are globally disabled.
        • + *
        • Interrupts nesting is not supported in the ARM7 code because their + * implementation, even if possible, is not really efficient in this + * architecture.
        • + *
        • FIQ sources can preempt the kernel (by design) so it is not possible to + * invoke the kernel APIs from inside a FIQ handler.
        • + *
        + *

        + *

        + * The ARM7 port is shared by multiple demos targeted to various implementations: + *

        + * @ingroup Ports + */ +/** @} */ + +/** + * @defgroup LPC214x LPC214x Support + * @{ + *

        + * The LPC214x support includes: + *

          + *
        • VIC support code.
        • + *
        • Buffered, interrupt driver, serial driver.
        • + *
        • SSP driver.
        • + *
        • A MMC/SD demo driver.
        • + *
        • A buzzer demo driver.
        • + *
        • A minimal demo, useful as project template.
        • + *
        • A demo supporting the kernel test suite.
        • + *
        • A C++ demo supporting the kernel test suite.
        • + *
        + *

        + * @ingroup ARM7 + */ +/** @} */ + +/** + * @defgroup AT91SAM7X AT91SAM7X Support + * @{ + *

        + * The AT91SAM7X support includes: + *

          + *
        • Buffered, interrupt driver, serial driver.
        • + *
        • A demo supporting the kernel test suite.
        • + *
        + *

        + * @ingroup ARM7 + */ +/** @} */ + +/** + * @defgroup ARMCM3 ARM Cortex-M3 + * @{ + *

        + * The ARM Cortex-M3 port is organized as follow: + *

        + *
          + *
        • The \p main() function is invoked in thread-privileged mode.
        • + *
        • Each thread has a private process stack, the system has a single main + * stack where all the interrupts and exceptions are processed.
        • + *
        • Only the 4 MSb of the priority level are used, the 4 LSb are assumed + * to be zero.
        • + *
        • The threads are started in thread-privileged mode with BASEPRI level + * 0x00 (disabled).
        • + *
        • The kernel raises its BASEPRI level to 0x10 in order to protect the + * system mutex zones. Note that exceptions with level 0x00 can preempt + * the kernel, such exception handlers cannot invoke kernel APIs directly.
        • + *
        • Interrupt nesting and the other advanced NVIC features are supported.
        • + *
        • The SVC instruction and vector, with parameter #0, is internally used + * for commanded context switching.
          + * It is possible to share the SVC handler at the cost of slower context + * switching.
        • + *
        • The PendSV vector is internally used for preemption context switching.
        • + *
        + * @ingroup Ports + */ +/** @} */ + +/** + * @defgroup AVR MegaAVR + * @{ + *

        + * Notes about the AVR port: + *

        + *
          + *
        • The AVR does not have a dedicated interrupt stack, make sure to reserve + * enough stack space for interrupts in each thread stack. This can be done + * by modifying the \p INT_REQUIRED_STACK macro into \p ports/AVR/chcore.h.
        • + *
        + * @ingroup Ports + */ +/** @} */ + +/** + * @defgroup MSP430 MSP430 + * @{ + *

        + * Notes about the MSP430 port: + *

        + *
          + *
        • In the current version the MSP430 port is still untested.
        • + *
        • The MSP430 does not have a dedicated interrupt stack, make sure to reserve + * enough stack space for interrupts in each thread stack. This can be done + * by modifying the \p INT_REQUIRED_STACK macro into \p ports/MSP430/chcore.h.
        • + *
        + * @ingroup Ports */ /** @} */ -- cgit v1.2.3 From 6320aaba73a6a167226135802404e53c39a2ac85 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 10 May 2008 08:31:13 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@287 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 71b829985..833e2d2c2 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -170,7 +170,7 @@ * The LPC214x support includes: *
          *
        • VIC support code.
        • - *
        • Buffered, interrupt driver, serial driver.
        • + *
        • Buffered, interrupt driven, serial driver.
        • *
        • SSP driver.
        • *
        • A MMC/SD demo driver.
        • *
        • A buzzer demo driver.
        • @@ -189,7 +189,7 @@ *

          * The AT91SAM7X support includes: *

            - *
          • Buffered, interrupt driver, serial driver.
          • + *
          • Buffered, interrupt driven, serial driver.
          • *
          • A demo supporting the kernel test suite.
          • *
          *

          -- cgit v1.2.3 From cadf83110acc18314197ace9e3d5083a99e3fdb8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 16 May 2008 15:09:49 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@292 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index e03d57654..0f44238a0 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = "0.6.4 beta" +PROJECT_NUMBER = "0.6.5 beta" # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/docs/index.html b/docs/index.html index 07d2e6a37..a5e391e8d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@ Current -Version 0.6.4
          +Version 0.6.5
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From e13185058d7fdb390de10325a21730ab3b0d3ded Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 26 May 2008 14:57:55 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@309 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 833e2d2c2..8b00be5d7 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -24,6 +24,10 @@ * Win32 process and the application code does not need to be aware of it. * MinGW and VS demos available and ready to go, use them as templates for * your application. + *
        • Preemptive scheduling.
        • + *
        • 128 priority levels.
        • + *
        • Multiple threads at the same priorily level allowed.
        • + *
        • Round robin scheduling for threads at the same priority level.
        • *
        • Unlimited number of threads.
        • *
        • Unlimited number of virtual timers.
        • *
        • Unlimited number of semaphores.
        • @@ -40,7 +44,6 @@ * runtime. *
        • Blocking and non blocking I/O channels with timeout and events generation * capability.
        • - *
        • Pre-emptive scheduling.
        • *
        • Minimal system requirements: about 8KiB ROM with all options enabled and * speed optimizations on. The size can shrink under 2KiB by disabling the * the unused subsystems and optimizing for size.
        • -- cgit v1.2.3 From f42443a50a2b05df78e724da7f3f765116a810cd Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 12 Jun 2008 09:35:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@317 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 0f44238a0..a46b2befd 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = "0.6.5 beta" +PROJECT_NUMBER = "0.6.6 beta" # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/docs/index.html b/docs/index.html index a5e391e8d..9f7e7c836 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,7 +1,7 @@ - ChibiOS/RT Homepage + ChibiOS/RT embedded RTOS homepage @@ -12,7 +12,7 @@ -- cgit v1.2.3 From 5f4dbf9ca9ba32bfeefa3dbab412867dc63f0892 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 2 Jul 2008 12:32:13 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@328 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1724 ++++++++++--------------------------------------------- docs/ch.txt | 10 + docs/index.html | 2 +- 3 files changed, 315 insertions(+), 1421 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index a46b2befd..30000a7ea 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1,1420 +1,304 @@ -# Doxyfile 1.5.5 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = ChibiOS/RT - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = "0.6.6 beta" - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = . - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, -# and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = NO - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = YES - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = NO - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 2 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = NO - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = ../src/include \ - ../src/templates \ - ../src \ - ../docs/ch.txt - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.ddf - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = ./img - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = __JUST_STUBS__ \ - __DOXIGEN__ \ - CH_USE_VIRTUAL_TIMERS \ - CH_USE_SYSTEMTIME \ - CH_USE_SLEEP \ - CH_USE_RESUME \ - CH_USE_SUSPEND \ - CH_USE_TERMINATE \ - CH_USE_WAITEXIT \ - CH_USE_SEMAPHORES \ - CH_USE_MUTEXES \ - CH_USE_EVENTS \ - CH_USE_EVENTS_TIMEOUT \ - CH_USE_EXIT_EVENT \ - CH_USE_QUEUES \ - CH_USE_QUEUES_TIMEOUT \ - CH_USE_QUEUES_HALFDUPLEX \ - CH_USE_SERIAL_FULLDUPLEX \ - CH_USE_SERIAL_HALFDUPLEX \ - CH_USE_MESSAGES \ - CH_USE_MESSAGES_EVENT \ - CH_USE_MESSAGES_PRIORITY \ - CH_USE_SEMSW \ - CH_USE_DEBUG \ - CH_USE_TRACE - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 1000 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is enabled by default, which results in a transparent -# background. Warning: Depending on the platform used, enabling this option -# may lead to badly anti-aliased labels on the edges of a graph (i.e. they -# become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO +# Doxyfile 1.5.5 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = ChibiOS/RT +PROJECT_NUMBER = "0.6.7 beta" +OUTPUT_DIRECTORY = . +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +BRIEF_MEMBER_DESC = NO +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = YES +INHERIT_DOCS = NO +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 2 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +TYPEDEF_HIDES_STRUCT = NO +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = NO +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = NO +SORT_BRIEF_DOCS = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = NO +SHOW_DIRECTORIES = NO +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = ../src/include \ + ../src/templates \ + ../src \ + ../docs/ch.txt \ + ../src/lib +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.ddf +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = ./img +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +REFERENCES_LINK_SOURCE = YES +USE_HTAGS = NO +VERBATIM_HEADERS = NO +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +HTML_DYNAMIC_SECTIONS = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = __JUST_STUBS__ \ + __DOXIGEN__ \ + CH_USE_VIRTUAL_TIMERS \ + CH_USE_SYSTEMTIME \ + CH_USE_SLEEP \ + CH_USE_RESUME \ + CH_USE_SUSPEND \ + CH_USE_TERMINATE \ + CH_USE_WAITEXIT \ + CH_USE_SEMAPHORES \ + CH_USE_MUTEXES \ + CH_USE_EVENTS \ + CH_USE_EVENTS_TIMEOUT \ + CH_USE_EXIT_EVENT \ + CH_USE_QUEUES \ + CH_USE_QUEUES_TIMEOUT \ + CH_USE_QUEUES_HALFDUPLEX \ + CH_USE_SERIAL_FULLDUPLEX \ + CH_USE_SERIAL_HALFDUPLEX \ + CH_USE_MESSAGES \ + CH_USE_MESSAGES_EVENT \ + CH_USE_MESSAGES_PRIORITY \ + CH_USE_SEMSW \ + CH_USE_DEBUG \ + CH_USE_TRACE +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = NO +MSCGEN_PATH = +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/docs/ch.txt b/docs/ch.txt index 8b00be5d7..a88291bb2 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -507,3 +507,13 @@ * @file chserial.c Serial Drivers code. */ /** @} */ + +/** + * @defgroup CPlusPlusLibrary C++ Wrapper + * @{ + * C++ wrapper module. This module allows to use the ChibiOS/RT functionalities + * from C++ as classes and objects rather the traditional "C" APIs. + * @file ch.hpp C++ wrapper classes and definitions. + * @file ch.cpp C++ wrapper code. + */ +/** @} */ diff --git a/docs/index.html b/docs/index.html index 1d07bc0ee..ab2a7b800 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@ + + -- cgit v1.2.3 From 41eeaff123f182af8ba629570d684207ee8bf12a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 31 Jan 2009 10:30:16 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@701 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 5 +-- docs/src/articles.dox | 2 +- docs/src/concepts.dox | 2 +- docs/src/licfaq.dox | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 94 insertions(+), 4 deletions(-) create mode 100644 docs/src/licfaq.dox (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 983c89dc2..b0d662426 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -72,8 +72,9 @@ * - Almost totally written in C with little ASM code required for ports. * *

          Related pages

          - * - @subpage Concepts - * - @subpage Articles + * - @subpage concepts + * - @subpage lic_faq + * - @subpage articles */ /** diff --git a/docs/src/articles.dox b/docs/src/articles.dox index a152d7c44..59350b732 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -18,7 +18,7 @@ */ /** - * @page Articles Articles + * @page articles Articles * @{ * ChibiOS/RT Articles and Code Examples: * - @subpage article_atomic diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index cfa5bfbc3..531340560 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -18,7 +18,7 @@ */ /** - * @page Concepts Concepts + * @page concepts Concepts * @{ * @brief ChibiOS/RT Concepts and Architecture * @section naming Naming Conventions diff --git a/docs/src/licfaq.dox b/docs/src/licfaq.dox new file mode 100644 index 000000000..a666a6aa0 --- /dev/null +++ b/docs/src/licfaq.dox @@ -0,0 +1,89 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page lic_faq License and F.A.Q. + * @{ + * ChibiOS/RT is a + * GPL3-licensed product but it offers a linking exception in its stable + * releases.
          + * This article contains some answers about the exception. + * + * @section faq Frequently Asked Questions + * - Is ChibiOS/RT free ?
          + * Yes, free as both in free beer and freedom. + * - Can I use it in my commercial embedded product?
          + * Yes, you just have to advertise that you are using ChibiOS/RT by putting + * a link to the project somewhere on your web site or documentation. + * - Am I forced to release the source code of my product?
          + * The exception to the GPL allows you to use ChibiOS/RT in your commercial + * application without have to release your source code under certains + * conditions. See the exception text under "Approved Interfaces" for + * details. + * - I don't want to be bound by any of the above restriction, is this + * possible?
          + * You may contact us about a commercial license. + * + * @section exception_text GPL Exception Text + +
          GPL Exception Text
          + + In addition, as a special exception, the copyright holder of ChibiOS/RT, +gives You the additional right to link the unmodified code of this Program with +code not covered under the GNU General Public License ("Non-GPL Code") and to +distribute linked combinations including the two, subject to the limitations +in this paragraph. + + -# Non-GPL Code permitted under this exception must only link to the + unmodified code of this Program through those well defined interfaces + identified as "Approved Interfaces". + -# Every copy of the combined work is accompanied by a written statement + that details to the recipient the version of ChibiOS/RT used and an + offer by yourself to provide the ChibiOS/RT source code should the + recipient request it. + -# The combined work is not itself an RTOS, scheduler, kernel or related + product. + -# The combined work is not itself a library intended for linking into + other software applications. + +
          The Approved Interfaces
          + + -# The files of Non-GPL Code may include the unmodified ChibiOS/RT + distribution header files contained in ./src/include and ./src/lib + without causing the resulting work to be covered by the GNU General + Public License. + -# The files of Non-GPL Code may link to the unmodified ChibiOS/RT + distribution files contained under ./src and ./src/lib without + causing the resulting work to be covered by the GNU General Public + License. + -# The files of Non-GPL Code may link to, or include, the modified or + unmodified ChibiOS/RT distribution files contained under ./src/templates + and ./ports and ./demos without causing the resulting work to be + covered by the GNU General Public License. + + Only the copyright holder of ChibiOS/RT may make changes or additions to the +list of Approved Interfaces. + + You must obey the GNU General Public License in all respects for all of the +Program code and other code used in conjunction with the Program except the +Non-GPL Code covered by this exception. + * + */ +/** @} */ + \ No newline at end of file -- cgit v1.2.3 From 4ab8cc4e84ee45b96a5a5ad5fc5e3acb4c4d9b8c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 31 Jan 2009 12:32:35 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@702 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 6 +++--- docs/reports/AT91SAM7X-48-THUMB.txt | 2 +- docs/reports/ATmega128-16.txt | 2 +- docs/reports/LPC2148-48-ARM.txt | 16 ++++++++-------- docs/reports/LPC2148-48-THUMB.txt | 4 ++-- docs/reports/MSP430F1611-0.75.txt | 4 ++-- docs/reports/STM32F103-48.txt | 10 +++++++--- docs/reports/STM32F103-72.txt | 8 ++------ 8 files changed, 26 insertions(+), 26 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index a0c4f21e0..157fcd613 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 RC1 +Kernel: ChibiOS/RT 1.0.0 final Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) @@ -40,7 +40,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 62384 bytes, not fragmented +--- Size : 62272 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -65,7 +65,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 76509 threads/S +--- Score : 76508 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index feb8a6e5c..042913e65 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 RC1 +Kernel: ChibiOS/RT 1.0.0 final Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) diff --git a/docs/reports/ATmega128-16.txt b/docs/reports/ATmega128-16.txt index 6881bebce..acd00139d 100644 --- a/docs/reports/ATmega128-16.txt +++ b/docs/reports/ATmega128-16.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 RC1 +Kernel: ChibiOS/RT 1.0.0 final Compiler: GCC 4.3.0 (WinAVR 10.06.2008) Options: -O2 Settings: F_CPU=16000000 diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index adf584c04..a9537e8f0 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 RC1 +Kernel: ChibiOS/RT 1.0.0 final Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -40,7 +40,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 27792 bytes, not fragmented +--- Size : 27648 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -61,27 +61,27 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 111980 msgs/S, 223960 ctxswc/S +--- Score : 111978 msgs/S, 223956 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 99406 threads/S +--- Score : 99405 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 134686 threads/S +--- Score : 134687 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36006 reschedulations/S, 216036 ctxswc/S +--- Score : 36005 reschedulations/S, 216030 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 22 (Benchmark, I/O Queues throughput) ---- Score : 341236 bytes/S +--- Score : 341232 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 309498 timers/S +--- Score : 309496 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 8310f82b0..22bcaff69 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 RC1 +Kernel: ChibiOS/RT 1.0.0 final Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -53,7 +53,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 98921 msgs/S, 197842 ctxswc/S +--- Score : 98924 msgs/S, 197848 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 48b0fd508..6a179ea71 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 RC1 +Kernel: ChibiOS/RT 1.0.0 final Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz @@ -65,7 +65,7 @@ Settings: MCLK=DCOCLK 750Khz --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 1311 threads/S +--- Score : 1310 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 3b43e9022..3e4411385 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -1,10 +1,14 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 RC1 +Kernel: ChibiOS/RT 1.0.0 final Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=48, ACR=0x11 (1 wait state) *************************************************************************** +***************************** +*** ChibiOS/RT test suite *** +***************************** + --------------------------------------------------------------------------- --- Test Case 1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS @@ -61,7 +65,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 134028 msgs/S, 268056 ctxswc/S +--- Score : 134029 msgs/S, 268058 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) @@ -69,7 +73,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 151424 threads/S +--- Score : 151423 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index c409f2e50..973dd11ec 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,14 +1,10 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 RC1 +Kernel: ChibiOS/RT 1.0.0 final Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** -***************************** -*** ChibiOS/RT test suite *** -***************************** - --------------------------------------------------------------------------- --- Test Case 1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS @@ -57,7 +53,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 216993 msgs/S, 433986 ctxswc/S +--- Score : 216994 msgs/S, 433988 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) -- cgit v1.2.3 From 52923f77318483b1b9384bb4f92ff9e55f298293 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 1 Feb 2009 14:03:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@709 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index b0d662426..e3e73da97 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -72,8 +72,8 @@ * - Almost totally written in C with little ASM code required for ports. * *

          Related pages

          - * - @subpage concepts * - @subpage lic_faq + * - @subpage concepts * - @subpage articles */ -- cgit v1.2.3 From ec4178dd0ff7587b79a8c525aa88d467642ce629 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 2 Feb 2009 12:48:17 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@712 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index a3d8f860b..d9e6a8aba 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -206,7 +206,7 @@ EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = -PREDEFINED = __DOXYGEN__ CH_USE_WAITEXIT CH_USE_SEMAPHORES CH_USE_SEMSW CH_USE_SEMAPHORES_TIMEOUT CH_USE_MUTEXES CH_USE_CONDVARS CH_USE_CONDVARS_TIMEOUT CH_USE_EVENTS CH_USE_EVENTS_TIMEOUT CH_USE_EXIT_EVENT CH_USE_QUEUES CH_USE_QUEUES_TIMEOUT CH_USE_QUEUES_HALFDUPLEX CH_USE_SERIAL_FULLDUPLEX CH_USE_SERIAL_HALFDUPLEX CH_USE_HEAP CH_USE_MEMPOOLS CH_USE_MESSAGES CH_USE_MESSAGES_EVENT CH_USE_MESSAGES_PRIORITY CH_USE_DEBUG CH_USE_TRACE CH_USE_DYNAMIC CH_USE_ROUNDROBIN +PREDEFINED = __DOXYGEN__ CH_USE_WAITEXIT CH_USE_SEMAPHORES CH_USE_SEMSW CH_USE_SEMAPHORES_TIMEOUT CH_USE_MUTEXES CH_USE_CONDVARS CH_USE_CONDVARS_TIMEOUT CH_USE_EVENTS CH_USE_EVENTS_TIMEOUT CH_USE_EXIT_EVENT CH_USE_QUEUES CH_USE_QUEUES_TIMEOUT CH_USE_QUEUES_HALFDUPLEX CH_USE_SERIAL_FULLDUPLEX CH_USE_SERIAL_HALFDUPLEX CH_USE_HEAP CH_USE_MEMPOOLS CH_USE_MESSAGES CH_USE_MESSAGES_EVENT CH_USE_DEBUG CH_USE_TRACE CH_USE_DYNAMIC CH_USE_ROUNDROBIN EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -- cgit v1.2.3 From 528e9fea357b8b24069d99657230ba28968f5d0c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 2 Feb 2009 21:07:27 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@713 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/atomic.dox | 8 ++++---- docs/src/concepts.dox | 16 ++++++++-------- docs/src/interrupts.dox | 4 ++-- docs/src/licfaq.dox | 4 ++++ docs/src/timing.dox | 2 +- 5 files changed, 19 insertions(+), 15 deletions(-) (limited to 'docs') diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox index 64084ff30..5fb0bc628 100644 --- a/docs/src/atomic.dox +++ b/docs/src/atomic.dox @@ -51,9 +51,9 @@ chSysUnlock(); * @endcode - * In general multiple I-Class and (non rescheduling) S-Class APIs can be - * included and the block is terminated by a rescheduling S-Class API. - * An extra @p chSchRescheduleS() can be present at the very end of the block, - * it only reschedules if a reschedulation is still required. + * In general multiple @ref I-Class and (non rescheduling) @ref S-Class APIs + * can be included and the block is terminated by a rescheduling @ref S-Class + * API. An extra @p chSchRescheduleS() can be present at the very end of the + * block, it only reschedules if a reschedulation is still required. */ /** @} */ diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 531340560..9c0a1d9c2 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -33,10 +33,10 @@ * - None, APIs without any suffix can be invoked only from the user * code in the Normal state unless differently specified. See * @ref system_states. - * - "I", I-Class APIs are invokable only from the I-Locked or - * S-Locked states. See @ref system_states. - * - "S", S-Class APIs are invokable only from the S-Locked - * state. See @ref system_states. + * - @anchor I-Class "I", I-Class APIs are invokable only from the + * I-Locked or S-Locked states. See @ref system_states. + * - @anchor S-Class "S", S-Class APIs are invokable only from the + * S-Locked state. See @ref system_states. * Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout(). * * @section interrupt_classes Interrupt Classes @@ -83,14 +83,14 @@ * goes in this state and waits for interrupts, after servicing the interrupt * the Normal state is restored and the scheduler has a chance to reschedule. * - S-Locked. Kernel locked and regular interrupt sources disabled. - * Fast interrupt sources are enabled. S-Class and I-Class APIs are + * Fast interrupt sources are enabled. @ref S-Class and @ref I-Class APIs are * invokable in this state. * - I-Locked. Kernel locked and regular interrupt sources disabled. - * I-Class APIs are invokable from this state. + * @ref I-Class APIs are invokable from this state. * - Serving Regular Interrupt. No system APIs are accessible but it is * possible to switch to the I-Locked state using @p chSysLockFromIsr() and - * then invoke any I-Class API. Interrupt handlers can be preemptable on some - * architectures thus is important to switch to I-Locked state before + * then invoke any @ref I-Class API. Interrupt handlers can be preemptable on + * some architectures thus is important to switch to I-Locked state before * invoking system APIs. * - Serving Fast Interrupt. System APIs are not accessible. * - Serving Non-Maskable Interrupt. System APIs are not accessible. diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index fe74d90e9..1b3932078 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -39,8 +39,8 @@ CH_IRQ_HANDLER(myIRQ) { CH_IRQ_EPILOGUE(); } * @endcode - * Note that only interrupt handlers that have to invoke system I-Class APIs - * must be written in this form, handlers unrelated to the OS activity can + * Note that only interrupt handlers that have to invoke system @ref I-Class + * APIs must be written in this form, handlers unrelated to the OS activity can * omit the macros. * Another note about the handler name "myIRQ", in some ports it must be a * vector number rather than a function name, it could also be a name from diff --git a/docs/src/licfaq.dox b/docs/src/licfaq.dox index a666a6aa0..afe0fa687 100644 --- a/docs/src/licfaq.dox +++ b/docs/src/licfaq.dox @@ -36,6 +36,10 @@ * application without have to release your source code under certains * conditions. See the exception text under "Approved Interfaces" for * details. + * - Is the exception applicable to any ChibiOS/RT version ?
          + * The exception is valid only for ChibiOS/RT releases marked as @e stable. + * Beta or unstable versions are covered by the GPL3 alone because are meant + * for testing only. * - I don't want to be bound by any of the above restriction, is this * possible?
          * You may contact us about a commercial license. diff --git a/docs/src/timing.dox b/docs/src/timing.dox index c1a33ae19..9fd19545d 100644 --- a/docs/src/timing.dox +++ b/docs/src/timing.dox @@ -36,7 +36,7 @@ msg_t my_thread(void *param) { * well below the system tick period and that @p my_thread() is not preempted * by other threads inserting long intervals.
          * If the above conditions are not satisfied you may have @p do_something() - * executed at irregular intevals, as example:

          + * executed at irregular intervals, as example:

          * T0...T0+1000...T0+2002...T0+3002...T0+4005...etc.

          * Also note that the error increases over time and this kind of behavior can * lead anomalies really hard to debug. -- cgit v1.2.3 From 36deb792c105ce4900870abe69da77393ce7a692 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 3 Feb 2009 16:13:59 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@714 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index e3e73da97..5e2fd2077 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -234,8 +234,13 @@ * becomes negative the thread is queued in the semaphore and suspended. * - Reset: The semaphore counter is reset to a non-negative value * and all the threads in the queue are released. - * Semaphores can be used as guards for mutual exclusion code zones but - * also have other uses, queues guards and counters as example.
          + * + * Semaphores can be used as guards for mutual exclusion code zones (note that + * mutexes are recommended for this kind of use) but also have other uses, + * queues guards and counters as example.
          + * Semaphores usually use FIFO queues but it is possible to make them + * order threads by priority by specifying CH_USE_SEMAPHORES_PRIORITY in + * @p chconf.h.
          * In order to use the Semaphores APIs the @p CH_USE_SEMAPHORES * option must be specified in @p chconf.h.

          * @file semaphores.h Semaphores macros and structures. @@ -256,6 +261,7 @@ * - Unlock: The mutex is released by the owner and the highest * priority thread waiting in the queue, if any, is resumed and made owner * of the mutex. + * * In order to use the Event APIs the @p CH_USE_MUTEXES option must be * specified in @p chconf.h.
          * @@ -320,7 +326,7 @@ /** * @defgroup Messages Messages * @{ - * Synchronous inter-thread Messages. + * Synchronous inter-thread messages. *

          Operation Mode

          * Messages are an easy to use and fast IPC mechanism, threads can both serve * messages and send messages to other threads, the mechanism allows data to @@ -360,6 +366,7 @@ * - Full duplex queue, bidirectional queue where read and write * operations can happen at the same time. Full duplex queues * are implemented by pairing an input queue and an output queue together. + * * In order to use the I/O queues the @p CH_USE_QUEUES option must * be specified in @p chconf.h.
          * In order to use the half duplex queues the @p CH_USE_QUEUES_HALFDUPLEX @@ -397,7 +404,7 @@ * The library code does not follow the same naming convention of the * system APIs in order to make very clear that it is not "core" code.
          * The main difference is that library code is not formally tested in the - * test suite but through usage in the various demo application. + * test suite but through usage in the various demo applications. */ /** @} */ -- cgit v1.2.3 From e4245075bef0e790f228d47c4dfb0380f878cf4f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 4 Feb 2009 15:18:37 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@715 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1738 ++++++++++++++++++++++++++++++++++++++++++------ docs/src/articles.dox | 1 + docs/src/portguide.dox | 114 ++++ 3 files changed, 1644 insertions(+), 209 deletions(-) create mode 100644 docs/src/portguide.dox (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d9e6a8aba..d3841aaa5 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1,253 +1,1573 @@ -# Doxyfile 1.5.7.1 +# Doxyfile 1.5.8 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "1.1.0unstable" -OUTPUT_DIRECTORY = . -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" "The $name widget" "The $name file" is provides specifies contains represents a an the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -QT_AUTOBRIEF = NO + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = ChibiOS/RT + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = 1.1.0unstable + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, +# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, +# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, +# Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = YES + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + MULTILINE_CPP_IS_BRIEF = NO -INHERIT_DOCS = NO -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 2 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -SYMBOL_CACHE_SIZE = 0 + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = NO + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 2 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it parses. +# With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this tag. +# The format is ext=language, where ext is a file extension, and language is one of +# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, +# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat +# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = NO -EXTRACT_LOCAL_CLASSES = NO -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = YES -HIDE_UNDOC_CLASSES = YES -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = NO -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = NO -SORT_BRIEF_DOCS = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST = YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = NO -SHOW_DIRECTORIES = NO -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = NO + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = YES + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by +# doxygen. The layout file controls the global structure of the generated output files +# in an output format independent way. The create the layout file that represents +# doxygen's defaults, run doxygen with the -l option. You can optionally specify a +# file name after the option, if omitted DoxygenLayout.xml will be used as the name +# of the layout file. + +LAYOUT_FILE = + #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = YES -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../docs/src ../src/lib ../ports/ARM7 ../ports/ARM7-AT91SAM7X/port.dox ../ports/ARM7-LPC214x/port.dox ../ports/ARMCM3 ../ports/ARMCM3-STM32F103/port.dox ../ports/MSP430 ../ports/AVR -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf -RECURSIVE = YES -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = ./img -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../src/include \ + ../src/templates \ + ../src \ + ../docs/ch.txt \ + ../docs/src \ + ../src/lib \ + ../ports/ARM7 \ + ../ports/ARM7-AT91SAM7X/port.dox \ + ../ports/ARM7-LPC214x/port.dox \ + ../ports/ARMCM3 \ + ../ports/ARMCM3-STM32F103/port.dox \ + ../ports/MSP430 \ + ../ports/AVR + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.ddf + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = ./img + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = NO + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = NO + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = NO + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = NO + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -HTML_DYNAMIC_SECTIONS = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -GENERATE_QHP = NO -QCH_FILE = -QHP_NAMESPACE = org.doxygen.Project -QHP_VIRTUAL_FOLDER = doc -QHG_LOCATION = -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = YES -TREEVIEW_WIDTH = 250 -FORMULA_FONTSIZE = 10 + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER +# are set, an additional index file will be generated that can be used as input for +# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated +# HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. +# For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's +# filter section matches. +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to FRAME, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. Other possible values +# for this tag are: HIERARCHIES, which will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list; +# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which +# disables this behavior completely. For backwards compatibility with previous +# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE +# respectively. + +GENERATE_TREEVIEW = YES + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ \ + CH_USE_WAITEXIT \ + CH_USE_SEMAPHORES \ + CH_USE_SEMSW \ + CH_USE_SEMAPHORES_TIMEOUT \ + CH_USE_MUTEXES \ + CH_USE_CONDVARS \ + CH_USE_CONDVARS_TIMEOUT \ + CH_USE_EVENTS \ + CH_USE_EVENTS_TIMEOUT \ + CH_USE_EXIT_EVENT \ + CH_USE_QUEUES \ + CH_USE_QUEUES_TIMEOUT \ + CH_USE_QUEUES_HALFDUPLEX \ + CH_USE_SERIAL_FULLDUPLEX \ + CH_USE_SERIAL_HALFDUPLEX \ + CH_USE_HEAP \ + CH_USE_MEMPOOLS \ + CH_USE_MESSAGES \ + CH_USE_MESSAGES_EVENT \ + CH_USE_DEBUG \ + CH_USE_TRACE \ + CH_USE_DYNAMIC \ + CH_USE_ROUNDROBIN + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = NO + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 8 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = NO + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = NO + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 20 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 3 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = YES + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = __DOXYGEN__ CH_USE_WAITEXIT CH_USE_SEMAPHORES CH_USE_SEMSW CH_USE_SEMAPHORES_TIMEOUT CH_USE_MUTEXES CH_USE_CONDVARS CH_USE_CONDVARS_TIMEOUT CH_USE_EVENTS CH_USE_EVENTS_TIMEOUT CH_USE_EXIT_EVENT CH_USE_QUEUES CH_USE_QUEUES_TIMEOUT CH_USE_QUEUES_HALFDUPLEX CH_USE_SERIAL_FULLDUPLEX CH_USE_SERIAL_HALFDUPLEX CH_USE_HEAP CH_USE_MEMPOOLS CH_USE_MESSAGES CH_USE_MESSAGES_EVENT CH_USE_DEBUG CH_USE_TRACE CH_USE_DYNAMIC CH_USE_ROUNDROBIN -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES -DOT_FONTNAME = FreeSans -DOT_FONTSIZE = 8 -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = YES -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = NO -CALL_GRAPH = YES -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = NO -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 20 -MAX_DOT_GRAPH_DEPTH = 3 -DOT_TRANSPARENT = YES -DOT_MULTI_TARGETS = YES -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO +# Options related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 59350b732..61080f196 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -21,6 +21,7 @@ * @page articles Articles * @{ * ChibiOS/RT Articles and Code Examples: + * - @subpage article_portguide * - @subpage article_atomic * - @subpage article_saveram * - @subpage article_interrupts diff --git a/docs/src/portguide.dox b/docs/src/portguide.dox new file mode 100644 index 000000000..57216885d --- /dev/null +++ b/docs/src/portguide.dox @@ -0,0 +1,114 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_portguide Porting ChibiOS/RT for Dummies + * @{ + * Porting the operating system on a new platform is one of the most common + * tasks. The difficulty can range from easy to very difficult depending + * on several factors.
          + * We can divide in problem in several classes of progressively increasing + * difficulty: + * - @ref port_board + * - @ref port_family + * - @ref port_chip + * - @ref port_core + * . + * Another kind of port type is porting to another compiler and this is an + * added complexity level on the above classes. The kernel itself is portable + * but the port-specific code usually contains compiler specific extensions to + * the C language and the asm files syntax is almost never compatible. + * + * @section port_board Porting the OS to a new board + * This is the easiest port type, the scenario is that the specific + * microcontroller is already supported and a demo exists. This scenario also + * applies when porting the OS on a custom hardware using a supported + * microcontroller. This task can be easily performed with the following + * steps: + * -# Create a new directory under the ChibiOS/RT installation directory: + * ./projects/@ + * -# Copy the microcontroller demo code under the newly created directory. + * -# Customize the demo. Usually there are only four files that need to + * be modified: + * - @p board.h This file contains the I/O pins setup for the uC, it + * may also contain other board-dependent settings, as example, clock and + * PLL settings. Customize this file depending on your target hardware. + * - @p board.c This file contains the initialization code, it is possible + * you just need to customize @p board.h and not this file. If you have + * some hardware specific initialization code then put it here. + * - @p Makefile You may edit this file in order to remove the test related + * sources and/or add you application source files. + * - @p main.c It contains the demo simple code, clean it and write your + * own @p main() function here, use this file just as a template. + * -# Compile your application and debug. + * . + * @section port_family Porting the OS to a closely related microcontroller + * In this scenario all the above steps are required but an analysis must + * be performed to evaluate the differences between from the supported micro + * and the target micro. Often the micros just differ for the memory area + * sizes and a change to the linker script is enough (the file is usually + * named @p ch.ld). Chips having more or less peripherals, everything else + * being the same or compatible are not a problem also as long the timer and + * the serial peripherals used by the port do not change.
          + * If there are differences in the internal peripherals, as example non + * compatible interrupt controllers (this happens in the LPC2000 family) + * or differences in UARTS, timers etc then the port falls in the following + * category. + * + * @section port_chip Porting the OS to another microcontroller using the same core + * This kind of port is required when a target microcontroller has the same + * core (a common example: ARM7) of a supported microcontroller but has + * differences in the internal peripherals.
          + * If this is your case proceed as follow: + * -# Create a new directory under @p ./ports and name it as follow: + * @-@[-@] + * The compiler part can be omitted if the port uses GCC (our default). + * Examples: @p ARM7-LPC236x or @p ARMCM3-STM32F103-IAR + * -# Copy into the newly created directory the most closely related existing + * chip port. + * -# Rename the files in order to reflect the name of the new chip. + * -# Work out the differences in the drivers. + * -# Edit the documentation file @p port.dox, this is required if you want + * to regenerate this documentation including your work. + * . + * Usually this kind of port just requires a serial driver (and those are very + * similar each other) and some code for the interrupt controller (this one + * can be part of the core port, as example the Cortex-M3 has this as standard + * part of the core).
          + * When the chip port is completed created your application as seen in the + * previous sections. + * + * @section port_core Porting the OS to a whole new architecture + * This is the hardest scenario, the time required by core ports depends + * strongly by the target architecture complexity and the level of support you + * need for the architecture specific features.
          + * As a reference, the MSP430 port took me 2 hours and it worked at the first + * run, it can be a reference for simple architectures, the ARM Cortex-M3 was + * painful instead, the architecture enforces you to implement things in a very + * specific way and I spent 2 week to go through all the documentation and + * figure out the correct way to implement the port (you can see that the + * preemption context switch is done in a very peculiar way because the + * exceptions architecture).
          + * One thing is sure, port an OS to a new architecture is not an easy task and + * if you have the required experience for such an effort then probably you + * don't need any advice from me. Just follow the directory patterns and fill + * the OS template files, the hardest part is decide the correct and efficient + * way to implement the context switching. + */ +/** @} */ -- cgit v1.2.3 From 37f18c5818832fe6d9e8389bea01ecd13598668a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 4 Feb 2009 20:22:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@716 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 40 ---------------------------------------- 1 file changed, 40 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 5e2fd2077..4a0ab9e0c 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -88,7 +88,6 @@ /** * @defgroup Kernel Kernel * @{ - * @file ch.h ChibiOS/RT main include file, it includes everything else. */ /** @} */ @@ -97,7 +96,6 @@ * @{ * In @p chconf.h are defined the required subsystems for your application. * @ingroup Kernel - * @file chconf.h ChibiOS/RT configuration file. */ /** @} */ @@ -106,8 +104,6 @@ * @{ * Non portable code templates. * @ingroup Kernel - * @file src/templates/chcore.c Non portable code template file. - * @file src/templates/chcore.h Non portable macros and structures template file. */ /** @} */ @@ -116,7 +112,6 @@ * @{ * System types and macros. * @ingroup Kernel - * @file templates/chtypes.h System types and code modifiers. */ /** @} */ @@ -126,8 +121,6 @@ * Initialization, Locks, Interrupt Handling, Power Management, Abnormal * Termination. * @ingroup Kernel - * @file sys.h System related macros and structures. - * @file chsys.c System related code. */ /** @} */ @@ -136,7 +129,6 @@ * @{ * System inline-able code. * @ingroup Kernel - * @file inline.h Inline versions of some critical system routines. */ /** @} */ @@ -145,8 +137,6 @@ * @{ * Debug APIs and procedures. * @ingroup Kernel - * @file debug.h Debug macros and structures. - * @file chdebug.c ChibiOS/RT Debug code. */ /** @} */ @@ -155,8 +145,6 @@ * @{ * ChibiOS/RT scheduler. * @ingroup Kernel - * @file chschd.c Scheduler code. - * @file scheduler.h Scheduler macros and structures. */ /** @} */ @@ -165,8 +153,6 @@ * @{ * ChibiOS/RT thread lists and queues utilities. * @ingroup Kernel - * @file chlists.c Lists and queues code. - * @file lists.h Lists and queues macros and structures. */ /** @} */ @@ -174,8 +160,6 @@ * @defgroup Threads Threads * @{ * Threads creation and termination APIs. - * @file threads.h Threads structures, macros and functions. - * @file chthreads.c Threads code. */ /** @} */ @@ -183,8 +167,6 @@ * @defgroup Time Time and Virtual Timers * @{ * Time and Virtual Timers related APIs. - * @file include/vt.h Time macros and structures. - * @file chvt.c Time functions. */ /** @} */ @@ -201,8 +183,6 @@ * instead of the system provided allocator.
          * In order to use the heap APIs the @p CH_USE_HEAP option must be specified * in @p chconf.h. - * @file include/heap.h Heap macros and structures. - * @file chheap.c Heap functions. */ /** @} */ @@ -215,8 +195,6 @@ * constant time and reliably without memory fragmentation problems.
          * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be * specified in @p chconf.h. - * @file include/mempools.h Memory Pools macros and structures. - * @file chmempools.c Memory Pools functions. */ /** @} */ @@ -243,8 +221,6 @@ * @p chconf.h.
          * In order to use the Semaphores APIs the @p CH_USE_SEMAPHORES * option must be specified in @p chconf.h.

          - * @file semaphores.h Semaphores macros and structures. - * @file chsem.c Semaphores code. */ /** @} */ @@ -280,8 +256,6 @@ * priority was not already equal or higher). The mechanism works with any * number of nested mutexes and any number of involved threads. The algorithm * complexity (worst case) is N with N equal to the number of nested mutexes. - * @file mutexes.h Mutexes macros and structures. - * @file chmtx.c Mutexes functions. */ /** @} */ @@ -295,8 +269,6 @@ * a Monitor construct.
          * In order to use the Condition Variables APIs the @p CH_USE_CONDVARS * option must be specified in @p chconf.h.

          - * @file condvars.h Condition Variables macros and structures. - * @file chcond.c Condition Variables code. */ /** @} */ @@ -318,8 +290,6 @@ * thread invokes a @p chEvtWaitXXX().
          * In order to use the Event APIs the @p CH_USE_EVENTS option must be * specified in @p chconf.h. - * @file events.h Events macros and structures. - * @file chevents.c Events functions. */ /** @} */ @@ -341,8 +311,6 @@ * queue header).
          * In order to use the Messages APIs the @p CH_USE_MESSAGES option must be * specified in @p chconf.h. - * @file messages.h Messages macros and structures. - * @file chmsg.c Messages functions. */ /** @} */ @@ -371,8 +339,6 @@ * be specified in @p chconf.h.
          * In order to use the half duplex queues the @p CH_USE_QUEUES_HALFDUPLEX * option must be specified in @p chconf.h. - * @file queues.h I/O Queues macros and structures. - * @file chqueues.c I/O Queues code. */ /** @} */ @@ -389,8 +355,6 @@ * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h.
          * In order to use the serial half duplex driver the * @p CH_USE_SERIAL_HALFDUPLEX option must be specified in @p chconf.h. - * @file serial.h Serial Drivers macros and structures. - * @file chserial.c Serial Drivers code. */ /** @} */ @@ -415,8 +379,6 @@ * from C++ as classes and objects rather the traditional "C" APIs. * * @ingroup utilities_library - * @file ch.hpp C++ wrapper classes and definitions. - * @file ch.cpp C++ wrapper code. */ /** @} */ @@ -429,8 +391,6 @@ * Multiple threads can listen to the same timer. * * @ingroup utilities_library - * @file evtimer.c Events Generator Timer code. - * @file evtimer.h Events Generator Timer structures and macros. */ /** @} */ -- cgit v1.2.3 From 7a74a8aca5c7edf2f86015acab8fb7297c670072 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 4 Feb 2009 21:17:02 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@718 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 +++ 1 file changed, 3 insertions(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d3841aaa5..7b5b62bac 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -580,9 +580,12 @@ INPUT = ../src/include \ ../docs/src \ ../src/lib \ ../ports/ARM7 \ + ../ports/ARM7/crt0.s \ + ../ports/ARM7/chcoreasm.s \ ../ports/ARM7-AT91SAM7X/port.dox \ ../ports/ARM7-LPC214x/port.dox \ ../ports/ARMCM3 \ + ../ports/ARMCM3/crt0.s \ ../ports/ARMCM3-STM32F103/port.dox \ ../ports/MSP430 \ ../ports/AVR -- cgit v1.2.3 From 9869b77a9a8af56192e4bcf65b70757bb12ca514 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 5 Feb 2009 21:26:18 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@723 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 19 ++++++++++--------- docs/src/articles.dox | 1 + docs/src/concepts.dox | 9 +++++---- docs/src/interrupts.dox | 1 + docs/src/jitter.dox | 4 ++-- docs/src/licfaq.dox | 2 +- 6 files changed, 20 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 4a0ab9e0c..57cb502dc 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -37,11 +37,11 @@ * - Asynchronous, using event sources. * - Mix of the above models, multiple threads listening to multiple event * sources while serving message queues. - * - PC simulator target included, the development can be done on the PC - * using MinGW.
          - * Timers, I/O channels and other HW resources are simulated in a - * Win32 process and the application code does not need to be aware of it. - * MinGW demo available. + * - PC simulator target included, the development can be done on the PC + * using MinGW.
          + * Timers, I/O channels and other HW resources are simulated in a + * Win32 process and the application code does not need to be aware of it. + * MinGW demo available. * - Preemptive scheduling. * - 128 priority levels. * - Multiple threads at the same priority level allowed. @@ -70,11 +70,12 @@ * - Small memory footprint, unused subsystems can be excluded by the * memory image. * - Almost totally written in C with little ASM code required for ports. - * + * . *

          Related pages

          * - @subpage lic_faq * - @subpage concepts * - @subpage articles + * . */ /** @@ -212,7 +213,7 @@ * becomes negative the thread is queued in the semaphore and suspended. * - Reset: The semaphore counter is reset to a non-negative value * and all the threads in the queue are released. - * + * . * Semaphores can be used as guards for mutual exclusion code zones (note that * mutexes are recommended for this kind of use) but also have other uses, * queues guards and counters as example.
          @@ -237,7 +238,7 @@ * - Unlock: The mutex is released by the owner and the highest * priority thread waiting in the queue, if any, is resumed and made owner * of the mutex. - * + * . * In order to use the Event APIs the @p CH_USE_MUTEXES option must be * specified in @p chconf.h.
          * @@ -334,7 +335,7 @@ * - Full duplex queue, bidirectional queue where read and write * operations can happen at the same time. Full duplex queues * are implemented by pairing an input queue and an output queue together. - * + * . * In order to use the I/O queues the @p CH_USE_QUEUES option must * be specified in @p chconf.h.
          * In order to use the half duplex queues the @p CH_USE_QUEUES_HALFDUPLEX diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 61080f196..a14a7285b 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -27,5 +27,6 @@ * - @subpage article_interrupts * - @subpage article_jitter * - @subpage article_timing + * . */ /** @} */ diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 9c0a1d9c2..360e5f4f2 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -37,6 +37,7 @@ * I-Locked or S-Locked states. See @ref system_states. * - @anchor S-Class "S", S-Class APIs are invokable only from the * S-Locked state. See @ref system_states. + * . * Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout(). * * @section interrupt_classes Interrupt Classes @@ -57,7 +58,7 @@ * - Non Maskable Interrupts. Non maskable interrupt sources are * totally out of the operating system control and have the lowest latency. * Such sources are not supported on all the architectures. - * + * . * The mapping of the above logical classes into physical interrupts priorities * is, of course, port dependent. See the documentation of the various ports * for details. @@ -98,7 +99,7 @@ * an infinite loop. This state can be reached if the debug mode is activated * and an error is detected or after explicitly invoking * @p chSysHalt(). - * + * . * Note that the above state are just Logical States that may have no * real associated machine state on some architectures. The following diagram * shows the possible transitions between the states: @@ -216,7 +217,7 @@ * @p HIGHPRIO but the numerical values above @p HIGHPRIO up to @p ABSPRIO * (inclusive) are reserved. This is the highest numerical value of the * priorities space. - * + * . * @section warea Thread Working Area * Each thread has its own stack, a Thread structure and some preemption * areas. All the structures are allocated into a "Thread Working Area", @@ -233,7 +234,7 @@ * - External Context. * - Interrupt Stack. * - Internal Context. - * + * . * See the @ref Core documentation for details, the area may change on * the various ports and some structures may not be present (or be zero-sized). */ diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index 1b3932078..679eb8884 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -48,6 +48,7 @@ CH_IRQ_HANDLER(myIRQ) { *

          Important Notes

          * - There is an important application note about ARM7 interrupt handlers, * please read about it in the ARM7 port section: @ref ARM7_IH + * . */ /** @} */ \ No newline at end of file diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index 3e2ec1cb4..d0215abb2 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -37,7 +37,7 @@ * - OS overhead. Any operating system requires to run some extra code * in interrupt handlers in order to handle correct preemption and Context * Switching. - * + * . *

          Interrupt Response Time

          * The Interrupt Response Time is the time from an interrupt event and the * execution of the handler code. Unfortunately this time is not constant @@ -67,7 +67,7 @@ * can be preempted by higher priority sources. * - Longest time in a kernel lock zone that can delay interrupt servicing. * This value is zero for fast interrupt sources, see @ref system_states. - * + * . *

          Threads Flyback Time

          * This is the time between an event, as example an interrupt, and the * execution of the thread that will process it. Imagine the following diff --git a/docs/src/licfaq.dox b/docs/src/licfaq.dox index afe0fa687..f3bf3c3a1 100644 --- a/docs/src/licfaq.dox +++ b/docs/src/licfaq.dox @@ -43,7 +43,7 @@ * - I don't want to be bound by any of the above restriction, is this * possible?
          * You may contact us about a commercial license. - * + * . * @section exception_text GPL Exception Text
          GPL Exception Text
          -- cgit v1.2.3 From 1ddd49eec7be60413d5054937ee1a1c001842769 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 6 Feb 2009 17:40:24 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@725 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 7b5b62bac..1b11e4d16 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -583,10 +583,10 @@ INPUT = ../src/include \ ../ports/ARM7/crt0.s \ ../ports/ARM7/chcoreasm.s \ ../ports/ARM7-AT91SAM7X/port.dox \ - ../ports/ARM7-LPC214x/port.dox \ + ../ports/ARM7-LPC214x \ ../ports/ARMCM3 \ ../ports/ARMCM3/crt0.s \ - ../ports/ARMCM3-STM32F103/port.dox \ + ../ports/ARMCM3-STM32F103 \ ../ports/MSP430 \ ../ports/AVR -- cgit v1.2.3 From 77df449498effbd6083e82920bb2705fdee16343 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 6 Feb 2009 20:34:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@728 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1302 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 651 insertions(+), 651 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 1b11e4d16..143360dc9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -14,76 +14,76 @@ # Project related configuration options #--------------------------------------------------------------------------- -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = ChibiOS/RT -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 1.1.0unstable -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = . -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, +# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, +# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, # Spanish, Swedish, and Ukrainian. OUTPUT_LANGUAGE = English -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = "The $name class" \ @@ -98,202 +98,202 @@ ABBREVIATE_BRIEF = "The $name class" \ an \ the -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = NO -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO -# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 2 -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. -ALIASES = +ALIASES = -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), +# Doxygen selects the parser to use depending on the extension of the files it parses. +# With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this tag. +# The format is ext=language, where ext is a file extension, and language is one of +# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, +# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat +# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C -EXTENSION_MAPPING = +EXTENSION_MAPPING = -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO -# If you use Microsoft's C++/CLI language, you should set this option to YES to +# If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 @@ -302,275 +302,275 @@ SYMBOL_CACHE_SIZE = 0 # Build related configuration options #--------------------------------------------------------------------------- -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO -# If the EXTRACT_STATIC tag is set to YES all static members of a file +# If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = NO -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = YES -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = YES -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = NO -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES -# The ENABLED_SECTIONS tag can be used to enable conditional +# The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. -ENABLED_SECTIONS = +ENABLED_SECTIONS = -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = NO -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by +# doxygen. The layout file controls the global structure of the generated output files +# in an output format independent way. The create the layout file that represents +# doxygen's defaults, run doxygen with the -l option. You can optionally specify a +# file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. -LAYOUT_FILE = +LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- -# The QUIET tag can be used to turn on/off the messages that are generated +# The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = YES -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = YES -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written # to stderr. -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src/include \ @@ -582,7 +582,7 @@ INPUT = ../src/include \ ../ports/ARM7 \ ../ports/ARM7/crt0.s \ ../ports/ARM7/chcoreasm.s \ - ../ports/ARM7-AT91SAM7X/port.dox \ + ../ports/ARM7-AT91SAM7X \ ../ports/ARM7-LPC214x \ ../ports/ARMCM3 \ ../ports/ARMCM3/crt0.s \ @@ -590,19 +590,19 @@ INPUT = ../src/include \ ../ports/MSP430 \ ../ports/AVR -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = *.c \ @@ -634,87 +634,87 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = +EXCLUDE = -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* -EXCLUDE_PATTERNS = +EXCLUDE_PATTERNS = -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test -EXCLUDE_SYMBOLS = +EXCLUDE_SYMBOLS = -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = +EXAMPLE_PATH = -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = * -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = ./img -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. -INPUT_FILTER = +INPUT_FILTER = -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. -FILTER_PATTERNS = +FILTER_PATTERNS = -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO @@ -723,53 +723,53 @@ FILTER_SOURCE_FILES = NO # configuration options related to source browsing #--------------------------------------------------------------------------- -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES -# Setting the INLINE_SOURCES tag to YES will include the body +# Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = NO -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = NO -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = NO @@ -778,238 +778,238 @@ VERBATIM_HEADERS = NO # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a # standard header. -HTML_HEADER = +HTML_HEADER = -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a # standard footer. -HTML_FOOTER = +HTML_FOOTER = -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! -HTML_STYLESHEET = +HTML_STYLESHEET = -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. GENERATE_DOCSET = NO -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be # written to the html output directory. -CHM_FILE = +CHM_FILE = -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. -HHC_LOCATION = +HHC_LOCATION = -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO -# The TOC_EXPAND flag can be set to YES to add extra items for group members +# The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER +# are set, an additional index file will be generated that can be used as input for +# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # HTML documentation. GENERATE_QHP = NO -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. -QCH_FILE = +QCH_FILE = -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. +# For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters -QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_NAME = -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see # Qt Help Project / Custom Filters. -QHP_CUST_FILTER_ATTRS = +QHP_CUST_FILTER_ATTRS = -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's +# filter section matches. # Qt Help Project / Filter Attributes. -QHP_SECT_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. -QHG_LOCATION = +QHG_LOCATION = -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO -# This tag can be used to set the number of enum values (range [1..20]) +# This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to FRAME, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. Other possible values +# for this tag are: HIERARCHIES, which will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list; +# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which +# disables this behavior completely. For backwards compatibility with previous +# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE # respectively. GENERATE_TREEVIEW = YES -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 @@ -1018,74 +1018,74 @@ FORMULA_FONTSIZE = 10 # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. -EXTRA_PACKAGES = +EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! -LATEX_HEADER = +LATEX_HEADER = -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO @@ -1094,68 +1094,68 @@ LATEX_HIDE_INDICES = NO # configuration options related to the RTF output #--------------------------------------------------------------------------- -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. -RTF_STYLESHEET_FILE = +RTF_STYLESHEET_FILE = -# Set optional variables used in the generation of an rtf document. +# Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. -RTF_EXTENSIONS_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man -# The MAN_EXTENSION tag determines the extension that is added to +# The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO @@ -1164,33 +1164,33 @@ MAN_LINKS = NO # configuration options related to the XML output #--------------------------------------------------------------------------- -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_SCHEMA = +XML_SCHEMA = -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_DTD = +XML_DTD = -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES @@ -1199,10 +1199,10 @@ XML_PROGRAMLISTING = YES # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO @@ -1211,82 +1211,82 @@ GENERATE_AUTOGEN_DEF = NO # configuration options related to the Perl module output #--------------------------------------------------------------------------- -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by # the preprocessor. -INCLUDE_PATH = +INCLUDE_PATH = -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. -INCLUDE_FILE_PATTERNS = +INCLUDE_FILE_PATTERNS = -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = __DOXYGEN__ \ @@ -1314,254 +1314,254 @@ PREDEFINED = __DOXYGEN__ \ CH_USE_DYNAMIC \ CH_USE_ROUNDROBIN -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. -TAGFILES = +TAGFILES = -# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. -GENERATE_TAGFILE = +GENERATE_TAGFILE = -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES -# The PERL_PATH should be the absolute path and name of the perl script +# The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = NO -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. -MSCGEN_PATH = +MSCGEN_PATH = -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 8 -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. -DOT_FONTPATH = +DOT_FONTPATH = -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES -# If set to YES, the inheritance and collaboration graphs will show the +# If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = NO -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = NO -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = YES -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = NO -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png -# The tag DOT_PATH can be used to specify the path where the dot tool can be +# The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. -DOT_PATH = +DOT_PATH = -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the # \dotfile command). -DOTFILE_DIRS = +DOTFILE_DIRS = -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 20 -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 3 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = YES -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = YES -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES @@ -1570,7 +1570,7 @@ DOT_CLEANUP = YES # Options related to the search engine #--------------------------------------------------------------------------- -# The SEARCHENGINE tag specifies whether or not a search engine should be +# The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO -- cgit v1.2.3 From 50bebb29768a76567c9540c9f236d8ad22c86d60 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 11 Feb 2009 19:37:57 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@752 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 13 +-- docs/src/articles.dox | 3 +- docs/src/goals.dox | 88 ++++++++++++++++++++ docs/src/mutualexcl.dox | 213 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 307 insertions(+), 10 deletions(-) create mode 100644 docs/src/goals.dox create mode 100644 docs/src/mutualexcl.dox (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 57cb502dc..2bf0721ec 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -46,16 +46,10 @@ * - 128 priority levels. * - Multiple threads at the same priority level allowed. * - Round robin scheduling for threads at the same priority level. - * - Unlimited number of threads. - * - Unlimited number of virtual timers. - * - Unlimited number of semaphores. - * - Unlimited number of mutexes. - * - Unlimited number of condvars. - * - Unlimited number of event sources. - * - Unlimited number of messages in queue. - * - Unlimited number of I/O queues. + * - Offers threads, virtual timers, semaphores, mutexes, condvars, + * event flags, messages, I/O queues. * - No static setup at compile time, there is no need to configure a maximum - * number of all the above resources. + * number of all the above objects. * - No *need* for a memory allocator, all the kernel structures are static * and declaratively allocated. * - Threads, Semaphores, Event Sources, Virtual Timers creation/deletion at @@ -73,6 +67,7 @@ * . *

          Related pages

          * - @subpage lic_faq + * - @subpage goals * - @subpage concepts * - @subpage articles * . diff --git a/docs/src/articles.dox b/docs/src/articles.dox index a14a7285b..590efdda7 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -21,12 +21,13 @@ * @page articles Articles * @{ * ChibiOS/RT Articles and Code Examples: - * - @subpage article_portguide + * - @subpage article_mutual_exclusion * - @subpage article_atomic * - @subpage article_saveram * - @subpage article_interrupts * - @subpage article_jitter * - @subpage article_timing + * - @subpage article_portguide * . */ /** @} */ diff --git a/docs/src/goals.dox b/docs/src/goals.dox new file mode 100644 index 000000000..4df7eaba7 --- /dev/null +++ b/docs/src/goals.dox @@ -0,0 +1,88 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page goals Project Goals + * @{ + *

          Another RTOS?

          + * The first question to be answered is: there was really the need for YET + * ANOTHER RTOS?
          + * My answer is yes because various reasons: + * - The ChibiOS/RT ancestor was created more than 15 years ago and while it + * had far less features than the current product it was complete and + * functioning. ChibiOS/RT is just a new (and silly) name given to + * something created when there were not many free RTOSes around (actually + * none, at least none in my knowledge, there was no widespread Internet + * at that time). + * - When, after a while, I needed a RTOS again, none of the existing FOSS + * projects met my expectations or my ideas of how a RTOS should be, not + * even close (see below). I decided that work on that old project was + * a better idea that contribute to, or fork, something else. + * - I wanted another toy. + * . + *

          Why is it different?

          + * In itself it implements ideas already seen in other projects but never + * all together in a single FOSS project. There are some basic choices in + * ChibiOS/RT (mostly derived by its ancestor): + * + *

          Static design

          + * Everything in the kernel is static, nowhere memory is allocated or freed, + * there are two allocator subsystems but those are options and not part of + * core OS. Safety is something you design in, not something you can add later. + * + *

          No fixed size tables or structures

          + * No tables to configure, no arrays that can be filled and overflow at + * runtime. Everything without practical upper bounds (except for resource + * limits and numerical upper bounds of course). + * + *

          No error conditions and no error checks

          + * All the API should not have error conditions, all the previous points are + * finalized to this objective. Everything you can invoke in the kernel is + * designed to not fail unless you pass garbage as parameters, stray pointers + * or such. Also the APIs are not slowed down by error checks, error checks + * exists but only when the debug switch is activated.
          + * All the static core APIs always succeed if correct parameters are passed. + * + *

          Very simple APIs

          + * Every API should have the parameters you would expect for that function, no + * more no less. Each API should do a single thing with no options. + * + *

          Damn fast and compact

          + * Note first "fast" then "compact", the focus is on speed and execution + * efficiency rather than code size. This does not mean it is large, the OS + * with all the subsystems activated is well below 8KiB (32bit ARM code, the + * least space efficient) and can shrink down below 2KiB. It would be + * possible to make something smaller but: + * -# It would be pointless, it @a is already small. + * -# I would not sacrifice efficiency or features in order to save few bytes. + * . + * About the "fast" part, it is able to start/wait/exit more than 200,000 + * threads per second on a 72MHz STM32 (Cortex-M3). The Context Switch just + * takes 2.3 microseconds on the same STM32. The numbers are not + * pulled out of thin air, it is the output of the included test suite. + * + *

          Tests and metrics

          + * I think it is nice to know how an OS is tested and how it performs before + * committing to use it. Test results on all the supported platforms and + * performance metrics are included in each ChibiOS/RT release. The test + * code is released as well, all the included demos are capable of executing + * the test suite and the OS benchmarks. + */ +/** @} */ + \ No newline at end of file diff --git a/docs/src/mutualexcl.dox b/docs/src/mutualexcl.dox new file mode 100644 index 000000000..367618d5d --- /dev/null +++ b/docs/src/mutualexcl.dox @@ -0,0 +1,213 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_mutual_exclusion Mutual Exclusion guide + * @{ + * The most common problem when writing multithreaded code is the + * synchronization on the shared resources/services.
          + * ChibiOS/RT offers a rich variety of mechanisms that apparently solve the + * same problem. I wrote apparently because each mechanism has its pro and + * cons. + * This article will introduce the various mechanisms and the explain the + * right scenarios for each one. + * + *

          Basics

          + * Some of the concepts mentioned in this article can be found in the + * following Wikipedia articles: + * - + * Mutual Exclusion + * - + * Priority Inversion + * - Priority Inheritance + * - + * Priority Ceiling + * . + *

          Mutual exclusion by System Locks

          + * This is the lowest level mechanism, the system is locked by invoking the + * @p chSysLock() API and then unlocked by invoking @p chSysUnlock().
          + * The implementation is architecture dependent but it is guaranteed to, at + * least, disable the interrupt sources with hardware priority below or equal + * the kernel level. + * + *

          Advantages

          + * - It is the lightest as execution time, often a lock or unlock becomes just a + * single inlined assembler instruction. + * - It ensures mutual exclusion among threads but also interrupt handling code. + * - The implementation would ensure mutual exclusion even on multicore + * architectures where multiple hardware threads are present. + * . + *

          Disadvantages

          + * - Disabling interrupts for a long period of time can deteriorate the overall + * system response time and/or introduce jitter. + * . + *

          When use Locks

          + * - When mutual exclusion with interrupt handlers is required. + * - When the operation within the lock zone is very simple and has finite + * time. + * . + *

          Example

          + * @code + * ... + * chSysLock(); + * /* Protected code */ + * chSysUnlock(); + * ... + * @endcode + * + *

          Mutual exclusion by Semaphores

          + * In ChibiOS/RT the counting semaphores are mainly meant as a + * synchronization mechanism between interrupt handlers and high level code + * running at thread level. Usually a thread waits on a semaphore that is + * signaled asynchronously by an interrupt handler.
          + * The semaphores can, however, be used as simple mutexes by initializing + * counter to one. + * + *

          Advantages

          + * - The semaphores code is "already there" if you use the I/O queues and + * you don't want to enable the mutexes too because space constraints. + * - Semaphores are lighter than mutexes because their queues are FIFO + * ordered and do not have any overhead caused by the priority inheritance + * algorithm. + * - A semaphore takes less RAM than a mutex (12 vs 16 bytes on 32 bit + * architectures). + * . + *

          Disadvantages

          + * - Semaphore queues are FIFO ordered by default, an option exist to make + * them priority ordered but this can impact I/O performance because + * semaphores are used in I/O queues. + * - Semaphores do not implement the priority inheritance algorithm so the + * priority inversion problem is not mitigated. + * . + *

          When use Semaphores

          + * - When you don't need queuing by priority nor the priority inheritance + * algorithm. + * - When RAM/ROM space is scarce. + * . + *

          Example

          + * @code + * static Semaphore sem; /* Semaphore declaration */ + * ... + * chSemInit(&sem, 1); /* Semaphore initialization before use */ + * ... + * chSemWait(&sem); + * /* Protected code */ + * chSemSignal(&sem); + * ... + * @endcode + * + *

          Mutual exclusion by Mutexes

          + * The mutexes, also known as binary semaphores (we choose to not use this + * terminology to avoid confusion with counting semaphores), are the mechanism + * intended as general solution for the mutual exclusion problem. + * + *

          Advantages

          + * - Mutexes implement the Priority Inheritance algorithm that is an important + * tool in reducing jitter and improve overall system response time (it is + * not a magic solution, just a tool for the system designer). + * . + *

          Disadvantages

          + * - Heaviest among all the possible choices. The Priority Inheritance method + * is efficiently implemented but nothing is more efficient than no code at + * all. + * . + *

          When use Mutexes

          + * - When you are designing a very complex system with hard realtime + * requirements. + * . + *

          Example

          + * @code + * static Mutex mtx; /* Mutex declaration */ + * ... + * chMtxInit(&mtx); /* Mutex initialization before use */ + * ... + * chMtxLock(&mtx); + * /* Protected code */ + * chMtxUnlock(); + * ... + * @endcode + * + *

          Mutual exclusion by priority boost

          + * Another way to implement mutual exclusion is to boost the thread priority + * to a level higher than all of the threads competing for a certain resource. + * This solution effectively implements an Immediate Priority Ceiling + * algorithm. + * + *

          Advantages

          + * - Almost free as code size, you need no semaphores nor mutexes. + * - No RAM overhead. + * - Fast execution, priority change is a quick operation under ChibiOS/RT. + * - The priority ceiling protocol that can help mitigate the Priority + * Inversion problem. + * . + *

          Disadvantages

          + * - Makes the design more complicated because priorities must be assigned to + * not just threads but also assigned to the resources to be protected. + * - Locking a resource affects all the threads with lower priority even if + * not interested to the resource. + * - All the threads that can access the resource must have lower priority + * than the resource itself. + * - The mechanism is not easy to understand in the code unless it is clearly + * documented. + * - This method does not work in on multicore architectures where multiple + * hardware threads are present. + * - Only useful in very simple applications. + * . + *

          Example

          + * @code + * /* Priority assigned to the resource, threads must have lower + * priority than this.*/ + * #define AAA_RESOURCE_PRIORITY NORMALPRIO+10 + * ... + * /* Locks the resources AAA.*/ + * tprio_t aaa_old_prio = chThdSetPriority(AAA_RESOURCE_PRIORITY); + * /* Accessing resource AAA */ + * chThdSetPriority(aaa_old_prio); /* Unlocks AAA.*/ + * ... + * @endcode + * + *

          Mutual exclusion by message passing

          + * Another method is to make a single dedicated thread execute the critical + * code and make it work as a messages server. The other threads can request + * the service to the server by sending a properly formatted message and + * then wait for the answer with the result.
          + * This method is very useful when integrating into the system components not + * designed to be reentrant or to be executed in a multithreaded environment, + * as example a 3rd part file system or a networking protocol stack. + * + *

          Advantages

          + * - It is possible to encapsulate very complex logic without worry about + * about concurrent accesses. + * - If the encapsulate code uses a large stack area only the server thread + * have to allocate enough RAM, the client threads save RAM by just + * requesting the service to the server. + * - Clean system architecture. + * - This method also implements a form of Priority Ceiling. The ceiling is + * the priority of the server thread itself. + * . + *

          Disadvantages

          + * - More complex implementation, a protocol must be created between clients + * and server. + * - Two context switches are required for each request to the server (but + * ChibiOSRT is very efficient at that). + * - Requires a dedicated thread. + * . + */ +/** @} */ -- cgit v1.2.3 From 8486b10c8ff5989c37f92ad028dc7e3ffb9846a1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 11 Feb 2009 21:05:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@753 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 25 ++++++++----------------- docs/src/goals.dox | 43 +++++++++++++++++++++++-------------------- 2 files changed, 31 insertions(+), 37 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 2bf0721ec..b62fa38ca 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -29,31 +29,24 @@ * Source Wikipedia. * *

          Features

          - * - Free software, GPL3 licensed. + * - Free software, GPL3 licensed. Stable releases include a exception clause + * to the GPL. * - Designed for realtime applications. * - Easily portable. - * - Mixed programming model: - * - Synchronous, using semaphores/mutexes/condvars and/or messages. - * - Asynchronous, using event sources. - * - Mix of the above models, multiple threads listening to multiple event - * sources while serving message queues. - * - PC simulator target included, the development can be done on the PC - * using MinGW.
          - * Timers, I/O channels and other HW resources are simulated in a - * Win32 process and the application code does not need to be aware of it. - * MinGW demo available. * - Preemptive scheduling. - * - 128 priority levels. - * - Multiple threads at the same priority level allowed. + * - 128 priority levels. Multiple threads at the same priority level allowed. * - Round robin scheduling for threads at the same priority level. * - Offers threads, virtual timers, semaphores, mutexes, condvars, * event flags, messages, I/O queues. * - No static setup at compile time, there is no need to configure a maximum * number of all the above objects. + * - PC simulator target included, the development can be done on the PC + * using MinGW.
          + * Timers, I/O channels and other HW resources are simulated in a + * Win32 process and the application code does not need to be aware of it. + * MinGW demo available. * - No *need* for a memory allocator, all the kernel structures are static * and declaratively allocated. - * - Threads, Semaphores, Event Sources, Virtual Timers creation/deletion at - * runtime. * - Optional, thread safe, Heap Allocator subsystem. * - Optional, thread safe, Memory Pools Allocator subsystem. * - Blocking and non blocking I/O channels with timeout and events generation @@ -61,8 +54,6 @@ * - Minimal system requirements: about 8KiB ROM with all options enabled and * speed optimizations on. The size can shrink under 2KiB by disabling the * the unused subsystems and optimizing for size. - * - Small memory footprint, unused subsystems can be excluded by the - * memory image. * - Almost totally written in C with little ASM code required for ports. * . *

          Related pages

          diff --git a/docs/src/goals.dox b/docs/src/goals.dox index 4df7eaba7..f0de70da7 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -23,7 +23,7 @@ *

          Another RTOS?

          * The first question to be answered is: there was really the need for YET * ANOTHER RTOS?
          - * My answer is yes because various reasons: + * There are several reasons: * - The ChibiOS/RT ancestor was created more than 15 years ago and while it * had far less features than the current product it was complete and * functioning. ChibiOS/RT is just a new (and silly) name given to @@ -37,45 +37,48 @@ * - I wanted another toy. * . *

          Why is it different?

          - * In itself it implements ideas already seen in other projects but never - * all together in a single FOSS project. There are some basic choices in - * ChibiOS/RT (mostly derived by its ancestor): + * Well, there are some design choices that should be explained and contribute + * to make ChibiOS/RT a peculiar design. Nothing really new by itself but + * the whole is interesting: * *

          Static design

          * Everything in the kernel is static, nowhere memory is allocated or freed, * there are two allocator subsystems but those are options and not part of * core OS. Safety is something you design in, not something you can add later. * - *

          No fixed size tables or structures

          - * No tables to configure, no arrays that can be filled and overflow at - * runtime. Everything without practical upper bounds (except for resource - * limits and numerical upper bounds of course). + *

          No tables or other fixed structures

          + * The kernel has no internal tables, there is nothing that must be configured + * at design time or that can overflow at run time. No upper bounds, the + * internal structures are all dynamic even if all the objects are statically + * allocated. Things that are not there cannot go wrong and take no space. * *

          No error conditions and no error checks

          - * All the API should not have error conditions, all the previous points are + * All the system APIs have no error conditions, all the previous points are * finalized to this objective. Everything you can invoke in the kernel is * designed to not fail unless you pass garbage as parameters, stray pointers - * or such. Also the APIs are not slowed down by error checks, error checks - * exists but only when the debug switch is activated.
          + * as examples. The APIs are not slowed down by parameter checks, + * parameter checks (and consistency checks) do exists but only when the + * debug switch is activated.
          * All the static core APIs always succeed if correct parameters are passed. * *

          Very simple APIs

          * Every API should have the parameters you would expect for that function, no - * more no less. Each API should do a single thing with no options. + * more no less. Each API does a single thing with no options. * - *

          Damn fast and compact

          + *

          Fast and compact

          * Note first "fast" then "compact", the focus is on speed and execution * efficiency rather than code size. This does not mean it is large, the OS - * with all the subsystems activated is well below 8KiB (32bit ARM code, the - * least space efficient) and can shrink down below 2KiB. It would be + * size with all the subsystems activated is well below 8KiB (32bit ARM code, + * the least space efficient) and can shrink down below 2KiB. It would be * possible to make something smaller but: - * -# It would be pointless, it @a is already small. + * -# It would be pointless, it is already @a really small. * -# I would not sacrifice efficiency or features in order to save few bytes. * . - * About the "fast" part, it is able to start/wait/exit more than 200,000 - * threads per second on a 72MHz STM32 (Cortex-M3). The Context Switch just - * takes 2.3 microseconds on the same STM32. The numbers are not - * pulled out of thin air, it is the output of the included test suite. + * About the "fast" part, the kernel is able to start/exit more than + * 200,000 threads per second on a 72MHz STM32 (Cortex-M3). + * The Context Switch just takes 2.3 microseconds on the same STM32. + * The numbers are not pulled out of thin air, it is the output of the + * included test suite. * *

          Tests and metrics

          * I think it is nice to know how an OS is tested and how it performs before -- cgit v1.2.3 From ea63ddb71973bf7e4d46acde3bfd9037da159a3e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 11 Feb 2009 21:26:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@754 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/goals.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/goals.dox b/docs/src/goals.dox index f0de70da7..d19c7d70a 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -48,7 +48,7 @@ * *

          No tables or other fixed structures

          * The kernel has no internal tables, there is nothing that must be configured - * at design time or that can overflow at run time. No upper bounds, the + * at compile time or that can overflow at run time. No upper bounds, the * internal structures are all dynamic even if all the objects are statically * allocated. Things that are not there cannot go wrong and take no space. * -- cgit v1.2.3 From af4eb6b7901f0871d46b4de27486f47266f24e99 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 12 Feb 2009 21:29:43 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@755 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/goals.dox | 27 +++++++++++++-------------- docs/src/mutualexcl.dox | 13 ++++++------- 2 files changed, 19 insertions(+), 21 deletions(-) (limited to 'docs') diff --git a/docs/src/goals.dox b/docs/src/goals.dox index d19c7d70a..3a2209f0c 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -38,7 +38,7 @@ * . *

          Why is it different?

          * Well, there are some design choices that should be explained and contribute - * to make ChibiOS/RT a peculiar design. Nothing really new by itself but + * to make ChibiOS/RT a peculiar design. Nothing really new in itself but * the whole is interesting: * *

          Static design

          @@ -46,11 +46,11 @@ * there are two allocator subsystems but those are options and not part of * core OS. Safety is something you design in, not something you can add later. * - *

          No tables or other fixed structures

          + *

          No tables, arrays or other fixed structures

          * The kernel has no internal tables, there is nothing that must be configured * at compile time or that can overflow at run time. No upper bounds, the * internal structures are all dynamic even if all the objects are statically - * allocated. Things that are not there cannot go wrong and take no space. + * allocated. * *

          No error conditions and no error checks

          * All the system APIs have no error conditions, all the previous points are @@ -60,25 +60,25 @@ * parameter checks (and consistency checks) do exists but only when the * debug switch is activated.
          * All the static core APIs always succeed if correct parameters are passed. + * Exception to this are the optional allocators APIs that, of course, + * can report memory exhausted. * *

          Very simple APIs

          * Every API should have the parameters you would expect for that function, no * more no less. Each API does a single thing with no options. * *

          Fast and compact

          - * Note first "fast" then "compact", the focus is on speed and execution - * efficiency rather than code size. This does not mean it is large, the OS - * size with all the subsystems activated is well below 8KiB (32bit ARM code, - * the least space efficient) and can shrink down below 2KiB. It would be - * possible to make something smaller but: + * Note, first "fast" then "compact", the focus is on speed and execution + * efficiency and then on code size. This does not mean that the OS is large, + * the kernel size with all the subsystems activated is around 5.3KiB + * and can shrink down around to 1.2Kib in a minimal configuration + * (STM32, Cortex-M3). It would be possible to make something even smaller but: * -# It would be pointless, it is already @a really small. - * -# I would not sacrifice efficiency or features in order to save few bytes. + * -# I would not trade efficiency or features in order to save few bytes. * . * About the "fast" part, the kernel is able to start/exit more than - * 200,000 threads per second on a 72MHz STM32 (Cortex-M3). - * The Context Switch just takes 2.3 microseconds on the same STM32. - * The numbers are not pulled out of thin air, it is the output of the - * included test suite. + * 200,000 threads per second on a 72MHz STM32. + * The Context Switch takes 2.3 microseconds on the same STM32. * *

          Tests and metrics

          * I think it is nice to know how an OS is tested and how it performs before @@ -88,4 +88,3 @@ * the test suite and the OS benchmarks. */ /** @} */ - \ No newline at end of file diff --git a/docs/src/mutualexcl.dox b/docs/src/mutualexcl.dox index 367618d5d..ae6f57c0a 100644 --- a/docs/src/mutualexcl.dox +++ b/docs/src/mutualexcl.dox @@ -93,11 +93,10 @@ * - Semaphore queues are FIFO ordered by default, an option exist to make * them priority ordered but this can impact I/O performance because * semaphores are used in I/O queues. - * - Semaphores do not implement the priority inheritance algorithm so the - * priority inversion problem is not mitigated. + * - Semaphores do not implement the Priority Inheritance algorithm. * . *

          When use Semaphores

          - * - When you don't need queuing by priority nor the priority inheritance + * - When you don't need queuing by priority nor the Priority Inheritance * algorithm. * - When RAM/ROM space is scarce. * . @@ -116,7 +115,7 @@ *

          Mutual exclusion by Mutexes

          * The mutexes, also known as binary semaphores (we choose to not use this * terminology to avoid confusion with counting semaphores), are the mechanism - * intended as general solution for the mutual exclusion problem. + * intended as general solution for Mutual Exclusion. * *

          Advantages

          * - Mutexes implement the Priority Inheritance algorithm that is an important @@ -154,8 +153,8 @@ * - Almost free as code size, you need no semaphores nor mutexes. * - No RAM overhead. * - Fast execution, priority change is a quick operation under ChibiOS/RT. - * - The priority ceiling protocol that can help mitigate the Priority - * Inversion problem. + * - The Priority Ceiling protocol can help mitigate potential Priority + * Inversion problems. * . *

          Disadvantages

          * - Makes the design more complicated because priorities must be assigned to @@ -207,7 +206,7 @@ * and server. * - Two context switches are required for each request to the server (but * ChibiOSRT is very efficient at that). - * - Requires a dedicated thread. + * - Requires a dedicated thread as server. * . */ /** @} */ -- cgit v1.2.3 From a200e0aaff1eb04789057603f528510c1da1c4d2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 13 Feb 2009 16:04:20 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@756 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 25 +------------------------ docs/src/goals.dox | 4 ++-- docs/src/jitter.dox | 2 ++ 3 files changed, 5 insertions(+), 26 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 143360dc9..04b07a496 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1289,30 +1289,7 @@ INCLUDE_FILE_PATTERNS = # undefined via #undef or recursively expanded use the := operator # instead of the = operator. -PREDEFINED = __DOXYGEN__ \ - CH_USE_WAITEXIT \ - CH_USE_SEMAPHORES \ - CH_USE_SEMSW \ - CH_USE_SEMAPHORES_TIMEOUT \ - CH_USE_MUTEXES \ - CH_USE_CONDVARS \ - CH_USE_CONDVARS_TIMEOUT \ - CH_USE_EVENTS \ - CH_USE_EVENTS_TIMEOUT \ - CH_USE_EXIT_EVENT \ - CH_USE_QUEUES \ - CH_USE_QUEUES_TIMEOUT \ - CH_USE_QUEUES_HALFDUPLEX \ - CH_USE_SERIAL_FULLDUPLEX \ - CH_USE_SERIAL_HALFDUPLEX \ - CH_USE_HEAP \ - CH_USE_MEMPOOLS \ - CH_USE_MESSAGES \ - CH_USE_MESSAGES_EVENT \ - CH_USE_DEBUG \ - CH_USE_TRACE \ - CH_USE_DYNAMIC \ - CH_USE_ROUNDROBIN +PREDEFINED = __DOXYGEN__ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. diff --git a/docs/src/goals.dox b/docs/src/goals.dox index 3a2209f0c..13e764802 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -64,8 +64,8 @@ * can report memory exhausted. * *

          Very simple APIs

          - * Every API should have the parameters you would expect for that function, no - * more no less. Each API does a single thing with no options. + * Each API should have the parameters you would expect for that function and + * do just one thing with no options. * *

          Fast and compact

          * Note, first "fast" then "compact", the focus is on speed and execution diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index d0215abb2..bff39bed6 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -55,6 +55,7 @@ int -> busy [label="Not Ready"]; busy -> busy [label="Still Busy\n(added latency)"]; busy -> served [label="Finally Ready"]; + } * @enddot * * In this scenario the jitter (busy state) is represented by the sum of: @@ -85,6 +86,7 @@ busy -> busy [label="Higher priority Threads\n(added latency)"]; busy -> thread [label="Highest Priority"]; served -> thread [label="Highest Priority (minimum latency)"]; + } * @enddot * * In this scenario all the jitter sources previously discussed are also -- cgit v1.2.3 From ad0dd210e7fbb030b10e1cb076b833bd7ae6470d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 13 Feb 2009 20:34:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@757 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/jitter.dox | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index bff39bed6..747a07a7e 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -24,7 +24,8 @@ * designing a real time system. When using a RTOS like ChibiOS/RT one must * be aware of what the jitter is and how it can affect the performance of the * system. A good place to start is this - * Wikipedia article. + * Wikipedia + * article. * *

          Interrupt handlers execution time

          * The total execution time of an interrupt handler includes: -- cgit v1.2.3 From 1a18435fcb67ceb72b22ce19aa667f67703c0f3f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 13 Feb 2009 21:06:49 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@758 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 04b07a496..e785dccc3 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1289,7 +1289,30 @@ INCLUDE_FILE_PATTERNS = # undefined via #undef or recursively expanded use the := operator # instead of the = operator. -PREDEFINED = __DOXYGEN__ +PREDEFINED = __DOXYGEN__ \ + CH_USE_WAITEXIT=1 \ + CH_USE_SEMAPHORES=1 \ + CH_USE_SEMSW=1 \ + CH_USE_SEMAPHORES_TIMEOUT=1 \ + CH_USE_MUTEXES=1 \ + CH_USE_CONDVARS=1 \ + CH_USE_CONDVARS_TIMEOUT=1 \ + CH_USE_EVENTS=1 \ + CH_USE_EVENTS_TIMEOUT=1 \ + CH_USE_EXIT_EVENT=1 \ + CH_USE_QUEUES=1 \ + CH_USE_QUEUES_TIMEOUT=1 \ + CH_USE_QUEUES_HALFDUPLEX=1 \ + CH_USE_SERIAL_FULLDUPLEX=1 \ + CH_USE_SERIAL_HALFDUPLEX=1 \ + CH_USE_HEAP=1 \ + CH_USE_MEMPOOLS=1 \ + CH_USE_MESSAGES=1 \ + CH_USE_MESSAGES_EVENT=1 \ + CH_USE_DEBUG=1 \ + CH_USE_TRACE=1 \ + CH_USE_DYNAMIC=1 \ + CH_USE_ROUNDROBIN=1 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. -- cgit v1.2.3 From d70f848b0867fa5f7748a242d06e95d140fd7736 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 14 Feb 2009 06:54:06 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@759 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 10 ++-- docs/reports/kernel.txt | 132 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+), 5 deletions(-) create mode 100644 docs/reports/kernel.txt (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 973dd11ec..602ff796c 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 final +Kernel: ChibiOS/RT 1.1.0 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) @@ -40,7 +40,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 17284 bytes, not fragmented +--- Size : 17296 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -53,7 +53,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 216994 msgs/S, 433988 ctxswc/S +--- Score : 216993 msgs/S, 433986 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) @@ -65,11 +65,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 161766 threads/S +--- Score : 164734 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 205805 threads/S +--- Score : 210634 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt new file mode 100644 index 000000000..9014c2418 --- /dev/null +++ b/docs/reports/kernel.txt @@ -0,0 +1,132 @@ +Platform : ARM Cortex-M3 +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -O2 -mthumb +Kernel Size = 5648 + +Platform : ARM Cortex-M3 +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -O2 -mthumb +Kernel Size = 1296 + +Platform : ARM Cortex-M3 +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -mthumb +Kernel Size = 5408 + +Platform : ARM Cortex-M3 +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -mthumb +Kernel Size = 1344 + +Platform : ARM Cortex-M3 +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Kernel Size = 5056 + +Platform : ARM Cortex-M3 +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Kernel Size = 1264 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -O2 +Kernel Size = 8192 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -O2 +Kernel Size = 2000 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os +Kernel Size = 7808 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os +Kernel Size = 1904 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Kernel Size = 7328 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Kernel Size = 1856 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 5376 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 1376 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 5152 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 1344 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4832 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.3.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 1280 + +Platform : MSP430 +OS Setup : Full kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -O2 +Kernel Size = 5696 + +Platform : MSP430 +OS Setup : Minimal kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -O2 +Kernel Size = 1136 + +Platform : MSP430 +OS Setup : Full kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -Os +Kernel Size = 5680 + +Platform : MSP430 +OS Setup : Minimal kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -Os +Kernel Size = 1136 + -- cgit v1.2.3 From ad864b4aa18a775109b9f41c8a6bf5e7e4dbea3d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 14 Feb 2009 07:25:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@760 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 12 ++++++------ docs/reports/LPC2148-48-THUMB.txt | 20 ++++++++++---------- docs/reports/MSP430F1611-0.75.txt | 6 +++--- 3 files changed, 19 insertions(+), 19 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index a9537e8f0..39e2d19e0 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 final +Kernel: ChibiOS/RT 1.1.0 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -40,7 +40,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 27648 bytes, not fragmented +--- Size : 27668 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -65,15 +65,15 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 99405 threads/S +--- Score : 103047 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 134687 threads/S +--- Score : 141463 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36005 reschedulations/S, 216030 ctxswc/S +--- Score : 36006 reschedulations/S, 216036 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 22 (Benchmark, I/O Queues throughput) @@ -81,7 +81,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 309496 timers/S +--- Score : 309500 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 22bcaff69..b6cd6ed25 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 final +Kernel: ChibiOS/RT 1.1.0 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -40,7 +40,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 27648 bytes, not fragmented +--- Size : 27668 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -53,35 +53,35 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 98924 msgs/S, 197848 ctxswc/S +--- Score : 101441 msgs/S, 202882 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 83531 msgs/S, 167062 ctxswc/S +--- Score : 85780 msgs/S, 171560 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 83530 msgs/S, 167060 ctxswc/S +--- Score : 85779 msgs/S, 171558 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 80033 threads/S +--- Score : 82665 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 112160 threads/S +--- Score : 116537 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28157 reschedulations/S, 168942 ctxswc/S +--- Score : 28871 reschedulations/S, 173226 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 22 (Benchmark, I/O Queues throughput) ---- Score : 242396 bytes/S +--- Score : 243632 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 272272 timers/S +--- Score : 273044 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 6a179ea71..42d8dda1d 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 final +Kernel: ChibiOS/RT 1.1.0 unstable Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz @@ -65,11 +65,11 @@ Settings: MCLK=DCOCLK 750Khz --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 1310 threads/S +--- Score : 1334 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 1681 threads/S +--- Score : 1720 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) -- cgit v1.2.3 From fa9b36aff3676a897503a359314d08db8fc5a09d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 14 Feb 2009 18:20:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@766 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index e785dccc3..a7d3a256d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.1.0unstable +PROJECT_NUMBER = 1.1.1unstable # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/docs/index.html b/docs/index.html index 6543c3647..f499e90a5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -14,7 +14,7 @@
          - + -- cgit v1.2.3 From c33d090881ca0a6fc4dc4eaa8c5e8bd8ea4ab7fa Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 21 Jun 2009 10:01:35 +0000 Subject: Doxygen related fixes. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1044 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index fecca64f9..3d6c605c5 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -365,12 +365,10 @@ * documentation for details.
          * The @ref PAL has the advantage to make the access to the I/O ports platform * independent and still be optimized for the specific architectures.
          - * Currently the I/O ports interface does not handle physical port programming - * like direction, pull up/down resistors etc. The interface only allows input - * and output operations but this may change in future releases.
          * Note that the @ref PAL_LLD may also offer non standard macro and functions * in order to support specific features but, of course, the use of such - * interfaces would not be portable. + * interfaces would not be portable. Such interfaces shall be marked with + * the architecture name inside the function names. * *

          Implementation Rules

          * In implementing an @ref PAL_LLD there are some rules/behaviors that -- cgit v1.2.3 From 3722f11de220eab983fb90927d614a20fe860052 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 11 Jul 2009 14:41:28 +0000 Subject: Updated AT91SAM7X reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1058 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 8 ++++---- docs/reports/AT91SAM7X-48-THUMB.txt | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 91e820138..c43d613e8 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,7 +5,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.0unstable +*** Kernel: 1.3.1unstable *** Architecture: ARM7TDMI *** GCC Version: 4.3.3 @@ -71,7 +71,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 62112 bytes, not fragmented +--- Size : 61344 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -96,7 +96,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.1 (Benchmark, messages #1) ---- Score : 115476 msgs/S, 230952 ctxswc/S +--- Score : 115475 msgs/S, 230950 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.2 (Benchmark, messages #2) @@ -112,7 +112,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.5 (Benchmark, threads, full cycle) ---- Score : 79015 threads/S +--- Score : 79016 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.6 (Benchmark, threads, create only) diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index 986d199b0..32760d182 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -5,7 +5,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.0unstable +*** Kernel: 1.3.1unstable *** Architecture: ARM7TDMI *** GCC Version: 4.3.3 @@ -71,7 +71,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 62112 bytes, not fragmented +--- Size : 61344 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) -- cgit v1.2.3 From 6ce958c41e1e980182c6648537e334c587cb2a27 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 11 Jul 2009 14:50:02 +0000 Subject: Updated STM32 reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1060 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-48.txt | 4 ++-- docs/reports/STM32F103-72.txt | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 8a829998e..60d4cb797 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.0unstable +*** Kernel: 1.3.1unstable *** Architecture: ARM Cortex-M3 *** GCC Version: 4.3.3 @@ -71,7 +71,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 17092 bytes, not fragmented +--- Size : 16324 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 73e5cd0d8..2aeee176d 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.0unstable +*** Kernel: 1.3.1unstable *** Architecture: ARM Cortex-M3 *** GCC Version: 4.3.3 @@ -71,7 +71,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 17092 bytes, not fragmented +--- Size : 16324 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -100,11 +100,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.2 (Benchmark, messages #2) ---- Score : 174745 msgs/S, 349490 ctxswc/S +--- Score : 174744 msgs/S, 349488 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.3 (Benchmark, messages #3) ---- Score : 174745 msgs/S, 349490 ctxswc/S +--- Score : 174744 msgs/S, 349488 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.4 (Benchmark, context switch) @@ -124,7 +124,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.8 (Benchmark, I/O Queues throughput) ---- Score : 474888 bytes/S +--- Score : 474884 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.9 (Benchmark, virtual timers set/reset) @@ -136,7 +136,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 12.11 (Benchmark, mutexes lock/unlock) ---- Score : 601084 lock+unlock/S +--- Score : 601088 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- -- cgit v1.2.3 From 5ed3eb8eb99eecad0138843118e2e6d39a3189f8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 18 Jul 2009 12:19:47 +0000 Subject: Version numbers, doxygen files, and readme updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1066 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d518c61ac..b26a2d37d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3.1 +PROJECT_NUMBER = 1.3.2 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -644,7 +644,8 @@ RECURSIVE = NO # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = +EXCLUDE = ../ports/ARMCM3/cmsis \ + ../ports/ARMCM3-STM32F103/stm32f10x.h # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded -- cgit v1.2.3 From 8ce831d013cd306b24c3e6eca4c1efec28469f5b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 20 Aug 2009 11:15:24 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1087 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 32 +++++++++++++++++--------------- docs/src/main.dox | 50 ++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 55 insertions(+), 27 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index b26a2d37d..4a9d6d266 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -574,21 +574,23 @@ WARN_LOGFILE = # with spaces. INPUT = ../docs/src \ - ../src/include \ - ../src/templates \ - ../src \ - ../test \ - ../src/lib \ - ../ports/ARM7 \ - ../ports/ARM7/crt0.s \ - ../ports/ARM7/chcoreasm.s \ - ../ports/ARM7-AT91SAM7X \ - ../ports/ARM7-LPC214x \ - ../ports/ARMCM3 \ - ../ports/ARMCM3/crt0.s \ - ../ports/ARMCM3-STM32F103 \ - ../ports/MSP430 \ - ../ports/AVR + ../os/kernel/include \ + ../os/kernel/src \ + ../os/ports/templates \ + ../os/ports/GCC/ARM7 \ + ../os/ports/GCC/ARM7/crt0.s \ + ../os/ports/GCC/ARM7/chcoreasm.s \ + ../os/ports/GCC/ARM7/AT91SAM7X \ + ../os/ports/GCC/ARM7/LPC214x \ + ../os/ports/GCC/ARMCM3 \ + ../os/ports/GCC/ARMCM3/crt0.s \ + ../os/ports/GCC/ARMCM3/STM32F103 \ + ../os/ports/GCC/MSP430 \ + ../os/ports/GCC/AVR \ + ../os/io \ + ../os/io/templates \ + ../os/various \ + ../test # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is diff --git a/docs/src/main.dox b/docs/src/main.dox index 3d6c605c5..56fcd252a 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -88,7 +88,6 @@ * - @subpage test_events * - @subpage test_mbox * - @subpage test_queues - * - @subpage test_serial * - @subpage test_heap * - @subpage test_pools * - @subpage test_benchmarks @@ -347,11 +346,33 @@ /** * @defgroup IO I/O Support * @brief I/O related services. - * @details This section contains the I/O related services. Note that no - * specific drivers are documented here, all the listed modules are abstract - * interfaces or kernel APIs that the device drivers should implement/use.
          - * The use of common I/O interfaces allow for a certain degree of portability - * for the ChibiOS/RT application among very different MCUs. + * @details This section contains the I/O related services. + * + * The I/O subsystem is a collection of device driver poertable interfaces and + * platform dependent implementations.
          + * Under ChibiOS/RT a device driver is split in two layers: + * - High Level Device Driver (HLD). This layer contains the definitions + * of the driver's APIs and the platform independent part of the driver.
          + * An HLD is composed by two files: + * - @.c, the high level implementation file. This file must be + * included in the Makefile in order to use the driver. + * - @.h, the high level header file. This file must be included + * by the application code in order to access the driver's APIs. + * . + * - Low Level Device Driver (LLD). This layer contains the platform + * dependent part of the driver.
          + * A LLD is composed by two files: + * - @_lld.c, the low level implementation file. This file must be + * included in the Makefile in order to use the driver. + * - @_lld.h, the high level header file. This file is implicitly + * included by the HLD header file. + * . + * . + *

          Available Device Drivers

          + * The I/O subsystem currently includes support for: + * - @ref PAL. + * - @ref SERIAL. + * . */ /** @@ -413,8 +434,7 @@ /** * @defgroup PAL_LLD PAL Low Level Driver * @brief @ref PAL low level driver template. - * @details This file is a template for an I/O port low level driver. This - * file implements the physical layer of an I/O port driver. + * @details This file is a template for an I/O port low level driver. * * @ingroup PAL */ @@ -459,21 +479,27 @@ */ /** - * @defgroup Serial Serial Drivers + * @defgroup SERIAL Serial Driver * @brief Generic Serial Drivers. * @details This module implements a generic full duplex serial driver. The - * driver implements a @p FullDuplexDriver interface and uses I/O Queues for + * driver implements a @p SerialDriver interface and uses I/O Queues for * communication between the upper and the lower driver. Event flags are used * to notify the application about incoming data, outgoing data and other I/O * events.
          * The module also contains functions that make the implementation of the * interrupt service routines much easier.
          - * In order to use the serial full duplex driver the - * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h. * * @ingroup IO */ +/** + * @defgroup SERIAL_LLD Serial Low Level Driver + * @brief @ref SERIAL low level driver template. + * @details This file is a template for a serial low level driver. + * + * @ingroup SERIAL + */ + /** * @defgroup utilities_library Utilities Library * @brief Utilities Library. -- cgit v1.2.3 From 0b8f1183fe1f321fdd71e9d1fc5a28323f9036a7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 20 Aug 2009 12:53:46 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1090 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 4a9d6d266..4c5d517e9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -580,15 +580,17 @@ INPUT = ../docs/src \ ../os/ports/GCC/ARM7 \ ../os/ports/GCC/ARM7/crt0.s \ ../os/ports/GCC/ARM7/chcoreasm.s \ - ../os/ports/GCC/ARM7/AT91SAM7X \ - ../os/ports/GCC/ARM7/LPC214x \ ../os/ports/GCC/ARMCM3 \ ../os/ports/GCC/ARMCM3/crt0.s \ - ../os/ports/GCC/ARMCM3/STM32F103 \ ../os/ports/GCC/MSP430 \ ../os/ports/GCC/AVR \ ../os/io \ ../os/io/templates \ + ../os/io/platforms/AT91SAM7X \ + ../os/io/platforms/AVR \ + ../os/io/platforms/LPC214x \ + ../os/io/platforms/MSP430 \ + ../os/io/platforms/STM32F103 \ ../os/various \ ../test -- cgit v1.2.3 From 8b55cb9767ce881b7a22c5af34605ed3a261582d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 27 Aug 2009 16:42:07 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1109 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 2aeee176d..73ceeffa0 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.1unstable +*** Kernel: 1.3.2unstable *** Architecture: ARM Cortex-M3 *** GCC Version: 4.3.3 @@ -71,7 +71,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 16324 bytes, not fragmented +--- Size : 16408 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -89,54 +89,48 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Test Case 10.2 (Queues, output queues) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.1 (Serial driver, synchronous) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Serial driver, asynchronous) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 12.1 (Benchmark, messages #1) +--- Test Case 11.1 (Benchmark, messages #1) --- Score : 215037 msgs/S, 430074 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.2 (Benchmark, messages #2) +--- Test Case 11.2 (Benchmark, messages #2) --- Score : 174744 msgs/S, 349488 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.3 (Benchmark, messages #3) +--- Test Case 11.3 (Benchmark, messages #3) --- Score : 174744 msgs/S, 349488 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.4 (Benchmark, context switch) +--- Test Case 11.4 (Benchmark, context switch) --- Score : 676760 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.5 (Benchmark, threads, full cycle) +--- Test Case 11.5 (Benchmark, threads, full cycle) --- Score : 164727 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.6 (Benchmark, threads, create only) +--- Test Case 11.6 (Benchmark, threads, create only) --- Score : 215680 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) --- Score : 54745 reschedulations/S, 328470 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.8 (Benchmark, I/O Queues throughput) ---- Score : 474884 bytes/S +--- Test Case 11.8 (Benchmark, I/O Queues throughput) +--- Score : 474888 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.9 (Benchmark, virtual timers set/reset) ---- Score : 647072 timers/S +--- Test Case 11.9 (Benchmark, virtual timers set/reset) +--- Score : 647070 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Test Case 11.10 (Benchmark, semaphores wait/signal) --- Score : 823264 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.11 (Benchmark, mutexes lock/unlock) ---- Score : 601088 lock+unlock/S +--- Test Case 11.11 (Benchmark, mutexes lock/unlock) +--- Score : 601084 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- -- cgit v1.2.3 From 1421a2fd6ca461a96c4be653ea7b925834963433 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 28 Aug 2009 17:43:57 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1118 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 78 +++++++++++++++++++++++++++---------------------------- 1 file changed, 39 insertions(+), 39 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 56fcd252a..d1cba5773 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -375,6 +375,45 @@ * . */ +/** + * @defgroup Channels I/O Abstract Channels + * @brief Abstract I/O Channels. + * @details This module defines an abstract interface for I/O channels. Note + * that no code is present, I/O channels are just abstract classes-like + * structures, you should look at the systems as to a set of abstract C++ + * classes (even if written in C). Specific device drivers can use/extend + * the interfaces and implement them.
          + * This system has the advantage to make the access to channels + * independent from the implementation logic. As example, an I/O channel + * interface can hide the access to a serial driver, to a networking socket + * and so on. + * + * @ingroup IO + */ + +/** + * @defgroup IOQueues I/O Queues + * @brief I/O queues. + * @details ChibiOS/RT supports several kinds of queues. The queues are mostly + * used in serial-like device drivers. The device drivers are usually designed + * to have a lower side (lower driver, it is usually an interrupt service + * routine) and an upper side (upper driver, accessed by the application + * threads).
          + * There are several kind of queues:
          + * - Input queue, unidirectional queue where the writer is the + * lower side and the reader is the upper side. + * - Output queue, unidirectional queue where the writer is the + * upper side and the reader is the lower side. + * - Full duplex queue, bidirectional queue where read and write + * operations can happen at the same time. Full duplex queues + * are implemented by pairing an input queue and an output queue together. + * . + * In order to use the I/O queues the @p CH_USE_QUEUES option must + * be specified in @p chconf.h.
          + * + * @ingroup IO + */ + /** * @defgroup PAL I/O Ports Abstraction Layer (PAL) * @brief I/O Ports Abstraction Layer @@ -439,45 +478,6 @@ * @ingroup PAL */ -/** - * @defgroup Channels Abstract I/O Channels - * @brief Abstract I/O Channels. - * @details This module defines an abstract interface for I/O channels. Note - * that no code is present, I/O channels are just abstract classes-like - * structures, you should look at the systems as to a set of abstract C++ - * classes (even if written in C). Specific device drivers can use/extend - * the interfaces and implement them.
          - * This system has the advantage to make the access to channels - * independent from the implementation logic. As example, an I/O channel - * interface can hide the access to a serial driver, to a networking socket - * and so on. - * - * @ingroup IO - */ - -/** - * @defgroup IOQueues I/O Queues - * @brief I/O queues. - * @details ChibiOS/RT supports several kinds of queues. The queues are mostly - * used in serial-like device drivers. The device drivers are usually designed - * to have a lower side (lower driver, it is usually an interrupt service - * routine) and an upper side (upper driver, accessed by the application - * threads).
          - * There are several kind of queues:
          - * - Input queue, unidirectional queue where the writer is the - * lower side and the reader is the upper side. - * - Output queue, unidirectional queue where the writer is the - * upper side and the reader is the lower side. - * - Full duplex queue, bidirectional queue where read and write - * operations can happen at the same time. Full duplex queues - * are implemented by pairing an input queue and an output queue together. - * . - * In order to use the I/O queues the @p CH_USE_QUEUES option must - * be specified in @p chconf.h.
          - * - * @ingroup IO - */ - /** * @defgroup SERIAL Serial Driver * @brief Generic Serial Drivers. -- cgit v1.2.3 From 397ccffac55ffd139d0e3e82add83e51413c1347 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 Aug 2009 06:59:43 +0000 Subject: Documentation reorganization. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1133 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 +- docs/src/concepts.dox | 4 +- docs/src/main.dox | 282 -------------------------------------------------- 3 files changed, 4 insertions(+), 285 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 4c5d517e9..800c83ca1 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -574,9 +574,10 @@ WARN_LOGFILE = # with spaces. INPUT = ../docs/src \ + ../os/kernel \ ../os/kernel/include \ ../os/kernel/src \ - ../os/ports/templates \ + ../os/kernel/templates \ ../os/ports/GCC/ARM7 \ ../os/ports/GCC/ARM7/crt0.s \ ../os/ports/GCC/ARM7/chcoreasm.s \ diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 8a7418b53..8add4464c 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -54,7 +54,7 @@ * - Regular Interrupts. Maskable interrupt sources that cannot * preempt the kernel code and are thus able to invoke operating system APIs * from within their handlers. The interrupt handlers belonging to this class - * must be written following some rules. See the @ref System APIs group and + * must be written following some rules. See the @ref system APIs group and * @ref article_interrupts. * - Fast Interrupts. Maskable interrupt sources with the ability * to preempt the kernel code and thus have a lower latency and are less @@ -244,7 +244,7 @@ * - Interrupt Stack. * - Internal Context. * . - * See the @ref Core documentation for details, the area may change on + * See the @ref core documentation for details, the area may change on * the various ports and some structures may not be present (or be zero-sized). * * @section architecture Architectural Diagram diff --git a/docs/src/main.dox b/docs/src/main.dox index d1cba5773..58e1b4e6a 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -100,249 +100,6 @@ * ChibiOS/RT ports. */ -/** - * @defgroup Kernel Kernel - * Kernel related subsystems, - */ - -/** - * @defgroup Config Configuration - * In @p chconf.h are defined the required subsystems for your application. - * @ingroup Kernel - */ - -/** - * @defgroup Core Port Code Templates - * Non portable code templates. The function and the macros defined under this - * section are the non portable part of the kernel. - * @note The port code is not an API, the applications should not invoke it - * directly, use the equivalent system API instead. - * @ingroup Kernel - */ - -/** - * @defgroup Types Types - * System types and macros. - * @ingroup Kernel - */ - -/** - * @defgroup System System Management - * Initialization, Locks, Interrupt Handling, Power Management, Abnormal - * Termination. - * @ingroup Kernel - */ - -/** - * @defgroup Debug Debug Support - * Debug APIs and procedures. - * @ingroup Kernel - */ - -/** - * @defgroup Scheduler Low Level Scheduler - * ChibiOS/RT scheduler APIs and macros. - * @ingroup Kernel - */ - -/** - * @defgroup ThreadLists Thread Lists and Queues - * ChibiOS/RT thread lists and queues utilities. - * @ingroup Kernel - */ - -/** - * @defgroup Threads Threads - * Threads related APIs. - * @ingroup Kernel - */ - -/** - * @defgroup Time Time and Virtual Timers - * Time and Virtual Timers related APIs. - * @ingroup Kernel - */ - -/** - * @defgroup Synchronization Synchronization - * Synchronization services. - */ - -/** - * @defgroup Semaphores Semaphores - * Semaphores and threads synchronization. - *

          Operation mode

          - * A semaphore is a threads synchronization object, some operations - * are defined on semaphores: - * - Signal: The semaphore counter is increased and if the result - * is non-positive then a waiting thread is removed from the semaphore - * queue and made ready for execution. - * - Wait: The semaphore counter is decreased and if the result - * becomes negative the thread is queued in the semaphore and suspended. - * - Reset: The semaphore counter is reset to a non-negative value - * and all the threads in the queue are released. - * . - * Semaphores can be used as guards for mutual exclusion code zones (note that - * mutexes are recommended for this kind of use) but also have other uses, - * queues guards and counters as example.
          - * Semaphores usually use FIFO queues but it is possible to make them - * order threads by priority by specifying CH_USE_SEMAPHORES_PRIORITY in - * @p chconf.h.
          - * In order to use the Semaphores APIs the @p CH_USE_SEMAPHORES - * option must be specified in @p chconf.h.

          - * @ingroup Synchronization - */ - -/** - * @defgroup Mutexes Mutexes - * Mutexes and threads synchronization. - *

          Operation mode

          - * A mutex is a threads synchronization object, some operations are defined - * on mutexes: - * - Lock: The mutex is checked, if the mutex is not owned by some - * other thread then it is locked else the current thread is queued on the - * mutex in a list ordered by priority. - * - Unlock: The mutex is released by the owner and the highest - * priority thread waiting in the queue, if any, is resumed and made owner - * of the mutex. - * . - * In order to use the Event APIs the @p CH_USE_MUTEXES option must be - * specified in @p chconf.h.
          - * - *

          Constraints

          - * In ChibiOS/RT the Unlock operations are always performed in Lock-reverse - * order. The Unlock API does not even have a parameter, the mutex to unlock - * is taken from an internal stack of owned mutexes. - * This both improves the performance and is required by an efficient - * implementation of the priority inheritance mechanism. - * - *

          The priority inversion problem

          - * The mutexes in ChibiOS/RT implements the full priority - * inheritance mechanism in order handle the priority inversion problem.
          - * When a thread is queued on a mutex, any thread, directly or indirectly, - * holding the mutex gains the same priority of the waiting thread (if their - * priority was not already equal or higher). The mechanism works with any - * number of nested mutexes and any number of involved threads. The algorithm - * complexity (worst case) is N with N equal to the number of nested mutexes. - * @ingroup Synchronization - */ - -/** - * @defgroup CondVars Condition Variables - * Condition Variables and threads synchronization. - *

          Operation mode

          - * The condition variable is a synchronization object meant to be used inside - * a zone protected by a @p Mutex. Mutexes and CondVars together can implement - * a Monitor construct.
          - * In order to use the Condition Variables APIs the @p CH_USE_CONDVARS - * option must be specified in @p chconf.h.

          - * @ingroup Synchronization - */ - -/** - * @defgroup Events Event Flags - * @brief Event Flags, Event Sources and Event Listeners. - *

          Operation mode

          - * Each thread has a mask of pending event flags inside its Thread structure. - * Several operations are defined: - * - Wait, the invoking thread goes to sleep until a certain AND/OR - * combination of event flags becomes pending. - * - Clear, a mask of event flags is cleared from the pending events - * mask, the cleared event flags mask is returned (only the flags that were - actually pending and then cleared). - * - Signal, an event mask is directly ORed to the mask of the signaled - * thread. - * - Broadcast, each thread registered on an Event Source is signaled - * with the event flags specified in its Event Listener. - * - Dispatch, an events mask is scanned and for each bit set to one - * an associated handler function is invoked. Bit masks are scanned from bit - * zero upward. - * . - * An Event Source is a special object that can be "broadcasted" by a thread or - * an interrupt service routine. Broadcasting an Event Source has the effect - * that all the threads registered on the Event Source will be signaled with - * and events mask.
          - * An unlimited number of Event Sources can exists in a system and each - * thread can listen on an unlimited number of them.

          - * In order to use the Event APIs the @p CH_USE_EVENTS option must be - * specified in @p chconf.h. - * @ingroup Synchronization - */ - -/** - * @defgroup Messages Synchronous Messages - * Synchronous inter-thread messages. - *

          Operation Mode

          - * Synchronous messages are an easy to use and fast IPC mechanism, threads - * can both serve messages and send messages to other threads, the mechanism - * allows data to be carried in both directions. Data is not copied between - * the client and server threads but just a pointer passed so the exchange - * is very time efficient.
          - * Messages are usually processed in FIFO order but it is possible to process - * them in priority order by specifying CH_USE_MESSAGES_PRIORITY - * in @p chconf.h.
          - * Threads do not need to allocate space for message queues, the mechanism - * just requires two extra pointers in the @p Thread structure (the message - * queue header).
          - * In order to use the Messages APIs the @p CH_USE_MESSAGES option must be - * specified in @p chconf.h. - * @ingroup Synchronization - */ - -/** - * @defgroup Mailboxes Mailboxes - * Asynchronous messages. - *

          Operation mode

          - * A mailbox is an asynchronous communication mechanism.
          - * The following operations are possible on a mailbox: - * - Post: Posts a message on the mailbox in FIFO order. - * - Post Ahead: Posts a message on the mailbox with high priority. - * - Fetch: A message is fetched from the mailbox and removed from - * the queue. - * - Reset: The mailbox is emptied and all the stored messages lost. - * . - * A message is a variable of type msg_t that is guaranteed to have the - * same size of and be compatible with pointers (an explicit cast is needed). - * If larger messages need to be exchanged then a pointer to a structure can - * be posted in the mailbox but the posting side has no predefined way to - * know when the message has been processed. A possible approach is to - * allocate memory (from a memory pool as example) from the posting side and - * free it on the fetching side. Another approach is to set a "done" flag into - * the structure pointed by the message. - * @ingroup Synchronization - */ - -/** - * @defgroup Memory Memory Management - * Memory Management services. - */ - -/** - * @defgroup Heap Heap - * Heap Allocator related APIs. - *

          Operation mode

          - * The heap allocator implements a first-fit strategy and its APIs are - * functionally equivalent to the usual @p malloc() and @p free(). The main - * difference is that the heap APIs are thread safe.
          - * By enabling the @p CH_USE_MALLOC_HEAP option the heap manager will use the - * runtime-provided @p malloc() and @p free() as backend for the heap APIs - * instead of the system provided allocator.
          - * In order to use the heap APIs the @p CH_USE_HEAP option must be specified - * in @p chconf.h. - * @ingroup Memory - */ - -/** - * @defgroup MemoryPools Memory Pools - * Memory Pools related APIs. - *

          Operation mode

          - * The Memory Pools APIs allow to allocate/free fixed size objects in - * constant time and reliably without memory fragmentation problems.
          - * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be - * specified in @p chconf.h. - * @ingroup Memory - */ - /** * @defgroup IO I/O Support * @brief I/O related services. @@ -375,45 +132,6 @@ * . */ -/** - * @defgroup Channels I/O Abstract Channels - * @brief Abstract I/O Channels. - * @details This module defines an abstract interface for I/O channels. Note - * that no code is present, I/O channels are just abstract classes-like - * structures, you should look at the systems as to a set of abstract C++ - * classes (even if written in C). Specific device drivers can use/extend - * the interfaces and implement them.
          - * This system has the advantage to make the access to channels - * independent from the implementation logic. As example, an I/O channel - * interface can hide the access to a serial driver, to a networking socket - * and so on. - * - * @ingroup IO - */ - -/** - * @defgroup IOQueues I/O Queues - * @brief I/O queues. - * @details ChibiOS/RT supports several kinds of queues. The queues are mostly - * used in serial-like device drivers. The device drivers are usually designed - * to have a lower side (lower driver, it is usually an interrupt service - * routine) and an upper side (upper driver, accessed by the application - * threads).
          - * There are several kind of queues:
          - * - Input queue, unidirectional queue where the writer is the - * lower side and the reader is the upper side. - * - Output queue, unidirectional queue where the writer is the - * upper side and the reader is the lower side. - * - Full duplex queue, bidirectional queue where read and write - * operations can happen at the same time. Full duplex queues - * are implemented by pairing an input queue and an output queue together. - * . - * In order to use the I/O queues the @p CH_USE_QUEUES option must - * be specified in @p chconf.h.
          - * - * @ingroup IO - */ - /** * @defgroup PAL I/O Ports Abstraction Layer (PAL) * @brief I/O Ports Abstraction Layer -- cgit v1.2.3 From c7b1157dc9f3ae577d592ab3207a84e64140eabe Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 Aug 2009 07:17:22 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1134 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 + docs/src/main.dox | 38 -------------------------------------- 2 files changed, 1 insertion(+), 38 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 800c83ca1..f9019353a 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -578,6 +578,7 @@ INPUT = ../docs/src \ ../os/kernel/include \ ../os/kernel/src \ ../os/kernel/templates \ + ../os/ports \ ../os/ports/GCC/ARM7 \ ../os/ports/GCC/ARM7/crt0.s \ ../os/ports/GCC/ARM7/chcoreasm.s \ diff --git a/docs/src/main.dox b/docs/src/main.dox index 58e1b4e6a..59cb75e2c 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -94,12 +94,6 @@ * . */ -/** - * @defgroup Ports Ports - * This section describes the technical details for the various supported - * ChibiOS/RT ports. - */ - /** * @defgroup IO I/O Support * @brief I/O related services. @@ -217,35 +211,3 @@ * * @ingroup SERIAL */ - -/** - * @defgroup utilities_library Utilities Library - * @brief Utilities Library. - * @details This is a collection of useful library code that is not part of - * the base kernel services. - *

          Notes

          - * The library code does not follow the same naming convention of the - * system APIs in order to make very clear that it is not "core" code.
          - * The main difference is that library code is not formally tested in the - * test suite but through usage in the various demo applications. - */ - -/** - * @defgroup CPlusPlusLibrary C++ Wrapper - * @brief C++ wrapper module. - * @details This module allows to use the ChibiOS/RT functionalities - * from C++ as classes and objects rather the traditional "C" APIs. - * - * @ingroup utilities_library - */ - -/** - * @defgroup event_timer Periodic Events Timer - * @brief Periodic Event Timer. - * @details This timer generates an event at regular intervals. The - * listening threads can use the event to perform time related activities. - * Multiple threads can listen to the same timer. - * - * @ingroup utilities_library - */ - -- cgit v1.2.3 From 49c40ba106e8fbea8e67157591eab7bf0c9e9a01 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 Aug 2009 08:49:10 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1136 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 147 ------------------------------------------------------ 1 file changed, 147 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 59cb75e2c..ee1a2654c 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -64,150 +64,3 @@ * - @subpage testsuite * . */ - -/** - * @page testsuite Test Suite - *

          Description

          - * Most of the ChibiOS/RT demos link a set of software modules (test suite) in - * order to verify the proper working of the kernel, the port and the demo - * itself.
          - * Each Test Module performs a series of tests on a specified subsystem or - * subsystems and can report a failure/success status and/or a performance - * index as the test suite output.
          - * The test suite is usually activated in the demo applications by pressing a - * button on the target board, see the readme into the various demos - * directories. The test suite output is usually sent through a serial port and - * can be examined by using a terminal emulator program. - * - *

          Test Modules

          - * - @subpage test_threads - * - @subpage test_dynamic - * - @subpage test_msg - * - @subpage test_sem - * - @subpage test_mtx - * - @subpage test_events - * - @subpage test_mbox - * - @subpage test_queues - * - @subpage test_heap - * - @subpage test_pools - * - @subpage test_benchmarks - * . - */ - -/** - * @defgroup IO I/O Support - * @brief I/O related services. - * @details This section contains the I/O related services. - * - * The I/O subsystem is a collection of device driver poertable interfaces and - * platform dependent implementations.
          - * Under ChibiOS/RT a device driver is split in two layers: - * - High Level Device Driver (HLD). This layer contains the definitions - * of the driver's APIs and the platform independent part of the driver.
          - * An HLD is composed by two files: - * - @.c, the high level implementation file. This file must be - * included in the Makefile in order to use the driver. - * - @.h, the high level header file. This file must be included - * by the application code in order to access the driver's APIs. - * . - * - Low Level Device Driver (LLD). This layer contains the platform - * dependent part of the driver.
          - * A LLD is composed by two files: - * - @_lld.c, the low level implementation file. This file must be - * included in the Makefile in order to use the driver. - * - @_lld.h, the high level header file. This file is implicitly - * included by the HLD header file. - * . - * . - *

          Available Device Drivers

          - * The I/O subsystem currently includes support for: - * - @ref PAL. - * - @ref SERIAL. - * . - */ - -/** - * @defgroup PAL I/O Ports Abstraction Layer (PAL) - * @brief I/O Ports Abstraction Layer - * @details This module defines an abstract interface for digital I/O ports. - * Note that most I/O ports functions are just macros. The macros - * have default software implementations that can be redefined in a - * @ref PAL_LLD if the target hardware supports special features like, as - * example, atomic bit set/reset/masking. Please refer to the ports specific - * documentation for details.
          - * The @ref PAL has the advantage to make the access to the I/O ports platform - * independent and still be optimized for the specific architectures.
          - * Note that the @ref PAL_LLD may also offer non standard macro and functions - * in order to support specific features but, of course, the use of such - * interfaces would not be portable. Such interfaces shall be marked with - * the architecture name inside the function names. - * - *

          Implementation Rules

          - * In implementing an @ref PAL_LLD there are some rules/behaviors that - * should be respected. - * - *

          Writing on input pads

          - * The behavior is not specified but there are implementations better than - * others, this is the list of possible implementations, preferred options - * are on top: - * -# The written value is not actually output but latched, should the pads - * be reprogrammed as outputs the value would be in effect. - * -# The write operation is ignored. - * -# The write operation has side effects, as example disabling/enabling - * pull up/down resistors or changing the pad direction. This scenario is - * discouraged, please try to avoid this scenario. - * . - *

          Reading from output pads

          - * The behavior is not specified but there are implementations better than - * others, this is the list of possible implementations, preferred options - * are on top: - * -# The actual pads states are read (not the output latch). - * -# The output latch value is read (regardless of the actual pads states). - * -# Unspecified, please try to avoid this scenario. - * . - *

          Writing unused or unimplemented port bits

          - * The behavior is not specified. - * - *

          Reading from unused or unimplemented port bits

          - * The behavior is not specified. - * - *

          Reading or writing on pins associated to other functionalities

          - * The behavior is not specified. - * - *

          Usage

          - * The use of I/O ports requires the inclusion of the header file @p pal.h, - * this file is not automatically included @p ch.h like the other header - * files. - * - * @ingroup IO - */ - -/** - * @defgroup PAL_LLD PAL Low Level Driver - * @brief @ref PAL low level driver template. - * @details This file is a template for an I/O port low level driver. - * - * @ingroup PAL - */ - -/** - * @defgroup SERIAL Serial Driver - * @brief Generic Serial Drivers. - * @details This module implements a generic full duplex serial driver. The - * driver implements a @p SerialDriver interface and uses I/O Queues for - * communication between the upper and the lower driver. Event flags are used - * to notify the application about incoming data, outgoing data and other I/O - * events.
          - * The module also contains functions that make the implementation of the - * interrupt service routines much easier.
          - * - * @ingroup IO - */ - -/** - * @defgroup SERIAL_LLD Serial Low Level Driver - * @brief @ref SERIAL low level driver template. - * @details This file is a template for a serial low level driver. - * - * @ingroup SERIAL - */ -- cgit v1.2.3 From ea88c85382def65d870706b593f095d8ba1d76bd Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 Aug 2009 09:09:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1139 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index f9019353a..981d70ee6 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -592,7 +592,7 @@ INPUT = ../docs/src \ ../os/io/platforms/AVR \ ../os/io/platforms/LPC214x \ ../os/io/platforms/MSP430 \ - ../os/io/platforms/STM32F103 \ + ../os/io/platforms/STM32 \ ../os/various \ ../test -- cgit v1.2.3 From ccd53468b81e03732a5d3c6da3eb0c541aca738b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 Aug 2009 16:35:39 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1143 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/concepts.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 8add4464c..67b01f8b3 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -34,7 +34,7 @@ * ChibiOS/RT APIs are all named following this convention: * @a ch\\\(). * The possible groups are: @a Sys, @a Sch, @a Time, @a VT, @a Thd, @a Sem, - * @a Mtx, @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a IO, @a FDD, @a Dbg, + * @a Mtx, @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a IO, @a Dbg, * @a Heap, @a Pool. * * @section api_suffixes API Names Suffixes -- cgit v1.2.3 From 22c2ad1621b473f59ab7ef14fbbe568f5b22ee80 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 Aug 2009 17:35:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1146 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 981d70ee6..9a11aa4d0 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -650,8 +650,7 @@ RECURSIVE = NO # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = ../ports/ARMCM3/cmsis \ - ../ports/ARMCM3-STM32F103/stm32f10x.h +EXCLUDE = ../os/io/platforms/STM32/stm32f10x.h # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded -- cgit v1.2.3 From 1f2dd43b3ebca18d849527e1be6f93d473298677 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 6 Sep 2009 16:50:07 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1155 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 73ceeffa0..09ddc8850 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -7,7 +7,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** *** Kernel: 1.3.2unstable *** Architecture: ARM Cortex-M3 -*** GCC Version: 4.3.3 +*** GCC Version: 4.4.1 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -90,47 +90,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 215037 msgs/S, 430074 ctxswc/S +--- Score : 221677 msgs/S, 443354 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 174744 msgs/S, 349488 ctxswc/S +--- Score : 185595 msgs/S, 371190 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 174744 msgs/S, 349488 ctxswc/S +--- Score : 185595 msgs/S, 371190 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 676760 ctxswc/S +--- Score : 696488 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 164727 threads/S +--- Score : 173486 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 215680 threads/S +--- Score : 222371 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 54745 reschedulations/S, 328470 ctxswc/S +--- Score : 56916 reschedulations/S, 341496 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, I/O Queues throughput) ---- Score : 474888 bytes/S +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 504956 reschedulations/S, 504956 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, virtual timers set/reset) ---- Score : 647070 timers/S +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 474720 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, semaphores wait/signal) ---- Score : 823264 wait+signal/S +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 647110 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.11 (Benchmark, mutexes lock/unlock) ---- Score : 601084 lock+unlock/S +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 832884 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 586424 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- -- cgit v1.2.3 From c5496788e53c99371c2f4a36c67dcbf556176398 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 13 Sep 2009 09:38:59 +0000 Subject: Cortex-M3 related improvements. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1161 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 09ddc8850..78b3dded3 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -90,51 +90,64 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 221677 msgs/S, 443354 ctxswc/S +--- Score : 221722 msgs/S, 443444 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 185595 msgs/S, 371190 ctxswc/S +--- Score : 185630 msgs/S, 371260 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 185595 msgs/S, 371190 ctxswc/S +--- Score : 185630 msgs/S, 371260 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 696488 ctxswc/S +--- Score : 696632 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 173486 threads/S +--- Score : 173525 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222371 threads/S +--- Score : 222415 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 56916 reschedulations/S, 341496 ctxswc/S +--- Score : 56929 reschedulations/S, 341574 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 504956 reschedulations/S, 504956 ctxswc/S +--- Score : 505056 reschedulations/S, 505056 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 474720 bytes/S +--- Score : 474812 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647110 timers/S +--- Score : 647250 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 832884 wait+signal/S +--- Score : 833064 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586424 lock+unlock/S +--- Score : 586532 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 300 bytes +--- Thread: 60 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes --- Result: SUCCESS ---------------------------------------------------------------------------- -- cgit v1.2.3 From d688b84d2585d3bedbd682417313bcb581b1a1fc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 13 Sep 2009 12:06:08 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1162 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 78b3dded3..3dcd6bb1b 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -90,51 +90,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 221722 msgs/S, 443444 ctxswc/S +--- Score : 221751 msgs/S, 443502 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 185630 msgs/S, 371260 ctxswc/S +--- Score : 185654 msgs/S, 371308 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 185630 msgs/S, 371260 ctxswc/S +--- Score : 185654 msgs/S, 371308 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 696632 ctxswc/S +--- Score : 696720 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 173525 threads/S +--- Score : 173548 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222415 threads/S +--- Score : 222442 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 56929 reschedulations/S, 341574 ctxswc/S +--- Score : 56936 reschedulations/S, 341616 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505056 reschedulations/S, 505056 ctxswc/S +--- Score : 505120 reschedulations/S, 505120 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 474812 bytes/S +--- Score : 474880 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647250 timers/S +--- Score : 647326 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 833064 wait+signal/S +--- Score : 833164 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586532 lock+unlock/S +--- Score : 586596 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From a297cfe4f18116ef193921ebfd8aaca2ffa2873a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 19 Sep 2009 11:03:40 +0000 Subject: Updated reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1169 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 65 ++++++++++++++++++++-------------- docs/reports/AT91SAM7X-48-THUMB.txt | 65 ++++++++++++++++++++-------------- docs/reports/LPC2148-48-ARM.txt | 67 ++++++++++++++++++++--------------- docs/reports/LPC2148-48-THUMB.txt | 65 ++++++++++++++++++++-------------- docs/reports/MSP430F1611-0.75.txt | 51 ++++++++++++++++----------- docs/reports/STM32F103-48.txt | 65 ++++++++++++++++++++-------------- docs/reports/kernel.txt | 70 ++++++++++++++++++------------------- 7 files changed, 257 insertions(+), 191 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index c43d613e8..6372f4eba 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,9 +5,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.1unstable +*** Kernel: 1.3.2unstable *** Architecture: ARM7TDMI -*** GCC Version: 4.3.3 +*** GCC Version: 4.4.1 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -71,7 +71,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 61344 bytes, not fragmented +--- Size : 61428 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -89,54 +89,65 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Test Case 10.2 (Queues, output queues) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.1 (Serial driver, synchronous) +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 114920 msgs/S, 229840 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.2 (Serial driver, asynchronous) +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 90543 msgs/S, 181086 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.1 (Benchmark, messages #1) ---- Score : 115475 msgs/S, 230950 ctxswc/S +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 90543 msgs/S, 181086 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.2 (Benchmark, messages #2) ---- Score : 90202 msgs/S, 180404 ctxswc/S +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 391056 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.3 (Benchmark, messages #3) ---- Score : 90202 msgs/S, 180404 ctxswc/S +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 82564 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.4 (Benchmark, context switch) ---- Score : 394288 ctxswc/S +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 115469 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.5 (Benchmark, threads, full cycle) ---- Score : 79016 threads/S +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28337 reschedulations/S, 170022 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.6 (Benchmark, threads, create only) ---- Score : 108154 threads/S +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 258028 reschedulations/S, 258028 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28038 reschedulations/S, 168228 ctxswc/S +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 249164 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.8 (Benchmark, I/O Queues throughput) ---- Score : 231100 bytes/S +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 264136 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.9 (Benchmark, virtual timers set/reset) ---- Score : 264138 timers/S +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 466428 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.10 (Benchmark, semaphores wait/signal) ---- Score : 466428 wait+signal/S +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 317664 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.11 (Benchmark, mutexes lock/unlock) ---- Score : 321944 lock+unlock/S +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 324 bytes +--- Thread: 60 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes --- Result: SUCCESS ---------------------------------------------------------------------------- diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index 32760d182..1addfeb41 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -5,9 +5,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.1unstable +*** Kernel: 1.3.2unstable *** Architecture: ARM7TDMI -*** GCC Version: 4.3.3 +*** GCC Version: 4.4.1 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -71,7 +71,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 61344 bytes, not fragmented +--- Size : 61428 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -89,54 +89,65 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Test Case 10.2 (Queues, output queues) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.1 (Serial driver, synchronous) +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 104631 msgs/S, 209262 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.2 (Serial driver, asynchronous) +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 86467 msgs/S, 172934 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.1 (Benchmark, messages #1) ---- Score : 103051 msgs/S, 206102 ctxswc/S +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 86467 msgs/S, 172934 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.2 (Benchmark, messages #2) ---- Score : 85385 msgs/S, 170770 ctxswc/S +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 400560 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.3 (Benchmark, messages #3) ---- Score : 85385 msgs/S, 170770 ctxswc/S +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 85230 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.4 (Benchmark, context switch) ---- Score : 398888 ctxswc/S +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 117189 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.5 (Benchmark, threads, full cycle) ---- Score : 82154 threads/S +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28597 reschedulations/S, 171582 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.6 (Benchmark, threads, create only) ---- Score : 112237 threads/S +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 249680 reschedulations/S, 249680 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 27978 reschedulations/S, 167868 ctxswc/S +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 265680 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.8 (Benchmark, I/O Queues throughput) ---- Score : 262760 bytes/S +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 323120 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.9 (Benchmark, virtual timers set/reset) ---- Score : 323120 timers/S +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 364364 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.10 (Benchmark, semaphores wait/signal) ---- Score : 367156 wait+signal/S +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 262400 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.11 (Benchmark, mutexes lock/unlock) ---- Score : 263848 lock+unlock/S +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 324 bytes +--- Thread: 60 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes --- Result: SUCCESS ---------------------------------------------------------------------------- diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index 07613c361..f7e432e38 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,9 +5,9 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.0unstable +*** Kernel: 1.3.2unstable *** Architecture: ARM7TDMI -*** GCC Version: 4.3.3 +*** GCC Version: 4.4.1 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -71,7 +71,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 27360 bytes, not fragmented +--- Size : 26676 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -89,54 +89,65 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 10.2 (Queues, output queues) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.1 (Serial driver, synchronous) +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 144428 msgs/S, 288856 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.2 (Serial driver, asynchronous) +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 114644 msgs/S, 229288 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.1 (Benchmark, messages #1) ---- Score : 145306 msgs/S, 290612 ctxswc/S +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 114644 msgs/S, 229288 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.2 (Benchmark, messages #2) ---- Score : 112485 msgs/S, 224970 ctxswc/S +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 501240 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.3 (Benchmark, messages #3) ---- Score : 112485 msgs/S, 224970 ctxswc/S +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 107671 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.4 (Benchmark, context switch) ---- Score : 506544 ctxswc/S +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 150334 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.5 (Benchmark, threads, full cycle) ---- Score : 103028 threads/S +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 36494 reschedulations/S, 218964 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.6 (Benchmark, threads, create only) ---- Score : 141434 threads/S +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 340836 reschedulations/S, 340836 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36162 reschedulations/S, 216972 ctxswc/S +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 357104 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.8 (Benchmark, I/O Queues throughput) ---- Score : 334596 bytes/S +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 309452 timers/S --- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 12.9 (Benchmark, virtual timers set/reset) ---- Score : 309448 timers/S --- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Test Case 11.11 (Benchmark, semaphores wait/signal) --- Score : 622892 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.11 (Benchmark, mutexes lock/unlock) ---- Score : 386328 lock+unlock/S +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 380196 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 324 bytes +--- Thread: 60 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes --- Result: SUCCESS ---------------------------------------------------------------------------- diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 6723c7c7e..9cfc8b76d 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -5,9 +5,9 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.0unstable +*** Kernel: 1.3.2unstable *** Architecture: ARM7TDMI -*** GCC Version: 4.3.3 +*** GCC Version: 4.4.1 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -71,7 +71,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 27360 bytes, not fragmented +--- Size : 26676 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -89,54 +89,65 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 10.2 (Queues, output queues) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.1 (Serial driver, synchronous) +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 104991 msgs/S, 209982 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.2 (Serial driver, asynchronous) +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 87494 msgs/S, 174988 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.1 (Benchmark, messages #1) ---- Score : 103620 msgs/S, 207240 ctxswc/S +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 87494 msgs/S, 174988 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.2 (Benchmark, messages #2) ---- Score : 86227 msgs/S, 172454 ctxswc/S +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 410488 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.3 (Benchmark, messages #3) ---- Score : 86227 msgs/S, 172454 ctxswc/S +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 87174 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.4 (Benchmark, context switch) ---- Score : 406992 ctxswc/S +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 120331 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.5 (Benchmark, threads, full cycle) ---- Score : 83513 threads/S +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 29561 reschedulations/S, 177366 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.6 (Benchmark, threads, create only) ---- Score : 114007 threads/S +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 257160 reschedulations/S, 257160 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28812 reschedulations/S, 172872 ctxswc/S +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 265340 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.8 (Benchmark, I/O Queues throughput) ---- Score : 259552 bytes/S +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 303348 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.9 (Benchmark, virtual timers set/reset) ---- Score : 302376 timers/S +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 353240 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.10 (Benchmark, semaphores wait/signal) ---- Score : 350644 wait+signal/S +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 249168 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.11 (Benchmark, mutexes lock/unlock) ---- Score : 249148 lock+unlock/S +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 324 bytes +--- Thread: 60 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes --- Result: SUCCESS ---------------------------------------------------------------------------- diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 9351c310f..9e23ce552 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -5,7 +5,7 @@ Settings: MCLK=DCOCLK 750Khz *** ChibiOS/RT test suite *** -*** Kernel: 1.3.0unstable +*** Kernel: 1.3.2unstable *** Architecture: MSP430 *** GCC Version: 3.2.3 @@ -89,55 +89,66 @@ Settings: MCLK=DCOCLK 750Khz --- Test Case 10.2 (Queues, output queues) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.1 (Serial driver, synchronous) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Serial driver, asynchronous) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 12.1 (Benchmark, messages #1) +--- Test Case 11.1 (Benchmark, messages #1) --- Score : 1934 msgs/S, 3868 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.2 (Benchmark, messages #2) ---- Score : 1603 msgs/S, 3206 ctxswc/S +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 1602 msgs/S, 3204 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.3 (Benchmark, messages #3) +--- Test Case 11.3 (Benchmark, messages #3) --- Score : 1603 msgs/S, 3206 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.4 (Benchmark, context switch) +--- Test Case 11.4 (Benchmark, context switch) --- Score : 5936 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.5 (Benchmark, threads, full cycle) ---- Score : 1318 threads/S +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 1319 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.6 (Benchmark, threads, create only) +--- Test Case 11.6 (Benchmark, threads, create only) --- Score : 1699 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) --- Score : 494 reschedulations/S, 2964 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 4280 reschedulations/S, 4280 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) --- Score : 5020 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Test Case 11.10 (Benchmark, virtual timers set/reset) --- Score : 5628 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Test Case 11.11 (Benchmark, semaphores wait/signal) --- Score : 13908 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) --- Score : 7760 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 202 bytes +--- Thread: 30 bytes +--- Timer : 10 bytes +--- Semaph: 6 bytes +--- EventS: 2 bytes +--- EventL: 6 bytes +--- Mutex : 8 bytes +--- CondV.: 4 bytes +--- Queue : 16 bytes +--- MailB.: 20 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 60d4cb797..e0fea4d74 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -5,9 +5,9 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.1unstable +*** Kernel: 1.3.2unstable *** Architecture: ARM Cortex-M3 -*** GCC Version: 4.3.3 +*** GCC Version: 4.4.1 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -71,7 +71,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 16324 bytes, not fragmented +--- Size : 16408 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -89,54 +89,65 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Test Case 10.2 (Queues, output queues) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.1 (Serial driver, synchronous) +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 161714 msgs/S, 323428 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.2 (Serial driver, asynchronous) +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 135982 msgs/S, 271964 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.1 (Benchmark, messages #1) ---- Score : 161093 msgs/S, 322186 ctxswc/S +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 135981 msgs/S, 271962 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.2 (Benchmark, messages #2) ---- Score : 132900 msgs/S, 265800 ctxswc/S +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 498624 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.3 (Benchmark, messages #3) ---- Score : 132900 msgs/S, 265800 ctxswc/S +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 127308 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.4 (Benchmark, context switch) ---- Score : 493248 ctxswc/S +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 162821 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.5 (Benchmark, threads, full cycle) ---- Score : 123311 threads/S +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 43439 reschedulations/S, 260634 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.6 (Benchmark, threads, create only) ---- Score : 159485 threads/S +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 371820 reschedulations/S, 371820 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 41861 reschedulations/S, 251166 ctxswc/S +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 377504 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.8 (Benchmark, I/O Queues throughput) ---- Score : 365960 bytes/S +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 526066 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.9 (Benchmark, virtual timers set/reset) ---- Score : 525822 timers/S +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 686360 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.10 (Benchmark, semaphores wait/signal) ---- Score : 676360 wait+signal/S +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 475188 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 12.11 (Benchmark, mutexes lock/unlock) ---- Score : 489544 lock+unlock/S +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 300 bytes +--- Thread: 60 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes --- Result: SUCCESS ---------------------------------------------------------------------------- diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index f304fa998..888f18253 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -1,108 +1,108 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -O2 -mthumb -Kernel Size = 5504 +Kernel Size = 5168 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -O2 -mthumb -Kernel Size = 1232 +Kernel Size = 1280 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -mthumb -Kernel Size = 5296 +Kernel Size = 4960 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -mthumb -Kernel Size = 1248 +Kernel Size = 1216 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 4976 +Kernel Size = 4704 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1200 +Kernel Size = 1184 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -O2 -Kernel Size = 7936 +Kernel Size = 7760 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -O2 Kernel Size = 1856 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -Kernel Size = 7568 +Kernel Size = 7536 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -Kernel Size = 1824 +Kernel Size = 1808 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" Kernel Size = 7104 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1776 +Kernel Size = 1744 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5200 +Kernel Size = 5008 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1312 +Kernel Size = 1296 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5056 +Kernel Size = 4816 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1280 +Kernel Size = 1264 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4736 +Kernel Size = 4560 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.3 +Compiler : arm-elf-gcc (GCC) 4.4.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 1216 @@ -110,7 +110,7 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 5500 +Kernel Size = 5324 Platform : MSP430 OS Setup : Minimal kernel @@ -122,7 +122,7 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 5484 +Kernel Size = 5308 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 8b4030cdc9edbdcb9948893387b713b2cb4311c7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 19 Sep 2009 19:53:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1171 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/goals.dox | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/goals.dox b/docs/src/goals.dox index e7a26fb3f..bcce60922 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -69,15 +69,15 @@ *

          Fast and compact

          * Note, first "fast" then "compact", the focus is on speed and execution * efficiency and then on code size. This does not mean that the OS is large, - * the kernel size with all the subsystems activated is around 5.3KiB + * the kernel size with all the subsystems activated is around 5.2KiB * and can shrink down around to 1.2Kib in a minimal configuration * (STM32, Cortex-M3). It would be possible to make something even smaller but: * -# It would be pointless, it is already @a really small. * -# I would not trade efficiency or features in order to save few bytes. * . * About the "fast" part, the kernel is able to start/exit more than - * 200,000 threads per second on a 72MHz STM32. - * The Context Switch takes 2.3 microseconds on the same STM32. + * 220,000 threads per second on a 72MHz STM32. + * The Context Switch takes 1.41 microseconds on the same STM32. * *

          Tests and metrics

          * I think it is nice to know how an OS is tested and how it performs before -- cgit v1.2.3 From fb616e61013b58eaf5973db0ceefd14ef49d9b50 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 20 Sep 2009 06:30:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1172 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/src/portguide.dox | 23 ++++++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 9a11aa4d0..21ec9dac5 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3.2 +PROJECT_NUMBER = 1.3.3 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/docs/src/portguide.dox b/docs/src/portguide.dox index 14a3c2eca..fe5870732 100644 --- a/docs/src/portguide.dox +++ b/docs/src/portguide.dox @@ -75,16 +75,21 @@ * core (a common example: ARM7) of a supported microcontroller but has * differences in the internal peripherals.
          * If this is your case proceed as follow: - * -# Create a new directory under @p ./ports and name it as follow: - * @-@[-@] - * The compiler part can be omitted if the port uses GCC (our default). - * Examples: @p ARM7-LPC236x or @p ARMCM3-STM32F103-IAR + * -# Create a new directory under @p ./os/io/platforms and + * name it with the microcontroller name (or family name).
          + * In case of the ARM-based microcontroller you also need to create a + * equally named directory under + * @p ./os/ports/@/@ and + * put there the microcontroller related files such as the vectors table, + * see the existing ports as example. * -# Copy into the newly created directory the most closely related existing - * chip port. - * -# Rename the files in order to reflect the name of the new chip. - * -# Work out the differences in the drivers. - * -# Edit the documentation file @p port.dox, this is required if you want - * to regenerate this documentation including your work. + * chip port or the naked template files from + * @p ./os/io/templates. + * -# Work out the differences in the drivers or implement them if you started + * from the templates. + * -# Edit/create the documentation file @p platform.dox, this + * is required if you want to regenerate this documentation including + * your work. * . * Usually this kind of port just requires a serial driver (and those are very * similar each other) and some code for the interrupt controller (this one -- cgit v1.2.3 From a7cfbdaf10a03aa10236958bdba38479b301fc4f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 17 Oct 2009 08:05:52 +0000 Subject: Coverage for the new modules. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1225 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/coverage.txt | 63 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 docs/reports/coverage.txt (limited to 'docs') diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt new file mode 100644 index 000000000..1b4491ae8 --- /dev/null +++ b/docs/reports/coverage.txt @@ -0,0 +1,63 @@ +File `../../os/kernel/src/chsys.c' +Lines executed:100.00% of 25 +../../os/kernel/src/chsys.c:creating `chsys.c.gcov' + +File `../../os/kernel/src/chdebug.c' +Lines executed:76.92% of 13 +../../os/kernel/src/chdebug.c:creating `chdebug.c.gcov' + +File `../../os/kernel/src/chlists.c' +Lines executed:100.00% of 22 +../../os/kernel/src/chlists.c:creating `chlists.c.gcov' + +File `../../os/kernel/src/chvt.c' +Lines executed:100.00% of 29 +../../os/kernel/src/chvt.c:creating `chvt.c.gcov' + +File `../../os/kernel/src/chschd.c' +Lines executed:100.00% of 56 +../../os/kernel/src/chschd.c:creating `chschd.c.gcov' + +File `../../os/kernel/src/chthreads.c' +Lines executed:100.00% of 100 +../../os/kernel/src/chthreads.c:creating `chthreads.c.gcov' + +File `../../os/kernel/src/chsem.c' +Lines executed:100.00% of 73 +../../os/kernel/src/chsem.c:creating `chsem.c.gcov' + +File `../../os/kernel/src/chmtx.c' +Lines executed:100.00% of 94 +../../os/kernel/src/chmtx.c:creating `chmtx.c.gcov' + +File `../../os/kernel/src/chcond.c' +Lines executed:100.00% of 58 +../../os/kernel/src/chcond.c:creating `chcond.c.gcov' + +File `../../os/kernel/src/chevents.c' +Lines executed:100.00% of 101 +../../os/kernel/src/chevents.c:creating `chevents.c.gcov' + +File `../../os/kernel/src/chmsg.c' +Lines executed:100.00% of 31 +../../os/kernel/src/chmsg.c:creating `chmsg.c.gcov' + +File `../../os/kernel/src/chmboxes.c' +Lines executed:100.00% of 65 +../../os/kernel/src/chmboxes.c:creating `chmboxes.c.gcov' + +File `../../os/kernel/src/chqueues.c' +Lines executed:100.00% of 96 +../../os/kernel/src/chqueues.c:creating `chqueues.c.gcov' + +File `../../os/kernel/src/chmemcore.c' +Lines executed:100.00% of 17 +../../os/kernel/src/chmemcore.c:creating `chmemcore.c.gcov' + +File `../../os/kernel/src/chheap.c' +Lines executed:100.00% of 79 +../../os/kernel/src/chheap.c:creating `chheap.c.gcov' + +File `../../os/kernel/src/chmempools.c' +Lines executed:100.00% of 25 +../../os/kernel/src/chmempools.c:creating `chmempools.c.gcov' -- cgit v1.2.3 From 34fd822f84d409fa649934251fae01994de7888b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 17 Oct 2009 09:21:59 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1226 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 +-- docs/src/concepts.dox | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 21ec9dac5..808975cf9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1299,14 +1299,13 @@ PREDEFINED = __DOXYGEN__ \ CH_USE_WAITEXIT=1 \ CH_USE_SEMAPHORES=1 \ CH_USE_SEMSW=1 \ - CH_USE_SEMAPHORES_TIMEOUT=1 \ CH_USE_MUTEXES=1 \ CH_USE_CONDVARS=1 \ CH_USE_CONDVARS_TIMEOUT=1 \ CH_USE_EVENTS=1 \ CH_USE_EVENTS_TIMEOUT=1 \ CH_USE_QUEUES=1 \ - CH_USE_SERIAL_FULLDUPLEX=1 \ + CH_USE_MEMCORE=1 \ CH_USE_HEAP=1 \ CH_USE_MEMPOOLS=1 \ CH_USE_MESSAGES=1 \ diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 67b01f8b3..bab26d064 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -35,7 +35,7 @@ * @a ch\\\(). * The possible groups are: @a Sys, @a Sch, @a Time, @a VT, @a Thd, @a Sem, * @a Mtx, @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a IO, @a Dbg, - * @a Heap, @a Pool. + * @a Core, @a Heap, @a Pool. * * @section api_suffixes API Names Suffixes * The suffix can be one of the following: -- cgit v1.2.3 From 6dfbaa34d96d3571fc28aba6179268c1df595b2f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 18 Oct 2009 07:43:46 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1238 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 7 +++---- docs/reports/AT91SAM7X-48-THUMB.txt | 5 ++--- docs/reports/LPC2148-48-ARM.txt | 15 +++++++-------- docs/reports/LPC2148-48-THUMB.txt | 15 +++++++-------- docs/reports/MSP430F1611-0.75.txt | 7 +++---- docs/reports/STM32F103-48.txt | 5 ++--- docs/reports/STM32F103-72.txt | 3 +-- 7 files changed, 25 insertions(+), 32 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 6372f4eba..477e05a4b 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,7 +5,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.2unstable +*** Kernel: 1.3.3unstable *** Architecture: ARM7TDMI *** GCC Version: 4.4.1 @@ -71,7 +71,6 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 61428 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -106,7 +105,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 82564 threads/S +--- Score : 82563 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) @@ -118,7 +117,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 258028 reschedulations/S, 258028 ctxswc/S +--- Score : 258040 reschedulations/S, 258040 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index 1addfeb41..dcc5aaf91 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -5,7 +5,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.2unstable +*** Kernel: 1.3.3unstable *** Architecture: ARM7TDMI *** GCC Version: 4.4.1 @@ -71,7 +71,6 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 61428 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -110,7 +109,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 117189 threads/S +--- Score : 117190 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index f7e432e38..fc5a2e21a 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,7 +5,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.2unstable +*** Kernel: 1.3.3unstable *** Architecture: ARM7TDMI *** GCC Version: 4.4.1 @@ -71,7 +71,6 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 26676 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -106,11 +105,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 107671 threads/S +--- Score : 107672 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 150334 threads/S +--- Score : 150332 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) @@ -118,23 +117,23 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 340836 reschedulations/S, 340836 ctxswc/S +--- Score : 340840 reschedulations/S, 340840 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 357104 bytes/S +--- Score : 357096 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) --- Score : 309452 timers/S --- Result: SUCCESS ---- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) --- Score : 622892 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 380196 lock+unlock/S +--- Score : 380192 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 9cfc8b76d..a61a299ca 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -5,7 +5,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.2unstable +*** Kernel: 1.3.3unstable *** Architecture: ARM7TDMI *** GCC Version: 4.4.1 @@ -71,7 +71,6 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 26676 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -90,7 +89,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 104991 msgs/S, 209982 ctxswc/S +--- Score : 104990 msgs/S, 209980 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -102,7 +101,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 410488 ctxswc/S +--- Score : 410504 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) @@ -110,7 +109,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 120331 threads/S +--- Score : 120330 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) @@ -122,11 +121,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 265340 bytes/S +--- Score : 265332 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 303348 timers/S +--- Score : 303350 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) @@ -134,7 +133,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 249168 lock+unlock/S +--- Score : 249160 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 9e23ce552..49dd375b1 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -5,7 +5,7 @@ Settings: MCLK=DCOCLK 750Khz *** ChibiOS/RT test suite *** -*** Kernel: 1.3.2unstable +*** Kernel: 1.3.3unstable *** Architecture: MSP430 *** GCC Version: 3.2.3 @@ -71,7 +71,6 @@ Settings: MCLK=DCOCLK 750Khz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 508 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -94,7 +93,7 @@ Settings: MCLK=DCOCLK 750Khz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 1602 msgs/S, 3204 ctxswc/S +--- Score : 1603 msgs/S, 3206 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) @@ -110,7 +109,7 @@ Settings: MCLK=DCOCLK 750Khz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 1699 threads/S +--- Score : 1698 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index e0fea4d74..bfab849f9 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.2unstable +*** Kernel: 1.3.3unstable *** Architecture: ARM Cortex-M3 *** GCC Version: 4.4.1 @@ -71,7 +71,6 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 16408 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) @@ -94,7 +93,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 135982 msgs/S, 271964 ctxswc/S +--- Score : 135981 msgs/S, 271962 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 3dcd6bb1b..06e35a4a8 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.2unstable +*** Kernel: 1.3.3unstable *** Architecture: ARM Cortex-M3 *** GCC Version: 4.4.1 @@ -71,7 +71,6 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 16408 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 8.1 (Memory Pools, queue/dequeue) -- cgit v1.2.3 From 2c41c0d442aa3cea412fba318d4fe0a7cfd276d6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 19 Oct 2009 18:33:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1241 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 3 +- docs/src/createthread.dox | 186 ++++++++++++++++++++++++++++++++++++++++++++++ docs/src/stacks.dox | 4 +- 3 files changed, 191 insertions(+), 2 deletions(-) create mode 100644 docs/src/createthread.dox (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index e9849782c..ac534a0c9 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -18,7 +18,7 @@ */ /** - * @page articles Articles + * @page articles Articles and Code Samples * ChibiOS/RT Articles and Code Examples: * - @subpage article_stacks * - @subpage article_mutual_exclusion @@ -29,5 +29,6 @@ * - @subpage article_timing * - @subpage article_portguide * - @subpage article_design + * - @subpage article_create_thread * . */ diff --git a/docs/src/createthread.dox b/docs/src/createthread.dox new file mode 100644 index 000000000..6ef1a61c5 --- /dev/null +++ b/docs/src/createthread.dox @@ -0,0 +1,186 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_create_thread How to create a thread + * At the system startup there are already two active threads: + * - Idle thread. This thread has the lowest priority in the system so + * it runs only when the other threads in the system are sleeping. This + * threads usually switches the system in a low power mode and does nothing + * else. + * - Main thread. This thread executes your @p main() function at + * startup. The main thread is created at the @p NORMALPRIO level but it + * can change its own priority if required. It is from the main thread + * that the other threads are usually created. + * . + * There are two kind of threads in ChibiOS/RT: + * - Static Threads. This kind of threads are statically allocated in + * memory. The memory used by the thread cannot reused except for restarting + * the threads. + * - Dynamic Threads. Threads created by allocating memory from a memory + * heap or a memory pool. + * . + *

          Creating a static thread

          + * In order to create a static thread a working area must be declared using + * the macro @p WORKING_AREA as shown: + * @code +static WORKING_AREA(myThreadWorkingArea, 128); + * @endcode + * This macro reserves 128 bytes of stack for the thread and space for all + * the required thread related structures. The total size and the alignment + * problems are handled inside the macro, you only need to specify the pure + * stack size.
          + * A thread can be started by invoking @p chThdCreateStatic() as shown in this + * example: + * @code + Thread *tp = chThdCreateStatic(myThreadWorkingArea, + sizeof(myThreadWorkingArea), + NORMALPRIO, /* Initial priority. */ + myThread, /* Thread function. */ + NULL); /* Thread parameter. */ + * @endcode + * Tre variable tp receives the pointer to the thread object, it is taken + * by other APIs as parameter.
          + * Now a complete example: + * @code +/* +* * My simple application. + */ + +#include + +/* +* * Working area for the LED flashing thread. + */ +static WORKING_AREA(myThreadWorkingArea, 128); + +/* +* * LED flashing thread. + */ +static msg_t myThread(void *arg) { + + while (TRUE) { + LED_ON(); + chThdSleepMilliseconds(500); + LED_OFF(); + chThdSleepMilliseconds(500); + } +} + +int main(int argc, char *argv[]) { + + /* Starting the flashing LEDs thread.*/ + (void)chThdCreateStatic(myThreadWorkingArea, sizeof(myThreadWorkingArea), + NORMALPRIO, myThread, NULL); + . + . + . +} + * @endcode + * Note that is memory allocated to myThread() is statically defined and cannot + * be reused. Static threads are ideal for safety applications because there is + * no risk of a memory allocation failure because progressive heap + * fragmentation. + * + *

          Creating a dynamic thread using the heap allocator

          + * In order to create a thread from a memory heap is very easy: + * @code + Thread *tp = chThdCreateFromHeap(NULL, /* NULL = Default heap. */ + 128, /* Stack size. */ + NORMALPRIO, /* Initial priority. */ + myThread, /* Thread function. */ + NULL); /* Thread parameter. */ + * @endcode + * The memory is allocated from the spawned heap and the thread is started. + * Note that the memory is not freed when the thread terminates but when the + * thread final status (its return value) is collected by the spawning thread. + * As example: + * @code +static msg_t myThread(void *arg) { + + unsigned i = 10; + while (i > 0) { + LED_ON(); + chThdSleepMilliseconds(500); + LED_OFF(); + chThdSleepMilliseconds(500); + i--; + } + return (msg_t)i; +} + +int main(int argc, char *argv[]) { + + Thread *tp = chThdCreateFromHeap(NULL, 128, NORMALPRIO+1, myThread, NULL); + if (tp == NULL) + chSysHalt(); /* Memory exausted. */ + + /* The main thread continues its normal execution.*/ + . + . + /* +* * Now waits for the spawned thread to terminate (if it has not terminated +* * already) then gets the thread exit message (msg) and returns the +* * terminated thread memory to the heap (default system heap in this +* * example). + */ + msg_t msg = chThdWait(tp); + . + . +} + * @endcode + * + *

          Creating a dynamic thread using the heap allocator

          + * A pool is a collection of equally sized memory blocks, creating a thread from + * a memry pool is very similar to the previous example but the memory of + * terminated threads is returned to the memory pool rather than to a heap: + * @code +static msg_t myThread(void *arg) { + + unsigned i = 10; + while (i > 0) { + LED_ON(); + chThdSleepMilliseconds(500); + LED_OFF(); + chThdSleepMilliseconds(500); + i--; + } + return (msg_t)i; +} + +int main(int argc, char *argv[]) { + + Thread *tp = chThdCreateFromMemoryPool(myPool, NORMALPRIO+1, myThread, NULL); + if (tp == NULL) + chSysHalt(); /* Pool empty. */ + + /* The main thread continues its normal execution.*/ + . + . + /* +* * Now waits for the spawned thread to terminate (if it has not terminated +* * already) then gets the thread exit message (msg) and returns the +* * terminated thread memory to the original memory pool. + */ + msg_t msg = chThdWait(tp); + . + . +} + * @endcode + */ diff --git a/docs/src/stacks.dox b/docs/src/stacks.dox index 6035e1277..ddb416596 100644 --- a/docs/src/stacks.dox +++ b/docs/src/stacks.dox @@ -54,7 +54,9 @@ * - Enable the following debug options in the kernel: * - @p CH_DBG_ENABLE_STACK_CHECK, this enables a stack check before any * context switch. This option halts the system in @p chSysHalt() just - * before a stack overflow happens. + * before a stack overflow happens. The halt condition is caused by + * a stack overflow when the global variable @p panic_msg is set to + * @p NULL, normally it would point to a panic message. * - @p CH_DBG_FILL_THREADS, this option fills the threads working area * with an easily recognizable pattern (0x55). * - Assign a large and safe size to the thread stack, as example 256 bytes -- cgit v1.2.3 From 7d689a5fae4f0950c8cb8e291744465ea5d2ca93 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 20 Oct 2009 17:26:27 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1242 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 5 +++-- docs/src/interrupts.dox | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index ac534a0c9..ca35c3f14 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -20,15 +20,16 @@ /** * @page articles Articles and Code Samples * ChibiOS/RT Articles and Code Examples: + * - @subpage article_interrupts + * - @subpage article_create_thread + * - @subpage article_manage_memory * - @subpage article_stacks * - @subpage article_mutual_exclusion * - @subpage article_atomic * - @subpage article_saveram - * - @subpage article_interrupts * - @subpage article_jitter * - @subpage article_timing * - @subpage article_portguide * - @subpage article_design - * - @subpage article_create_thread * . */ diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index 95bd6c281..b85db6efd 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -18,7 +18,7 @@ */ /** - * @page article_interrupts Writing interrupt handlers under ChibiOS/RT + * @page article_interrupts How to write interrupt handlers * Since version 1.1.0 ChibiOS/RT offers a cross-platform method for writing * interrupt handlers. Port-related and compiler-related details are * encapsulated within standard system macros.
          -- cgit v1.2.3 From 62e0107e93dd934a3fe6586504652f79c703b499 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 20 Oct 2009 17:53:28 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1243 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/coverage.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index 1b4491ae8..d7af0c3e9 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -1,5 +1,5 @@ File `../../os/kernel/src/chsys.c' -Lines executed:100.00% of 25 +Lines executed:100.00% of 28 ../../os/kernel/src/chsys.c:creating `chsys.c.gcov' File `../../os/kernel/src/chdebug.c' @@ -15,11 +15,11 @@ Lines executed:100.00% of 29 ../../os/kernel/src/chvt.c:creating `chvt.c.gcov' File `../../os/kernel/src/chschd.c' -Lines executed:100.00% of 56 +Lines executed:100.00% of 74 ../../os/kernel/src/chschd.c:creating `chschd.c.gcov' File `../../os/kernel/src/chthreads.c' -Lines executed:100.00% of 100 +Lines executed:100.00% of 104 ../../os/kernel/src/chthreads.c:creating `chthreads.c.gcov' File `../../os/kernel/src/chsem.c' @@ -59,5 +59,5 @@ Lines executed:100.00% of 79 ../../os/kernel/src/chheap.c:creating `chheap.c.gcov' File `../../os/kernel/src/chmempools.c' -Lines executed:100.00% of 25 +Lines executed:96.43% of 28 ../../os/kernel/src/chmempools.c:creating `chmempools.c.gcov' -- cgit v1.2.3 From 8c10c8f576a67087a22b249bef43681227369a80 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 20 Oct 2009 18:12:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1245 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/memory.dox | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 docs/src/memory.dox (limited to 'docs') diff --git a/docs/src/memory.dox b/docs/src/memory.dox new file mode 100644 index 000000000..727a95b2b --- /dev/null +++ b/docs/src/memory.dox @@ -0,0 +1,138 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_manage_memory How to manage memory + * ChibiOS/RT is a static kernel so you don't need to manage memory at all + * if your application doesn't really require it. This doesn't mean that + * the OS is unable to manage memory but just that memory management is an + * optional part of the whole.
          + * The OS offers three distinct ways to manage memory, each one with its + * weaknesses and strengths: + * - Core Memory Manager. See @ref memcore. + * - Heap Allocator. See @ref heaps. + * - Memory Pools. See @ref pools. + * . + * The three mechanisms are able to coexist and are well integrated, as example + * the heap allocator uses the core memory manager in order to get more + * memory blocks, memory pools can optionally do the same thing. + * + *

          The three subsystems

          + * This is a small comparison table regarding the three subsystems, C-runtime + * and static objects are thrown there for comparison:

          + *
          Current -Version 0.6.5
          +Version 0.6.6
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From 1a5246e99628e0c5763f01ef388c93c6c3535542 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 13 Jun 2008 12:59:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@318 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index 9f7e7c836..1d07bc0ee 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,7 +7,7 @@
          -

          ChibiOS/RTTMHomepage

          +

          ChibiOS/RT embedded RTOS homepage

          Current -Version 0.6.6
          +Version 0.6.7
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From 2a249f7ff91bbd62586334fee29e6a288859f421 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 22 Jul 2008 10:12:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@347 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 30000a7ea..03115e918 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.7 beta" +PROJECT_NUMBER = "0.6.8 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index ab2a7b800..86ad1030d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.6.7
          +Version 0.6.8
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From eb9b4efd31018e4949e3cc09830a5ecfc1304664 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 25 Jul 2008 14:32:39 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@353 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 03115e918..ffc6c03e1 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.8 beta" +PROJECT_NUMBER = "0.6.9 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 86ad1030d..40ce2d19d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.6.8
          +Version 0.6.9
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From 6ae1a6c88223d875f0dbd81066d4d8f40713b0a0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 26 Jul 2008 09:46:43 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@360 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index a88291bb2..1f57b2d60 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -372,6 +372,19 @@ */ /** @} */ +/** + * @defgroup CondVars Conditional Variables + * @{ + * Conditional Variables and threads synchronization. + * Operation mode

          + * Add description here.
          + * In order to use the Conditional Variables APIs the \p CH_USE_CONDVARS + * option must be specified in \p chconf.h.

          + * @file condvars.h Conditional Variables macros and structures. + * @file chcond.c Conditional Variables code. + */ +/** @} */ + /** * @defgroup Mutexes Mutexes * @{ -- cgit v1.2.3 From 97369fbd0f7adbbdcbb37cea976825efeb1d5e3a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 1 Aug 2008 13:38:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@383 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 1f57b2d60..a88291bb2 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -372,19 +372,6 @@ */ /** @} */ -/** - * @defgroup CondVars Conditional Variables - * @{ - * Conditional Variables and threads synchronization. - * Operation mode

          - * Add description here.
          - * In order to use the Conditional Variables APIs the \p CH_USE_CONDVARS - * option must be specified in \p chconf.h.

          - * @file condvars.h Conditional Variables macros and structures. - * @file chcond.c Conditional Variables code. - */ -/** @} */ - /** * @defgroup Mutexes Mutexes * @{ -- cgit v1.2.3 From f3c6388ed54a5b50a4fab613822c4d176b9e346c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 25 Aug 2008 17:36:58 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@405 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index ffc6c03e1..9fa74ba80 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.9 beta" +PROJECT_NUMBER = "0.6.10 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 40ce2d19d..bee25b525 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.6.9
          +Version 0.6.10
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From ac6b3caba1b75ca603e63946f8ca7f54c7ab598f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 26 Aug 2008 10:38:29 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@407 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 9fa74ba80..7f4432c52 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.10 beta" +PROJECT_NUMBER = "0.7.0 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index bee25b525..232949a08 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.6.10
          +Version 0.7.0
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From ff6163a0494434bb73926b42cfdc9681313fc662 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 29 Aug 2008 08:31:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@414 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 ++ docs/ch.txt | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 7f4432c52..4df239ac5 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -255,6 +255,8 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_QUEUES_HALFDUPLEX \ CH_USE_SERIAL_FULLDUPLEX \ CH_USE_SERIAL_HALFDUPLEX \ + CH_USE_HEAP \ + CH_USE_MEMPOOLS \ CH_USE_MESSAGES \ CH_USE_MESSAGES_EVENT \ CH_USE_MESSAGES_PRIORITY \ diff --git a/docs/ch.txt b/docs/ch.txt index a88291bb2..307dc6765 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -344,6 +344,38 @@ */ /** @} */ +/** + * @defgroup Heap Heap + * @{ + * Heap Allocator related APIs. + * Operation mode

          + * The heap allocator implements a first-fit strategy and its APIs are + * functionally equivalent to the usual \p malloc() and \p free(). The main + * difference is that the heap APIs are thread safe.
          + * By enabling the \p CH_USE_MALLOC_HEAP option the heap manager will use the + * runtime-provided \p malloc() and \p free() as backend for the heap APIs + * instead of the system provided allocator.
          + * In order to use the heap APIs the \p CH_USE_HEAP option must be specified + * in \p chconf.h. + * @file include/heap.h Heap macros and structures. + * @file chheap.c Heap functions. + */ +/** @} */ + +/** + * @defgroup MemoryPools Memory Pools + * @{ + * Memory Pools related APIs. + * Operation mode

          + * The Memory Pools APIs allow to allocate/free fixed size objects in + * constant time and reliably without memory fragmentation problems.
          + * In order to use the Time APIs the \p CH_USE_MEMPOOLS option must be + * specified in \p chconf.h. + * @file include/mempools.h Memory Pools macros and structures. + * @file chmempools.c Memory Pools functions. + */ +/** @} */ + /** * @defgroup Semaphores Semaphores * @{ -- cgit v1.2.3 From a054e9599dc5290a07464542530324f87000690c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 3 Sep 2008 12:43:02 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@422 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 4df239ac5..901be54dc 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -240,12 +240,10 @@ PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ CH_USE_VIRTUAL_TIMERS \ CH_USE_SYSTEMTIME \ - CH_USE_SLEEP \ - CH_USE_RESUME \ - CH_USE_SUSPEND \ - CH_USE_TERMINATE \ CH_USE_WAITEXIT \ CH_USE_SEMAPHORES \ + CH_USE_SEMSW \ + CH_USE_SEMAPHORES_TIMEOUT \ CH_USE_MUTEXES \ CH_USE_EVENTS \ CH_USE_EVENTS_TIMEOUT \ @@ -260,7 +258,6 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES \ CH_USE_MESSAGES_EVENT \ CH_USE_MESSAGES_PRIORITY \ - CH_USE_SEMSW \ CH_USE_DEBUG \ CH_USE_TRACE EXPAND_AS_DEFINED = -- cgit v1.2.3 From 15ee17c8740a378cffcae681421b9e28fcde3d4c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 6 Sep 2008 08:56:34 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@426 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 901be54dc..d3994dcc1 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -238,6 +238,7 @@ INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ + CH_USE_THREAD_EXT \ CH_USE_VIRTUAL_TIMERS \ CH_USE_SYSTEMTIME \ CH_USE_WAITEXIT \ -- cgit v1.2.3 From a474010e54534785366d1924554f5452725499b0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 11 Sep 2008 15:03:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@430 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 307dc6765..8ad0db828 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -38,10 +38,11 @@ *
        • No static setup at compile time, there is no need to configure a maximum * number of all the above resources.
        • *
        • No *need* for a memory allocator, all the kernel structures are static - * and declaratively allocated. A memory allocator can be used in your - * application but it is not required by the ChibiOS/RT itself.
        • + * and declaratively allocated. *
        • Threads, Semaphores, Event Sources, Virtual Timers creation/deletion at * runtime.
        • + *
        • Optional, thread safe, Heap Allocator subsystem.
        • + *
        • Optional, thread safe, Memory Pools Allocator subsystem.
        • *
        • Blocking and non blocking I/O channels with timeout and events generation * capability.
        • *
        • Minimal system requirements: about 8KiB ROM with all options enabled and -- cgit v1.2.3 From 2a9e6947a1c0cefe24f8ac7f1b4997e0f661572f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 20 Sep 2008 15:34:56 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@434 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d3994dcc1..4e317e174 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.7.0 beta" +PROJECT_NUMBER = "0.7.1 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 232949a08..638e01887 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        • Current -Version 0.7.0
          +Version 0.7.1
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From df787828e82f931af528bbec5b5e0ea7b525413c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 20 Sep 2008 15:41:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@435 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 8ad0db828..2ec40d9c6 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -66,11 +66,12 @@ * The possible groups are: \a Sys, \a Sch, \a VT, \a Thd, \a Sem, \a Mtx, * \a Evt, \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD, \a Dbg. * The suffix is not present for normal APIs but can be one of - * the following: "I" for APIs meant to be invoked from an interrupt handler - * or within the system mutex zone but not from user code, "S" for APIs only - * useable from within the system mutex zone but not from interrupt handlers - * or user code. The APIs without suffix can be invoked only from the user - * code.
          + * the following: "I" for APIs meant to be invoked within the system mutex + * zone, "S" for APIs only useable from within the system mutex zone but not + * from interrupt handlers.
          + * The APIs without suffix can be invoked only from the user code outsize the + * system mutex zone and not from interrupt handlers unless differently + * specified.
          * Examples: \p chThdCreate(), \p chSemSignalI(), \p chIQGetTimeout(). * * @section scheduling Scheduling -- cgit v1.2.3 From 9a1c91e6ee9baaee3529e16fc732cbd9c7e99844 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 22 Sep 2008 15:29:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@437 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 4e317e174..3abb12ff1 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -260,7 +260,8 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES_EVENT \ CH_USE_MESSAGES_PRIORITY \ CH_USE_DEBUG \ - CH_USE_TRACE + CH_USE_TRACE \ + CH_USE_DYNAMIC EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -- cgit v1.2.3 From 8feba91865981a1cb8b1ba12c4bce09997141f2f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 26 Sep 2008 10:46:10 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@444 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 - 1 file changed, 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 3abb12ff1..0f75703be 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -238,7 +238,6 @@ INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ - CH_USE_THREAD_EXT \ CH_USE_VIRTUAL_TIMERS \ CH_USE_SYSTEMTIME \ CH_USE_WAITEXIT \ -- cgit v1.2.3 From 102341ad5d0e39af783675233b888977ab4585db Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 4 Oct 2008 07:44:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@447 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 0f75703be..229408920 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.7.1 beta" +PROJECT_NUMBER = "0.7.2 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 638e01887..78bf64068 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.7.1
          +Version 0.7.2
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From e3974196a3f092878c2ec0d466d0ec412298be6b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 15 Oct 2008 18:53:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@472 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 2ec40d9c6..8f813d62f 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -141,8 +141,7 @@ *

          * The ARM7 port makes some assumptions on the application code organization: *

            - *
          • The \p main() function is invoked in system mode and with interrupts - * disabled.
          • + *
          • The \p main() function is invoked in system mode.
          • *
          • Each thread has a private user/system stack, the system has a single * interrupt stack where all the interrupts are processed.
          • *
          • The threads are started in system mode.
          • -- cgit v1.2.3 From 3d3e5728aa1d14444b99732426d36f6375013727 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 16 Oct 2008 20:24:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@473 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 44 +++++++++++++++++++++++++++++--------------- docs/ch.txt | 14 ++++++++++++++ docs/img/readylist.png | Bin 0 -> 7883 bytes docs/img/states.png | Bin 0 -> 29897 bytes docs/img/workspace.png | Bin 0 -> 14430 bytes 5 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 docs/img/readylist.png create mode 100644 docs/img/states.png create mode 100644 docs/img/workspace.png (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 229408920..b9baae9ad 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.5.5 +# Doxyfile 1.5.7.1 #--------------------------------------------------------------------------- # Project related configuration options @@ -31,7 +31,6 @@ SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = YES INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 @@ -43,9 +42,11 @@ OPTIMIZE_OUTPUT_VHDL = NO BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES DISTRIBUTE_GROUP_DOC = NO SUBGROUPING = YES TYPEDEF_HIDES_STRUCT = NO +SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- @@ -76,7 +77,10 @@ ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO +SHOW_FILES = YES +SHOW_NAMESPACES = YES FILE_VERSION_FILTER = +LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -163,20 +167,27 @@ HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO +HTML_DYNAMIC_SECTIONS = NO GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project -HTML_DYNAMIC_SECTIONS = NO +GENERATE_HTMLHELP = NO CHM_FILE = HHC_LOCATION = GENERATE_CHI = NO +CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHG_LOCATION = DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES TREEVIEW_WIDTH = 250 +FORMULA_FONTSIZE = 10 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- @@ -188,8 +199,8 @@ COMPACT_LATEX = NO PAPER_TYPE = a4wide EXTRA_PACKAGES = LATEX_HEADER = -PDF_HYPERLINKS = NO -USE_PDFLATEX = NO +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- @@ -277,25 +288,28 @@ PERL_PATH = /usr/bin/perl CLASS_DIAGRAMS = NO MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO +HAVE_DOT = YES +DOT_FONTNAME = FreeSans +DOT_FONTSIZE = 8 +DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = YES GROUP_GRAPHS = YES -UML_LOOK = NO +UML_LOOK = YES TEMPLATE_RELATIONS = NO INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO +INCLUDED_BY_GRAPH = NO +CALL_GRAPH = YES CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES +DIRECTORY_GRAPH = NO DOT_IMAGE_FORMAT = png DOT_PATH = DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = NO -DOT_MULTI_TARGETS = NO +DOT_GRAPH_MAX_NODES = 10 +MAX_DOT_GRAPH_DEPTH = 3 +DOT_TRANSPARENT = YES +DOT_MULTI_TARGETS = YES GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- diff --git a/docs/ch.txt b/docs/ch.txt index 8f813d62f..05d38e33c 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -229,6 +229,20 @@ */ /** @} */ +/** + * @defgroup STM32F103 STM32F103 Support + * @{ + *

            + * The STM32F103 support includes: + *

              + *
            • Buffered, interrupt driven, serial driver.
            • + *
            • A demo supporting the kernel test suite.
            • + *
            + *

            + * @ingroup ARMCM3 + */ +/** @} */ + /** * @defgroup AVR MegaAVR * @{ diff --git a/docs/img/readylist.png b/docs/img/readylist.png new file mode 100644 index 000000000..4d852388f Binary files /dev/null and b/docs/img/readylist.png differ diff --git a/docs/img/states.png b/docs/img/states.png new file mode 100644 index 000000000..05a61fcb4 Binary files /dev/null and b/docs/img/states.png differ diff --git a/docs/img/workspace.png b/docs/img/workspace.png new file mode 100644 index 000000000..03149b7bd Binary files /dev/null and b/docs/img/workspace.png differ -- cgit v1.2.3 From 1d23eb296156769cff3e41bd7026db1cd2538664 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 17 Oct 2008 18:33:35 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@474 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/ch.txt | 10 ++++++++++ docs/readme.txt | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 docs/readme.txt (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index b9baae9ad..98fe036c1 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -9,7 +9,7 @@ PROJECT_NUMBER = "0.7.2 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = NO +BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ diff --git a/docs/ch.txt b/docs/ch.txt index 05d38e33c..de2db1c6f 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -328,6 +328,16 @@ */ /** @} */ +/** + * @defgroup ThreadLists Thread Lists and Queues + * @{ + * ChibiOS/RT thread lists and queues utilities. + * @ingroup Kernel + * @file chlists.c Lists and queues code. + * @file lists.h Lists and queues macros and structures. + */ +/** @} */ + /** * @defgroup Threads Threads * @{ diff --git a/docs/readme.txt b/docs/readme.txt new file mode 100644 index 000000000..730d20072 --- /dev/null +++ b/docs/readme.txt @@ -0,0 +1,35 @@ +*** Documentation access *** + +Open ./docs/index.html to open the start page or ./docs/html/index.html in +order to access directly the doxigen documentation. + +*** Documentation rebuild procedure *** + +The following software must be installed: +- Doxigen 1.5.7.1 or later. +- Graphviz 2.21 or later. The ./bin directory must be specified in the path in + order to make Graphviz accessible by doxigen. + +Build procedure: +- Run Doxiwizard. +- Load ./docs/Doxifile from Doxiwizard. +- Start. + +*** Doxygen usage rules *** +- The JavaDoc style is recommended (@ instad of \, /** instead of /*!). +- Params descriptions must not begin with a capital letter and must not be + terminated with a dot unless it is composed of multiple paragraphs. +- Retvals descriptions must not begin with a capital letter but must be + terminated by a dot. +- Normal paragraphs, return rescriptions and notes must start with a capital + letter and must be terminated with a dot. +- Multiple return values should be listed using the @retval command. +- AUTOBRIEF is enabled but deprecated, gradually convert to the use of explicit + @brief command. + +Examples: +@note This is a note. +@retval RDY_OK is a possible return value. +@return The pointer to the created thread is returned. +@param n the number of bytes to be written +@param n the number of bytes to be written. This value can be zero. -- cgit v1.2.3 From b3fb08cb7e2025069a62156c0b760bc537a1c2c6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 18 Oct 2008 07:16:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@476 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 98fe036c1..bfff6abf3 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -306,7 +306,7 @@ DIRECTORY_GRAPH = NO DOT_IMAGE_FORMAT = png DOT_PATH = DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 10 +DOT_GRAPH_MAX_NODES = 20 MAX_DOT_GRAPH_DEPTH = 3 DOT_TRANSPARENT = YES DOT_MULTI_TARGETS = YES -- cgit v1.2.3 From dbe47e931ac6c9ffa72d861f283dd661fc289d65 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 18 Oct 2008 09:58:54 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@478 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/Performance.ods | Bin 18787 -> 0 bytes docs/index.html | 2 +- docs/reports/AT91SAM7X-48-ARM.txt | 75 ++++++++++++++++++++++++++++++++++++ docs/reports/AT91SAM7X-48-THUMB.txt | 75 ++++++++++++++++++++++++++++++++++++ docs/reports/LPC2148-48-ARM.txt | 75 ++++++++++++++++++++++++++++++++++++ docs/reports/LPC2148-48-THUMB.txt | 75 ++++++++++++++++++++++++++++++++++++ docs/reports/MSP430F1611-0.75.txt | 75 ++++++++++++++++++++++++++++++++++++ docs/reports/STM32F103-48.txt | 75 ++++++++++++++++++++++++++++++++++++ docs/reports/STM32F103-72.txt | 75 ++++++++++++++++++++++++++++++++++++ 10 files changed, 527 insertions(+), 2 deletions(-) delete mode 100644 docs/Performance.ods create mode 100644 docs/reports/AT91SAM7X-48-ARM.txt create mode 100644 docs/reports/AT91SAM7X-48-THUMB.txt create mode 100644 docs/reports/LPC2148-48-ARM.txt create mode 100644 docs/reports/LPC2148-48-THUMB.txt create mode 100644 docs/reports/MSP430F1611-0.75.txt create mode 100644 docs/reports/STM32F103-48.txt create mode 100644 docs/reports/STM32F103-72.txt (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index bfff6abf3..e8f1138c3 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.7.2 beta" +PROJECT_NUMBER = "0.7.3 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/Performance.ods b/docs/Performance.ods deleted file mode 100644 index cd17a8ced..000000000 Binary files a/docs/Performance.ods and /dev/null differ diff --git a/docs/index.html b/docs/index.html index 78bf64068..2675e51cf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.7.2
          +Version 0.7.3
          -
          Project on SourceForge
          Documentation
          diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt new file mode 100644 index 000000000..ce810b41e --- /dev/null +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -0,0 +1,75 @@ +*************************************************************************** +Kernel: ChibiOS/RT 0.7.2 +Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu +Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) +*************************************************************************** + +--------------------------------------------------------------------------- +--- Test Case 1 (Ready List, priority enqueuing test #1) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 2 (Ready List, priority enqueuing test #2) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 4 (Semaphores, timeout test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 5 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 8 (Messages, dispatch test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (Heap, allocation and fragmentation test) +--- Size : 62452 bytes, not fragmented +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 13 (Benchmark, context switch #1, optimal) +--- Score : 114945 msgs/S, 229890 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Score : 90221 msgs/S, 180442 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 90221 msgs/S, 180442 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, threads creation/termination, worst case) +--- Score : 66878 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 17 (Benchmark, threads creation/termination, optimal) +--- Score : 92312 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 18 (Benchmark, mass reschedulation, 5 threads) +--- Score : 27850 reschedulations/S, 167100 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 19 (Benchmark, I/O Queues throughput) +--- Score : 240464 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt new file mode 100644 index 000000000..6174b16f1 --- /dev/null +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -0,0 +1,75 @@ +*************************************************************************** +Kernel: ChibiOS/RT 0.7.2 +Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) +Options: -Os -fomit-frame-pointer -mabi=apcs-gnu +Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) +*************************************************************************** + +--------------------------------------------------------------------------- +--- Test Case 1 (Ready List, priority enqueuing test #1) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 2 (Ready List, priority enqueuing test #2) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 4 (Semaphores, timeout test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 5 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 8 (Messages, dispatch test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (Heap, allocation and fragmentation test) +--- Size : 62340 bytes, not fragmented +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 13 (Benchmark, context switch #1, optimal) +--- Score : 96410 msgs/S, 192820 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Score : 83600 msgs/S, 167200 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 83600 msgs/S, 167200 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, threads creation/termination, worst case) +--- Score : 70014 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 17 (Benchmark, threads creation/termination, optimal) +--- Score : 98192 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 18 (Benchmark, mass reschedulation, 5 threads) +--- Score : 27610 reschedulations/S, 165660 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 19 (Benchmark, I/O Queues throughput) +--- Score : 241216 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt new file mode 100644 index 000000000..c97b82ae3 --- /dev/null +++ b/docs/reports/LPC2148-48-ARM.txt @@ -0,0 +1,75 @@ +*************************************************************************** +Kernel: ChibiOS/RT 0.7.2 +Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) +*************************************************************************** + +--------------------------------------------------------------------------- +--- Test Case 1 (Ready List, priority enqueuing test #1) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 2 (Ready List, priority enqueuing test #2) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 4 (Semaphores, timeout test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 5 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 8 (Messages, dispatch test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (Heap, allocation and fragmentation test) +--- Size : 28116 bytes, not fragmented +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 13 (Benchmark, context switch #1, optimal) +--- Score : 144453 msgs/S, 288906 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Score : 111980 msgs/S, 223960 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 111979 msgs/S, 223958 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, threads creation/termination, worst case) +--- Score : 86464 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 17 (Benchmark, threads creation/termination, optimal) +--- Score : 118939 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 18 (Benchmark, mass reschedulation, 5 threads) +--- Score : 35870 reschedulations/S, 215220 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 19 (Benchmark, I/O Queues throughput) +--- Score : 341232 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt new file mode 100644 index 000000000..93dae7113 --- /dev/null +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -0,0 +1,75 @@ +*************************************************************************** +Kernel: ChibiOS/RT 0.7.2 +Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) +Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) +*************************************************************************** + +--------------------------------------------------------------------------- +--- Test Case 1 (Ready List, priority enqueuing test #1) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 2 (Ready List, priority enqueuing test #2) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 4 (Semaphores, timeout test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 5 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 8 (Messages, dispatch test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (Heap, allocation and fragmentation test) +--- Size : 27988 bytes, not fragmented +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 13 (Benchmark, context switch #1, optimal) +--- Score : 98911 msgs/S, 197822 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Score : 83525 msgs/S, 167050 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 83526 msgs/S, 167052 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, threads creation/termination, worst case) +--- Score : 70158 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 17 (Benchmark, threads creation/termination, optimal) +--- Score : 100582 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 18 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28222 reschedulations/S, 169332 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 19 (Benchmark, I/O Queues throughput) +--- Score : 242376 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt new file mode 100644 index 000000000..af86353ba --- /dev/null +++ b/docs/reports/MSP430F1611-0.75.txt @@ -0,0 +1,75 @@ +*************************************************************************** +Kernel: ChibiOS/RT 0.7.2 +Compiler: GCC 3.2.3 (MSPGCC) +Options: -O2 -fomit-frame-pointer +Settings: MCLK=DCOCLK 750Khz +*************************************************************************** + +--------------------------------------------------------------------------- +--- Test Case 1 (Ready List, priority enqueuing test #1) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 2 (Ready List, priority enqueuing test #2) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 4 (Semaphores, timeout test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 5 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 8 (Messages, dispatch test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (Heap, allocation and fragmentation test) +--- Size : 0 bytes, fragmented, test skipped +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 13 (Benchmark, context switch #1, optimal) +--- Score : 1892 msgs/S, 3784 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Score : 1577 msgs/S, 3154 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 1577 msgs/S, 3154 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, threads creation/termination, worst case) +--- Score : 1157 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 17 (Benchmark, threads creation/termination, optimal) +--- Score : 1521 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 18 (Benchmark, mass reschedulation, 5 threads) +--- Score : 498 reschedulations/S, 2988 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 19 (Benchmark, I/O Queues throughput) +--- Score : 5432 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt new file mode 100644 index 000000000..5e20f0277 --- /dev/null +++ b/docs/reports/STM32F103-48.txt @@ -0,0 +1,75 @@ +*************************************************************************** +Kernel: ChibiOS/RT 0.7.2 +Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: SYSCLK=48, ACR=0x11 (1 wait state) +*************************************************************************** + +--------------------------------------------------------------------------- +--- Test Case 1 (Ready List, priority enqueuing test #1) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 2 (Ready List, priority enqueuing test #2) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 4 (Semaphores, timeout test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 5 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 8 (Messages, dispatch test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (Heap, allocation and fragmentation test) +--- Size : 17324 bytes, not fragmented +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 13 (Benchmark, context switch #1, optimal) +--- Score : 160572 msgs/S, 321144 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Score : 134029 msgs/S, 268058 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 134029 msgs/S, 268058 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, threads creation/termination, worst case) +--- Score : 105399 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 17 (Benchmark, threads creation/termination, optimal) +--- Score : 137112 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 18 (Benchmark, mass reschedulation, 5 threads) +--- Score : 42051 reschedulations/S, 252306 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 19 (Benchmark, I/O Queues throughput) +--- Score : 377572 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt new file mode 100644 index 000000000..6d1918e65 --- /dev/null +++ b/docs/reports/STM32F103-72.txt @@ -0,0 +1,75 @@ +*************************************************************************** +Kernel: ChibiOS/RT 0.7.2 +Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +*************************************************************************** + +--------------------------------------------------------------------------- +--- Test Case 1 (Ready List, priority enqueuing test #1) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 2 (Ready List, priority enqueuing test #2) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 4 (Semaphores, timeout test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 5 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 8 (Messages, dispatch test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (Heap, allocation and fragmentation test) +--- Size : 17324 bytes, not fragmented +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 13 (Benchmark, context switch #1, optimal) +--- Score : 216994 msgs/S, 433988 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Score : 178662 msgs/S, 357324 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 178663 msgs/S, 357326 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, threads creation/termination, worst case) +--- Score : 141108 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 17 (Benchmark, threads creation/termination, optimal) +--- Score : 187046 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 18 (Benchmark, mass reschedulation, 5 threads) +--- Score : 55768 reschedulations/S, 334608 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 19 (Benchmark, I/O Queues throughput) +--- Score : 489476 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 902470d1c542735b989a727355744a974af43de4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 25 Oct 2008 09:34:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@481 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 5 ++--- docs/ch.txt | 9 ++------- 2 files changed, 4 insertions(+), 10 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index e8f1138c3..1b95ba06c 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -249,8 +249,6 @@ INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ - CH_USE_VIRTUAL_TIMERS \ - CH_USE_SYSTEMTIME \ CH_USE_WAITEXIT \ CH_USE_SEMAPHORES \ CH_USE_SEMSW \ @@ -271,7 +269,8 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_MESSAGES_PRIORITY \ CH_USE_DEBUG \ CH_USE_TRACE \ - CH_USE_DYNAMIC + CH_USE_DYNAMIC \ + CH_USE_ROUNDROBIN EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- diff --git a/docs/ch.txt b/docs/ch.txt index de2db1c6f..2186de365 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -351,8 +351,6 @@ * @defgroup VirtualTimers Virtual Timers * @{ * Virtual Timers APIs. - * In order to use the Virtual Timers the \p CH_USE_VIRTUAL_TIMERS option - * must be specified in \p chconf.h. * @file src/chdelta.c Virtual Timers code. * @file delta.h Virtual Timers macros and structures. */ @@ -362,8 +360,6 @@ * @defgroup Time Time * @{ * Time related APIs. - * In order to use the Time APIs the \p CH_USE_SLEEP - * option must be specified in \p chconf.h. * @file include/sleep.h Time macros and structures. * @file chsleep.c Time functions. */ @@ -503,9 +499,8 @@ * server threads but just a pointer passed so the exchange is very time * efficient.
          * Messages are usually processed in FIFO order but it is possible to process - * them in priority order by specifying \p P_MSGBYPRIO when creating a server - * thread, \p CH_USE_MESSAGES_PRIORITY must also be specified in \p chconf.h - * in order to enable the feature.
          + * them in priority order by specifying CH_USE_MESSAGES_PRIORITY + * in \p chconf.h.
          * Threads do not need to allocate space for message queues, the mechanism * just requires two extra pointers in the \p Thread structure (the message * queue header).
          -- cgit v1.2.3 From 3547c3916175d387a43c6d3a36330550b1d278d5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 25 Oct 2008 10:35:10 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@482 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 2186de365..90a92c294 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -348,20 +348,11 @@ /** @} */ /** - * @defgroup VirtualTimers Virtual Timers + * @defgroup Time Time and Virtual Timers * @{ - * Virtual Timers APIs. - * @file src/chdelta.c Virtual Timers code. - * @file delta.h Virtual Timers macros and structures. - */ -/** @} */ - -/** - * @defgroup Time Time - * @{ - * Time related APIs. - * @file include/sleep.h Time macros and structures. - * @file chsleep.c Time functions. + * Time and Virtual Timers related APIs. + * @file include/vt.h Time macros and structures. + * @file chvt.c Time functions. */ /** @} */ -- cgit v1.2.3 From 69d06df416f4aa337de7183b6ed54ffe527ca0c0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 1 Nov 2008 16:46:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@488 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/ATmega128-16.txt | 75 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 docs/reports/ATmega128-16.txt (limited to 'docs') diff --git a/docs/reports/ATmega128-16.txt b/docs/reports/ATmega128-16.txt new file mode 100644 index 000000000..f96f33174 --- /dev/null +++ b/docs/reports/ATmega128-16.txt @@ -0,0 +1,75 @@ +*************************************************************************** +Kernel: ChibiOS/RT 0.7.3 +Compiler: GCC 4.3.0 (WinAVR 10.06.2008) +Options: -O2 +Settings: F_CPU=16000000 +*************************************************************************** + +--------------------------------------------------------------------------- +--- Test Case 1 (Ready List, priority enqueuing test #1) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 2 (Ready List, priority enqueuing test #2) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 4 (Semaphores, timeout test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 5 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 8 (Messages, dispatch test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (Heap, allocation and fragmentation test) +--- Size : 508 bytes, not fragmented +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 13 (Benchmark, context switch #1, optimal) +--- Score : 30775 msgs/S, 61550 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Score : 24524 msgs/S, 49048 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 24524 msgs/S, 49048 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, threads creation/termination, worst case) +--- Score : 18140 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 17 (Benchmark, threads creation/termination, optimal) +--- Score : 23645 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 18 (Benchmark, mass reschedulation, 5 threads) +--- Score : 7739 reschedulations/S, 46434 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 19 (Benchmark, I/O Queues throughput) +--- Score : 84048 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From bdba36fefcfd30a7bf5d07803363cdc634a62c5a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 1 Nov 2008 17:53:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@490 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index af86353ba..2bd16df83 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.7.2 +Kernel: ChibiOS/RT 0.7.3 Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz -- cgit v1.2.3 From eb6426acaa7f18c4639eda5de529818e91df7c7e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 3 Nov 2008 21:35:45 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@496 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 84 ++++++++++++++++++++++++++++----------------------------- docs/index.html | 2 +- 2 files changed, 43 insertions(+), 43 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 1b95ba06c..2b3ebc8ee 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.7.3 beta" +PROJECT_NUMBER = "0.7.4 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -26,7 +26,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES QT_AUTOBRIEF = NO @@ -34,7 +34,7 @@ MULTILINE_CPP_IS_BRIEF = NO INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO @@ -73,14 +73,14 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO SHOW_FILES = YES SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = +FILE_VERSION_FILTER = +LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -90,7 +90,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -129,16 +129,16 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = ./img -INPUT_FILTER = -FILTER_PATTERNS = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -156,33 +156,33 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES HTML_DYNAMIC_SECTIONS = NO GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO GENERATE_QHP = NO -QCH_FILE = +QCH_FILE = QHP_NAMESPACE = org.doxygen.Project QHP_VIRTUAL_FOLDER = doc -QHG_LOCATION = +QHG_LOCATION = DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES @@ -197,8 +197,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = YES USE_PDFLATEX = YES LATEX_BATCHMODE = NO @@ -210,8 +210,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -224,8 +224,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -237,16 +237,16 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ \ __DOXIGEN__ \ CH_USE_WAITEXIT \ @@ -271,26 +271,26 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_TRACE \ CH_USE_DYNAMIC \ CH_USE_ROUNDROBIN -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO -MSCGEN_PATH = +MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES HAVE_DOT = YES DOT_FONTNAME = FreeSans DOT_FONTSIZE = 8 -DOT_FONTPATH = +DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = YES GROUP_GRAPHS = YES @@ -303,8 +303,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = NO DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = DOT_GRAPH_MAX_NODES = 20 MAX_DOT_GRAPH_DEPTH = 3 DOT_TRANSPARENT = YES @@ -312,6 +312,6 @@ DOT_MULTI_TARGETS = YES GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO diff --git a/docs/index.html b/docs/index.html index 2675e51cf..73d9030eb 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.7.3
          +Version 0.7.4
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From 48d294c62faa98341ff461decdd74b5f8c5f12d2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 5 Nov 2008 20:56:55 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@499 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 2bd16df83..88ce0dde1 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -71,5 +71,9 @@ Settings: MCLK=DCOCLK 750Khz --- Score : 5432 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- +--- Test Case 20 (Benchmark, virtual timers set/reset) +--- Score : 5636 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- Final result: SUCCESS -- cgit v1.2.3 From 86acf7daf6a6f867964e7d736b21ee923ab66ebe Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 5 Nov 2008 21:43:21 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@500 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 4 ---- 1 file changed, 4 deletions(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 88ce0dde1..2bd16df83 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -71,9 +71,5 @@ Settings: MCLK=DCOCLK 750Khz --- Score : 5432 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, virtual timers set/reset) ---- Score : 5636 timers/S ---- Result: SUCCESS ---------------------------------------------------------------------------- Final result: SUCCESS -- cgit v1.2.3 From 9336c1fc9fdae776126295737131d0a22b2f05b8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 8 Nov 2008 10:58:59 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@501 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 2b3ebc8ee..87854bc1b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.7.4 beta" +PROJECT_NUMBER = "0.8.0 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 73d9030eb..e4cb1abfd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.7.4
          +Version 0.8.0
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From d7d284843e1a4d26f1da930c018ab8266017e6dc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 9 Nov 2008 12:03:59 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@507 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 + docs/ch.txt | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 87854bc1b..93ad2cc0a 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -254,6 +254,7 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_SEMSW \ CH_USE_SEMAPHORES_TIMEOUT \ CH_USE_MUTEXES \ + CH_USE_CONDVARS \ CH_USE_EVENTS \ CH_USE_EVENTS_TIMEOUT \ CH_USE_EXIT_EVENT \ diff --git a/docs/ch.txt b/docs/ch.txt index 90a92c294..bfaf66717 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -66,7 +66,7 @@ * The possible groups are: \a Sys, \a Sch, \a VT, \a Thd, \a Sem, \a Mtx, * \a Evt, \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD, \a Dbg. * The suffix is not present for normal APIs but can be one of - * the following: "I" for APIs meant to be invoked within the system mutex + * the following: "I" for APIs meant to be invoked within the system mutex * zone, "S" for APIs only useable from within the system mutex zone but not * from interrupt handlers.
          * The APIs without suffix can be invoked only from the user code outsize the @@ -456,6 +456,21 @@ */ /** @} */ +/** + * @defgroup CondVars Conditional Variables + * @{ + * Conditional Variables and threads synchronization. + * Operation mode

          + * The condition variable is a synchronization object meant to be used inside + * a zone protected by a \p Mutex. Mutexes and CondVars together can implement + * a Monitor construct.
          + * In order to use the Conditional Variables APIs the \p CH_USE_CONDVARS + * option must be specified in \p chconf.h.

          + * @file condvars.h Conditional Variables macros and structures. + * @file chcond.c Conditional Variables code. + */ +/** @} */ + /** * @defgroup Events Events * @{ @@ -490,7 +505,7 @@ * server threads but just a pointer passed so the exchange is very time * efficient.
          * Messages are usually processed in FIFO order but it is possible to process - * them in priority order by specifying CH_USE_MESSAGES_PRIORITY + * them in priority order by specifying CH_USE_MESSAGES_PRIORITY * in \p chconf.h.
          * Threads do not need to allocate space for message queues, the mechanism * just requires two extra pointers in the \p Thread structure (the message -- cgit v1.2.3 From ae97c97b114c0e56d9881d54fbc97a052976b25a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 15 Nov 2008 10:19:57 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@510 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 53 +++++++++++++++++++++++-------------- docs/reports/LPC2148-48-ARM.txt | 51 ++++++++++++++++++++++-------------- docs/reports/LPC2148-48-THUMB.txt | 55 ++++++++++++++++++++++++--------------- docs/reports/STM32F103-48.txt | 51 ++++++++++++++++++++++++------------ docs/reports/STM32F103-72.txt | 53 ++++++++++++++++++++++++------------- 5 files changed, 168 insertions(+), 95 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index ce810b41e..6e637f698 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.7.2 +Kernel: ChibiOS/RT 0.8.0 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) @@ -27,49 +27,62 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Test Case 7 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (Messages, dispatch test) +--- Test Case 8 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (Heap, allocation and fragmentation test) ---- Size : 62452 bytes, not fragmented +--- Test Case 9 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Test Case 10 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Test Case 11 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Test Case 12 (Heap, allocation and fragmentation test) +--- Size : 42600 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Benchmark, context switch #1, optimal) ---- Score : 114945 msgs/S, 229890 ctxswc/S +--- Test Case 13 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Benchmark, context switch #2, empty ready list) ---- Score : 90221 msgs/S, 180442 ctxswc/S +--- Test Case 14 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 90221 msgs/S, 180442 ctxswc/S +--- Test Case 15 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, threads creation/termination, worst case) ---- Score : 66878 threads/S +--- Test Case 16 (Benchmark, context switch #1, optimal) +--- Score : 114943 msgs/S, 229886 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, threads creation/termination, optimal) ---- Score : 92312 threads/S +--- Test Case 17 (Benchmark, context switch #2, empty ready list) +--- Score : 90220 msgs/S, 180440 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, mass reschedulation, 5 threads) ---- Score : 27850 reschedulations/S, 167100 ctxswc/S +--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 90220 msgs/S, 180440 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, I/O Queues throughput) +--- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Score : 67064 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 20 (Benchmark, threads creation/termination, optimal) +--- Score : 92668 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Score : 27963 reschedulations/S, 167778 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 22 (Benchmark, I/O Queues throughput) --- Score : 240464 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- +--- Test Case 23 (Benchmark, virtual timers set/reset) +--- Score : 240308 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index c97b82ae3..49950b73e 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.7.2 +Kernel: ChibiOS/RT 0.8.0 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -27,49 +27,62 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 7 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (Messages, dispatch test) +--- Test Case 8 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (Heap, allocation and fragmentation test) ---- Size : 28116 bytes, not fragmented +--- Test Case 9 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Test Case 10 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Test Case 11 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Test Case 12 (Heap, allocation and fragmentation test) +--- Size : 27788 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Benchmark, context switch #1, optimal) ---- Score : 144453 msgs/S, 288906 ctxswc/S +--- Test Case 13 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Benchmark, context switch #2, empty ready list) ---- Score : 111980 msgs/S, 223960 ctxswc/S +--- Test Case 14 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, context switch #1, optimal) +--- Score : 144452 msgs/S, 288904 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 17 (Benchmark, context switch #2, empty ready list) --- Score : 111979 msgs/S, 223958 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, threads creation/termination, worst case) ---- Score : 86464 threads/S +--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 111978 msgs/S, 223956 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, threads creation/termination, optimal) ---- Score : 118939 threads/S +--- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Score : 86776 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, mass reschedulation, 5 threads) ---- Score : 35870 reschedulations/S, 215220 ctxswc/S +--- Test Case 20 (Benchmark, threads creation/termination, optimal) +--- Score : 119534 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, I/O Queues throughput) +--- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Score : 36005 reschedulations/S, 216030 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 22 (Benchmark, I/O Queues throughput) --- Score : 341232 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- +--- Test Case 23 (Benchmark, virtual timers set/reset) +--- Score : 309498 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 93dae7113..fe51b97a8 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.7.2 +Kernel: ChibiOS/RT 0.8.0 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -27,48 +27,61 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 7 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (Messages, dispatch test) +--- Test Case 8 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (Heap, allocation and fragmentation test) ---- Size : 27988 bytes, not fragmented +--- Test Case 9 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Test Case 10 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Test Case 11 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Test Case 12 (Heap, allocation and fragmentation test) +--- Size : 27644 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Benchmark, context switch #1, optimal) ---- Score : 98911 msgs/S, 197822 ctxswc/S +--- Test Case 13 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Benchmark, context switch #2, empty ready list) ---- Score : 83525 msgs/S, 167050 ctxswc/S +--- Test Case 14 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 83526 msgs/S, 167052 ctxswc/S +--- Test Case 15 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, threads creation/termination, worst case) ---- Score : 70158 threads/S +--- Test Case 16 (Benchmark, context switch #1, optimal) +--- Score : 98924 msgs/S, 197848 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, threads creation/termination, optimal) ---- Score : 100582 threads/S +--- Test Case 17 (Benchmark, context switch #2, empty ready list) +--- Score : 83531 msgs/S, 167062 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28222 reschedulations/S, 169332 ctxswc/S +--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 83530 msgs/S, 167060 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, I/O Queues throughput) ---- Score : 242376 bytes/S +--- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Score : 70471 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 20 (Benchmark, threads creation/termination, optimal) +--- Score : 101230 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28157 reschedulations/S, 168942 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 22 (Benchmark, I/O Queues throughput) +--- Score : 242396 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 23 (Benchmark, virtual timers set/reset) +--- Score : 272272 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 5e20f0277..bef27a35c 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -1,10 +1,14 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.7.2 +Kernel: ChibiOS/RT 0.8.0 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=48, ACR=0x11 (1 wait state) *************************************************************************** +***************************** +*** ChibiOS/RT test suite *** +***************************** + --------------------------------------------------------------------------- --- Test Case 1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS @@ -27,49 +31,62 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Test Case 7 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (Messages, dispatch test) +--- Test Case 8 (CondVar, signal test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (CondVar, broadcast test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (Heap, allocation and fragmentation test) ---- Size : 17324 bytes, not fragmented +--- Test Case 11 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Test Case 12 (Heap, allocation and fragmentation test) +--- Size : 17252 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Test Case 13 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Test Case 14 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Benchmark, context switch #1, optimal) +--- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, context switch #1, optimal) --- Score : 160572 msgs/S, 321144 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Test Case 17 (Benchmark, context switch #2, empty ready list) --- Score : 134029 msgs/S, 268058 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) --- Score : 134029 msgs/S, 268058 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, threads creation/termination, worst case) ---- Score : 105399 threads/S +--- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Score : 105867 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, threads creation/termination, optimal) ---- Score : 137112 threads/S +--- Test Case 20 (Benchmark, threads creation/termination, optimal) +--- Score : 137919 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, mass reschedulation, 5 threads) ---- Score : 42051 reschedulations/S, 252306 ctxswc/S +--- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Score : 42162 reschedulations/S, 252972 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, I/O Queues throughput) +--- Test Case 22 (Benchmark, I/O Queues throughput) --- Score : 377572 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- +--- Test Case 23 (Benchmark, virtual timers set/reset) +--- Score : 525896 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 6d1918e65..20f82a64b 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,10 +1,14 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.7.2 +Kernel: ChibiOS/RT 0.8.0 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** +***************************** +*** ChibiOS/RT test suite *** +***************************** + --------------------------------------------------------------------------- --- Test Case 1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS @@ -27,49 +31,62 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Test Case 7 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (Messages, dispatch test) +--- Test Case 8 (CondVar, signal test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 9 (CondVar, broadcast test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (Heap, allocation and fragmentation test) ---- Size : 17324 bytes, not fragmented +--- Test Case 11 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Test Case 12 (Heap, allocation and fragmentation test) +--- Size : 17252 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Test Case 13 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Test Case 14 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Benchmark, context switch #1, optimal) +--- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 16 (Benchmark, context switch #1, optimal) --- Score : 216994 msgs/S, 433988 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Test Case 17 (Benchmark, context switch #2, empty ready list) --- Score : 178662 msgs/S, 357324 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 178663 msgs/S, 357326 ctxswc/S +--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 178662 msgs/S, 357324 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, threads creation/termination, worst case) ---- Score : 141108 threads/S +--- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Score : 141666 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, threads creation/termination, optimal) ---- Score : 187046 threads/S +--- Test Case 20 (Benchmark, threads creation/termination, optimal) +--- Score : 188024 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, mass reschedulation, 5 threads) ---- Score : 55768 reschedulations/S, 334608 ctxswc/S +--- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Score : 55552 reschedulations/S, 333312 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, I/O Queues throughput) +--- Test Case 22 (Benchmark, I/O Queues throughput) --- Score : 489476 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- +--- Test Case 23 (Benchmark, virtual timers set/reset) +--- Score : 647106 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- Final result: SUCCESS -- cgit v1.2.3 From c247b6b26c704931435490ce51fe42da7bf67be5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 15 Nov 2008 11:08:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@512 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 53 +++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 21 deletions(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 2bd16df83..7e6e39ee8 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.7.3 +Kernel: ChibiOS/RT 0.8.0 Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz @@ -27,49 +27,60 @@ Settings: MCLK=DCOCLK 750Khz --- Test Case 7 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (Messages, dispatch test) +--- Test Case 8 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (Heap, allocation and fragmentation test) ---- Size : 0 bytes, fragmented, test skipped +--- Test Case 9 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Test Case 10 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Test Case 11 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Test Case 12 (Heap, allocation and fragmentation test) +--- Size : 508 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Benchmark, context switch #1, optimal) ---- Score : 1892 msgs/S, 3784 ctxswc/S +--- Test Case 13 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Benchmark, context switch #2, empty ready list) ---- Score : 1577 msgs/S, 3154 ctxswc/S +--- Test Case 14 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 1577 msgs/S, 3154 ctxswc/S +--- Test Case 15 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, threads creation/termination, worst case) ---- Score : 1157 threads/S +--- Test Case 16 (Benchmark, context switch #1, optimal) +--- Score : 1887 msgs/S, 3774 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, threads creation/termination, optimal) ---- Score : 1521 threads/S +--- Test Case 17 (Benchmark, context switch #2, empty ready list) +--- Score : 1573 msgs/S, 3146 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, mass reschedulation, 5 threads) +--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 1573 msgs/S, 3146 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Score : 1166 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 20 (Benchmark, threads creation/termination, optimal) +--- Score : 1537 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 21 (Benchmark, mass reschedulation, 5 threads) --- Score : 498 reschedulations/S, 2988 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, I/O Queues throughput) +--- Test Case 22 (Benchmark, I/O Queues throughput) --- Score : 5432 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- - -Final result: SUCCESS +--- Test Case 23 (Benchmark, virtual timers set/reset) +--- Score : 5632 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- -- cgit v1.2.3 From 6c4445c1441d3652e7e82c38d6cfed0e2362d08b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 15 Nov 2008 11:33:38 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@513 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 + docs/ch.txt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 93ad2cc0a..bef8efd2f 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -255,6 +255,7 @@ PREDEFINED = __JUST_STUBS__ \ CH_USE_SEMAPHORES_TIMEOUT \ CH_USE_MUTEXES \ CH_USE_CONDVARS \ + CH_USE_CONDVARS_TIMEOUT \ CH_USE_EVENTS \ CH_USE_EVENTS_TIMEOUT \ CH_USE_EXIT_EVENT \ diff --git a/docs/ch.txt b/docs/ch.txt index bfaf66717..4ef7a394c 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -13,7 +13,7 @@ *
        • Easily portable.
        • *
        • Mixed programming model:
        • *
            - *
          • Synchronous, using semaphores/mutexes and/or messages.
          • + *
          • Synchronous, using semaphores/mutexes/condvars and/or messages.
          • *
          • Asynchronous, using event sources.
          • *
          • Mix of the above models, multiple threads listening to multiple event * sources while serving message queues.
          • @@ -32,6 +32,7 @@ *
          • Unlimited number of virtual timers.
          • *
          • Unlimited number of semaphores.
          • *
          • Unlimited number of mutexes.
          • + *
          • Unlimited number of condvars.
          • *
          • Unlimited number of event sources.
          • *
          • Unlimited number of messages in queue.
          • *
          • Unlimited number of I/O queues.
          • -- cgit v1.2.3 From aa653cd45ac7291187c8c18363d03d534c9cd430 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 18 Nov 2008 20:36:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@516 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index bef8efd2f..7ad508885 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.8.0 beta" +PROJECT_NUMBER = "0.8.1 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index e4cb1abfd..fde0eab1a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.8.0
          +Version 0.8.1
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From 74b2ef532c2798d67be383c6eaa7220dafc3bac1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 21 Nov 2008 20:06:17 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@518 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 7ad508885..eea6e14e1 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.8.1 beta" +PROJECT_NUMBER = "0.8.2 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index fde0eab1a..f2db24ff0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.8.1
          +Version 0.8.2
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From 68a1ac21b8a7708cf6ff75391253e7746f18a9a1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 26 Nov 2008 18:06:55 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@519 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index f2db24ff0..0baf70ac5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -132,7 +132,7 @@ optimized for speed takes about 6KiB. See the documentation about the many available subsystems.

          About performance, on a 48MHz LPC ARM7 processor the kernel is capable of context switch time ranging from 3 to 6 microseconds depending on the code type (ARM/THUMB) and the -choosen complier/kernel optimizations. In the distribution is included +choosen compiler/kernel optimizations. In the distribution is included a spreadsheet with the exact values and the various space/time trade offs.
          The context switch time is *measured* using 2 threads exchanging messages and doing *real* work, it is not a calculated peak -- cgit v1.2.3 From d8b450d8a085817ad26528cb58059da22ebea462 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 6 Dec 2008 10:59:44 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@529 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 7e6e39ee8..b71c5a37b 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.0 +Kernel: ChibiOS/RT 0.8.2 Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz @@ -65,11 +65,11 @@ Settings: MCLK=DCOCLK 750Khz --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 1166 threads/S +--- Score : 1236 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 1537 threads/S +--- Score : 1560 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) @@ -84,3 +84,5 @@ Settings: MCLK=DCOCLK 750Khz --- Score : 5632 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 8a18733367054dd6a3a68633d25633f672ae87c0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 6 Dec 2008 11:20:22 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@530 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 6e637f698..b9a1cd1f3 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.0 +Kernel: ChibiOS/RT 0.8.2 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) @@ -40,7 +40,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 42600 bytes, not fragmented +--- Size : 62380 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -53,27 +53,27 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 114943 msgs/S, 229886 ctxswc/S +--- Score : 114945 msgs/S, 229890 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 90220 msgs/S, 180440 ctxswc/S +--- Score : 90221 msgs/S, 180442 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 90220 msgs/S, 180440 ctxswc/S +--- Score : 90221 msgs/S, 180442 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 67064 threads/S +--- Score : 71691 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 92668 threads/S +--- Score : 94501 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) ---- Score : 27963 reschedulations/S, 167778 ctxswc/S +--- Score : 27964 reschedulations/S, 167784 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 22 (Benchmark, I/O Queues throughput) @@ -81,7 +81,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 240308 timers/S +--- Score : 264208 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- -- cgit v1.2.3 From ed3ffb35089836df6b5b51b76c428078a80dbb3b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 6 Dec 2008 11:42:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@531 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 14 +++++++------- docs/reports/STM32F103-48.txt | 4 ---- docs/reports/STM32F103-72.txt | 12 ++++-------- 3 files changed, 11 insertions(+), 19 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index 49950b73e..0b385422a 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.0 +Kernel: ChibiOS/RT 0.8.2 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -53,7 +53,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 144452 msgs/S, 288904 ctxswc/S +--- Score : 144451 msgs/S, 288902 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) @@ -65,23 +65,23 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 86776 threads/S +--- Score : 92663 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 119534 threads/S +--- Score : 122600 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36005 reschedulations/S, 216030 ctxswc/S +--- Score : 36006 reschedulations/S, 216036 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 22 (Benchmark, I/O Queues throughput) ---- Score : 341232 bytes/S +--- Score : 341236 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 309498 timers/S +--- Score : 309496 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index bef27a35c..18b35cd02 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -5,10 +5,6 @@ Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=48, ACR=0x11 (1 wait state) *************************************************************************** -***************************** -*** ChibiOS/RT test suite *** -***************************** - --------------------------------------------------------------------------- --- Test Case 1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 20f82a64b..9f9a5ed7d 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,14 +1,10 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.0 +Kernel: ChibiOS/RT 0.8.2 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** -***************************** -*** ChibiOS/RT test suite *** -***************************** - --------------------------------------------------------------------------- --- Test Case 1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS @@ -44,7 +40,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 17252 bytes, not fragmented +--- Size : 17224 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -69,11 +65,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 141666 threads/S +--- Score : 149938 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 188024 threads/S +--- Score : 187045 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) -- cgit v1.2.3 From dae3de6609b9251dbaaa280c1ce886a350c3c0c5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 7 Dec 2008 10:21:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@536 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index eea6e14e1..2c7915a32 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.8.2 beta" +PROJECT_NUMBER = "0.8.3 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 0baf70ac5..9f89f5399 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.8.2
          +Version 0.8.3
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From ca4419762eaab74d52e07e02defbaac42570fea3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Dec 2008 11:17:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@546 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index 0b385422a..adf584c04 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.2 +Kernel: ChibiOS/RT 1.0.0 RC1 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -40,7 +40,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 27788 bytes, not fragmented +--- Size : 27792 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -53,7 +53,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 144451 msgs/S, 288902 ctxswc/S +--- Score : 144452 msgs/S, 288904 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) @@ -61,15 +61,15 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 111978 msgs/S, 223956 ctxswc/S +--- Score : 111980 msgs/S, 223960 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 92663 threads/S +--- Score : 99406 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 122600 threads/S +--- Score : 134686 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) @@ -81,7 +81,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 309496 timers/S +--- Score : 309498 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- -- cgit v1.2.3 From 86263d4f6ca0a4f54b89dd57e2c75348655363e2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Dec 2008 11:26:24 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@547 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-THUMB.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index fe51b97a8..8310f82b0 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.0 +Kernel: ChibiOS/RT 1.0.0 RC1 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -40,7 +40,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 27644 bytes, not fragmented +--- Size : 27648 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -53,7 +53,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 98924 msgs/S, 197848 ctxswc/S +--- Score : 98921 msgs/S, 197842 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) @@ -65,11 +65,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 70471 threads/S +--- Score : 80033 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 101230 threads/S +--- Score : 112160 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) -- cgit v1.2.3 From 0daf2f968782458e10e948c0ee786af9c2c4dffa Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Dec 2008 12:33:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@548 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 1 - 1 file changed, 1 deletion(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 4ef7a394c..4db76915a 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -266,7 +266,6 @@ * Notes about the MSP430 port: *

          *
            - *
          • In the current version the MSP430 port is still untested.
          • *
          • The MSP430 does not have a dedicated interrupt stack, make sure to reserve * enough stack space for interrupts in each thread stack. This can be done * by modifying the \p INT_REQUIRED_STACK macro into \p ports/MSP430/chcore.h.
          • -- cgit v1.2.3 From 458a2834834986bc13171439b2f6889ad14044b8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Dec 2008 13:17:52 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@549 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 4db76915a..46fd52004 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -159,11 +159,34 @@ * architecture. *
          • FIQ sources can preempt the kernel (by design) so it is not possible to * invoke the kernel APIs from inside a FIQ handler.
          • + *
          • Interrupt handlers do not save function-saved registers so you need to + * make sure your code saves them or does not use them (this happens + * because in the ARM7 port all the OS interrupt handlers are declared + * naked).
            + * Function-trashed registers (R0-R3,R12,LR,SR) are saved/restored by the + * system macros \p chSysIRQEnterI() and \p chSysIRQExitI().
            + * The easiest way to ensure this is to just invoke a function from within + * the interrupt handler, the function code will save all the required + * registers.
            + * Example: + * @code + * __attribute__((naked, weak)) + * void irq_handler(void) { + * chSysIRQEnterI(); + * + * serve_interrupt(); + * + * VICVectAddr = 0; // This is LPC214x-specific. + * chSysIRQExitI(); + * } + * @endcode + * This is not a bug but an implementation choice, this solution allows to + * have interrupt handlers compiled in thumb mode without have to use an + * interworking mode (the mode switch is hidden in the macros), this + * greatly improves code efficiency and size. You can look at the serial + * driver for real examples of interrupt handlers.
          • *
          *

          - *

          - * The ARM7 port is shared by multiple demos targeted to various implementations: - *

          * @ingroup Ports */ /** @} */ -- cgit v1.2.3 From 0efeddb5fbeed20ec1340752eba04d22ed74273e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Dec 2008 17:57:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@551 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 8 +++--- docs/reports/AT91SAM7X-48-THUMB.txt | 55 +++++++++++++++++++++++-------------- docs/reports/STM32F103-48.txt | 10 +++---- docs/reports/STM32F103-72.txt | 14 ++++++---- 4 files changed, 52 insertions(+), 35 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index b9a1cd1f3..a0c4f21e0 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.2 +Kernel: ChibiOS/RT 1.0.0 RC1 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) @@ -40,7 +40,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 62380 bytes, not fragmented +--- Size : 62384 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -65,11 +65,11 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 71691 threads/S +--- Score : 76509 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 94501 threads/S +--- Score : 103055 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index 6174b16f1..feb8a6e5c 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.7.2 +Kernel: ChibiOS/RT 1.0.0 RC1 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) @@ -27,48 +27,61 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Test Case 7 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (Messages, dispatch test) +--- Test Case 8 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (Heap, allocation and fragmentation test) ---- Size : 62340 bytes, not fragmented +--- Test Case 9 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Test Case 10 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Test Case 11 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Test Case 12 (Heap, allocation and fragmentation test) +--- Size : 62272 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Benchmark, context switch #1, optimal) ---- Score : 96410 msgs/S, 192820 ctxswc/S +--- Test Case 13 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Benchmark, context switch #2, empty ready list) ---- Score : 83600 msgs/S, 167200 ctxswc/S +--- Test Case 14 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 83600 msgs/S, 167200 ctxswc/S +--- Test Case 15 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, threads creation/termination, worst case) ---- Score : 70014 threads/S +--- Test Case 16 (Benchmark, context switch #1, optimal) +--- Score : 96420 msgs/S, 192840 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, threads creation/termination, optimal) ---- Score : 98192 threads/S +--- Test Case 17 (Benchmark, context switch #2, empty ready list) +--- Score : 83608 msgs/S, 167216 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, mass reschedulation, 5 threads) ---- Score : 27610 reschedulations/S, 165660 ctxswc/S +--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 83608 msgs/S, 167216 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, I/O Queues throughput) ---- Score : 241216 bytes/S +--- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Score : 78659 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 20 (Benchmark, threads creation/termination, optimal) +--- Score : 107955 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Score : 27517 reschedulations/S, 165102 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 22 (Benchmark, I/O Queues throughput) +--- Score : 241244 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 23 (Benchmark, virtual timers set/reset) +--- Score : 303650 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 18b35cd02..3b43e9022 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.0 +Kernel: ChibiOS/RT 1.0.0 RC1 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=48, ACR=0x11 (1 wait state) @@ -40,7 +40,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 17252 bytes, not fragmented +--- Size : 17284 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -61,15 +61,15 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 134029 msgs/S, 268058 ctxswc/S +--- Score : 134028 msgs/S, 268056 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 105867 threads/S +--- Score : 119936 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 137919 threads/S +--- Score : 151424 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 9f9a5ed7d..c409f2e50 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,10 +1,14 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.2 +Kernel: ChibiOS/RT 1.0.0 RC1 Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** +***************************** +*** ChibiOS/RT test suite *** +***************************** + --------------------------------------------------------------------------- --- Test Case 1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS @@ -40,7 +44,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 17224 bytes, not fragmented +--- Size : 17284 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 13 (Memory Pools, allocation and enqueuing test) @@ -53,7 +57,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 216994 msgs/S, 433988 ctxswc/S +--- Score : 216993 msgs/S, 433986 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) @@ -65,11 +69,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 149938 threads/S +--- Score : 161766 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 187045 threads/S +--- Score : 205805 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) -- cgit v1.2.3 From b1e4025ebd651cc922e3fcfb0706a7b8c7cabeba Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Dec 2008 18:26:50 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@552 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/ATmega128-16.txt | 45 +++++++++++++++++++++++++-------------- docs/reports/MSP430F1611-0.75.txt | 12 +++++------ 2 files changed, 35 insertions(+), 22 deletions(-) (limited to 'docs') diff --git a/docs/reports/ATmega128-16.txt b/docs/reports/ATmega128-16.txt index f96f33174..6881bebce 100644 --- a/docs/reports/ATmega128-16.txt +++ b/docs/reports/ATmega128-16.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.7.3 +Kernel: ChibiOS/RT 1.0.0 RC1 Compiler: GCC 4.3.0 (WinAVR 10.06.2008) Options: -O2 Settings: F_CPU=16000000 @@ -27,49 +27,62 @@ Settings: F_CPU=16000000 --- Test Case 7 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (Messages, dispatch test) +--- Test Case 8 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (Heap, allocation and fragmentation test) +--- Test Case 9 (CondVar, broadcast test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10 (Messages, dispatch test) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11 (Events, wait and broadcast) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 12 (Heap, allocation and fragmentation test) --- Size : 508 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Memory Pools, allocation and enqueuing test) +--- Test Case 13 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Dynamic APIs, threads creation from heap) +--- Test Case 14 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Dynamic APIs, threads creation from memory pool) +--- Test Case 15 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Benchmark, context switch #1, optimal) +--- Test Case 16 (Benchmark, context switch #1, optimal) --- Score : 30775 msgs/S, 61550 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Benchmark, context switch #2, empty ready list) +--- Test Case 17 (Benchmark, context switch #2, empty ready list) --- Score : 24524 msgs/S, 49048 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Benchmark, context switch #3, 4 threads in ready list) +--- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) --- Score : 24524 msgs/S, 49048 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, threads creation/termination, worst case) ---- Score : 18140 threads/S +--- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Score : 20623 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, threads creation/termination, optimal) ---- Score : 23645 threads/S +--- Test Case 20 (Benchmark, threads creation/termination, optimal) +--- Score : 26408 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, mass reschedulation, 5 threads) ---- Score : 7739 reschedulations/S, 46434 ctxswc/S +--- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Score : 7724 reschedulations/S, 46344 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, I/O Queues throughput) +--- Test Case 22 (Benchmark, I/O Queues throughput) --- Score : 84048 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- +--- Test Case 23 (Benchmark, virtual timers set/reset) +--- Score : 81554 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index b71c5a37b..48b0fd508 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 0.8.2 +Kernel: ChibiOS/RT 1.0.0 RC1 Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz @@ -53,23 +53,23 @@ Settings: MCLK=DCOCLK 750Khz --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 1887 msgs/S, 3774 ctxswc/S +--- Score : 1942 msgs/S, 3884 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 1573 msgs/S, 3146 ctxswc/S +--- Score : 1611 msgs/S, 3222 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 1573 msgs/S, 3146 ctxswc/S +--- Score : 1611 msgs/S, 3222 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 1236 threads/S +--- Score : 1311 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 1560 threads/S +--- Score : 1681 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 21 (Benchmark, mass reschedulation, 5 threads) -- cgit v1.2.3 From 27509eaf32506afa5964a6abf3cf211092a1a023 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 29 Dec 2008 10:23:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@554 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 46fd52004..23d1ec096 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -19,11 +19,10 @@ * sources while serving message queues. * *
        • PC simulator target included, the development can be done on the PC - * using MinGW or VS. + * using MinGW.
          * Timers, I/O channels and other HW resources are simulated in a * Win32 process and the application code does not need to be aware of it. - * MinGW and VS demos available and ready to go, use them as templates for - * your application.
        • + * MinGW demo available. *
        • Preemptive scheduling.
        • *
        • 128 priority levels.
        • *
        • Multiple threads at the same priorily level allowed.
        • @@ -65,7 +64,7 @@ * ChibiOS/RT APIs are all named following this convention: * \a ch\\\(). * The possible groups are: \a Sys, \a Sch, \a VT, \a Thd, \a Sem, \a Mtx, - * \a Evt, \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD, \a Dbg. + * \a Evt, \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD, \a Dbg, \a Heap, \a Pool. * The suffix is not present for normal APIs but can be one of * the following: "I" for APIs meant to be invoked within the system mutex * zone, "S" for APIs only useable from within the system mutex zone but not @@ -73,7 +72,7 @@ * The APIs without suffix can be invoked only from the user code outsize the * system mutex zone and not from interrupt handlers unless differently * specified.
          - * Examples: \p chThdCreate(), \p chSemSignalI(), \p chIQGetTimeout(). + * Examples: \p chThdCreateStatic(), \p chSemSignalI(), \p chIQGetTimeout(). * * @section scheduling Scheduling * The strategy is very simple the currently ready thread with the highest @@ -140,6 +139,21 @@ * @defgroup ARM7 ARM7TDMI * @{ *

          + * The ARM7 port supports 3 modes: + *

          + *
            + *
          • Pure ARM mode, this is the preferred mode for code speed. The code size + * is larger however. This mode is enabled when all the modules are compiled + * in ARM mode, see the Makefiles.
          • + *
          • Pure THUMB mode, this is the preferred mode for code size. In this mode + * the execution speed is slower than the ARM mode. This mode is enabled + * when all the modules are compiled in THUMB mode, see the Makefiles.
          • + *
          • Interworking mode, when in the sistem there are ARM modules mixed with + * THUMB modules then the interworking compiler option is enabled. This is + * usually the slowest mode and the code size is not as good as in pure + * THUMB mode.
          • + *
          + *

          * The ARM7 port makes some assumptions on the application code organization: *

            *
          • The \p main() function is invoked in system mode.
          • @@ -158,7 +172,8 @@ * implementation, even if possible, is not really efficient in this * architecture. *
          • FIQ sources can preempt the kernel (by design) so it is not possible to - * invoke the kernel APIs from inside a FIQ handler.
          • + * invoke the kernel APIs from inside a FIQ handler. FIQ handlers are not + * affected by the kernel activity so there is not added jitter. *
          • Interrupt handlers do not save function-saved registers so you need to * make sure your code saves them or does not use them (this happens * because in the ARM7 port all the OS interrupt handlers are declared @@ -241,7 +256,9 @@ * 0x00 (disabled).
          • *
          • The kernel raises its BASEPRI level to 0x10 in order to protect the * system mutex zones. Note that exceptions with level 0x00 can preempt - * the kernel, such exception handlers cannot invoke kernel APIs directly.
          • + * the kernel, such exception handlers cannot invoke kernel APIs directly. + * It is possible to modify the priority levels by editing the + * ./ports/ARMCM3/chcore.h file. *
          • Interrupt nesting and the other advanced NVIC features are supported.
          • *
          • The SVC instruction and vector, with parameter #0, is internally used * for commanded context switching.
            @@ -276,7 +293,8 @@ *
              *
            • The AVR does not have a dedicated interrupt stack, make sure to reserve * enough stack space for interrupts in each thread stack. This can be done - * by modifying the \p INT_REQUIRED_STACK macro into \p ports/AVR/chcore.h.
            • + * by modifying the \p INT_REQUIRED_STACK macro into + * ./ports/AVR/chcore.h. *
            * @ingroup Ports */ @@ -291,7 +309,8 @@ *
              *
            • The MSP430 does not have a dedicated interrupt stack, make sure to reserve * enough stack space for interrupts in each thread stack. This can be done - * by modifying the \p INT_REQUIRED_STACK macro into \p ports/MSP430/chcore.h.
            • + * by modifying the \p INT_REQUIRED_STACK macro into + * ./ports/MSP430/chcore.h. *
            * @ingroup Ports */ -- cgit v1.2.3 From 1e6c6670d20e415d87ec15fa46c801f442e573a6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 29 Dec 2008 10:55:24 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@555 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 23d1ec096..884eb1f11 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -206,6 +206,29 @@ */ /** @} */ +/** + * @defgroup ARM7CONF Configuration Options + * @{ + *

            + * The ARM7 port allows some architecture-specific configurations: + *

              + *
            • @p INT_REQUIRED_STACK, this value represent the amount of stack space used + * by an interrupt handler between the @p extctx and @p intctx + * structures.
              + * In practice this value is the stack space used by the chSchDoReschedule() + * stack frame.
              + * This value can be affected by a variety of external things like compiler + * version, compiler options, kernel settings (speed/size) and so on.
              + * The default for this value is @p 0x10 which should be a safe value, you + * can trim this down by defining the macro externally. This would save + * some valuable RAM space for each thread present in the system.
              + * The default value is set into ./ports/ARM7/chcore.h.
            • + *
            + *

            + * @ingroup ARM7 + */ +/** @} */ + /** * @defgroup LPC214x LPC214x Support * @{ -- cgit v1.2.3 From 796f13d4fa6befdf9e524306d764a3f1483ab8f1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 29 Dec 2008 11:38:21 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@557 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 884eb1f11..326fddc00 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -210,7 +210,8 @@ * @defgroup ARM7CONF Configuration Options * @{ *

            - * The ARM7 port allows some architecture-specific configurations: + * The ARM7 port allows some architecture-specific configurations settings + * that can be specified externally, as example on the compiler command line: *

              *
            • @p INT_REQUIRED_STACK, this value represent the amount of stack space used * by an interrupt handler between the @p extctx and @p intctx @@ -293,6 +294,44 @@ */ /** @} */ +/** + * @defgroup ARMCM3CONF Configuration Options + * @{ + *

              + * The ARMCM3 port allows some architecture-specific configurations settings + * that can be specified externally, as example on the compiler command line: + *

                + *
              • @p INT_REQUIRED_STACK, this value represent the amount of stack space used + * by an interrupt handler between the @p extctx and @p intctx + * structures.
                + * In practice this value is the stack space used by the chSchDoReschedule() + * stack frame.
                + * This value can be affected by a variety of external things like compiler + * version, compiler options, kernel settings (speed/size) and so on.
                + * The default for this value is @p 0x10 which should be a safe value, you + * can trim this down by defining the macro externally. This would save + * some valuable RAM space for each thread present in the system.
                + * The default value is set into ./ports/ARMCM3/chcore.h.
              • + *
              • @p BASEPRI_USER, this is the @p BASEPRI value for the user threads. The + * default value is @p 0 (disabled).
                + * Usually there is no need to change this value, please refer to the + * Cortex-M3 technical reference manual for a detailed description.
              • + *
              • @p BASEPRI_KERNEL, this is the @p BASEPRI value for the kernel lock code. + * The default value is 0x10.
                + * Code running at higher priority levels must not invoke any OS API.
                + * Usually there is no need to change this value, please refer to the + * Cortex-M3 technical reference manual for a detailed description.
              • + *
              • @p ENABLE_WFI_IDLE, if set to @p 1 enables the use of the @p wfi + * instruction from within the idle loop. This is defaulted to 0 because + * it can create problems with some debuggers. Setting this option to 1 + * reduces the system power requirements.
              • + *
              + *

              + * @ingroup ARMCM3 + */ +/** @} */ + + /** * @defgroup STM32F103 STM32F103 Support * @{ -- cgit v1.2.3 From aa2eb80fdb2e4e3b6eedacb8426e40db255cbe68 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 29 Dec 2008 12:12:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@558 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 326fddc00..ad7421f3b 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -362,6 +362,24 @@ */ /** @} */ +/** + * @defgroup AVRCONF Configuration Options + * @{ + *

              + * The AVR port allows some architecture-specific configurations settings + * that can be specified externally, as example on the compiler command line: + *

                + *
              • @p INT_REQUIRED_STACK, this value represent the amount of stack space + * used by the interrupt handlers.
                + * The default for this value is @p 32, this space is allocated for each + * thread so be careful in order to not waste precious RAM space.
                + * The default value is set into ./ports/AVR/chcore.h.
              • + *
              + *

              + * @ingroup AVR + */ +/** @} */ + /** * @defgroup MSP430 MSP430 * @{ @@ -378,6 +396,24 @@ */ /** @} */ +/** + * @defgroup MSP430CONF Configuration Options + * @{ + *

              + * The MSP430 port allows some architecture-specific configurations settings + * that can be specified externally, as example on the compiler command line: + *

                + *
              • @p INT_REQUIRED_STACK, this value represent the amount of stack space + * used by the interrupt handlers.
                + * The default for this value is @p 32, this space is allocated for each + * thread so be careful in order to not waste precious RAM space.
                + * The default value is set into ./ports/MSP430/chcore.h.
              • + *
              + *

              + * @ingroup MSP430 + */ +/** @} */ + /** * @defgroup Kernel Kernel * @{ -- cgit v1.2.3 From 82585c79fe50b098ecdf48e1e6dae7e2909a8fd0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 29 Dec 2008 15:33:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@560 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 2c7915a32..fbc622251 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.8.3 beta" +PROJECT_NUMBER = "1.0.0rc1" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 9f89f5399..40e5c6b15 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 0.8.3
          +Version 1.0.0rc1
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From e1b458b2b81db0d28ea4d97a3c10abce05555930 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 30 Dec 2008 10:09:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@561 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 460 +++++++++++++++++++++++++--------------------------------- 1 file changed, 197 insertions(+), 263 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index fbc622251..7c341ac1b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -3,317 +3,251 @@ #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "1.0.0rc1" -OUTPUT_DIRECTORY = . -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = YES -QT_AUTOBRIEF = NO +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = ChibiOS/RT +PROJECT_NUMBER = "1.0.0rc1" +OUTPUT_DIRECTORY = . +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" "The $name widget" "The $name file" is provides specifies contains represents a an the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO -INHERIT_DOCS = NO -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 2 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -SYMBOL_CACHE_SIZE = 0 +INHERIT_DOCS = NO +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 2 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +TYPEDEF_HIDES_STRUCT = NO +SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = NO -EXTRACT_LOCAL_CLASSES = NO -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = YES -HIDE_UNDOC_CLASSES = YES -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = NO -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = NO -SORT_BRIEF_DOCS = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = NO -SHOW_DIRECTORIES = NO -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = NO +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = NO +SORT_BRIEF_DOCS = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST = YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = NO +SHOW_DIRECTORIES = NO +SHOW_FILES = YES +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = YES +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../src/include \ - ../src/templates \ - ../src \ - ../docs/ch.txt \ - ../src/lib -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.ddf -RECURSIVE = YES -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = ./img -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO +INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = ./img +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = NO +REFERENCES_RELATION = NO REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = NO +USE_HTAGS = NO +VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -HTML_DYNAMIC_SECTIONS = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -GENERATE_QHP = NO -QCH_FILE = -QHP_NAMESPACE = org.doxygen.Project -QHP_VIRTUAL_FOLDER = doc -QHG_LOCATION = -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = YES -TREEVIEW_WIDTH = 250 -FORMULA_FONTSIZE = 10 +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +HTML_DYNAMIC_SECTIONS = NO +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +CHM_INDEX_ENCODING = +BINARY_TOC = NO +TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHG_LOCATION = +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +FORMULA_FONTSIZE = 10 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO +GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = __JUST_STUBS__ \ - __DOXIGEN__ \ - CH_USE_WAITEXIT \ - CH_USE_SEMAPHORES \ - CH_USE_SEMSW \ - CH_USE_SEMAPHORES_TIMEOUT \ - CH_USE_MUTEXES \ - CH_USE_CONDVARS \ - CH_USE_CONDVARS_TIMEOUT \ - CH_USE_EVENTS \ - CH_USE_EVENTS_TIMEOUT \ - CH_USE_EXIT_EVENT \ - CH_USE_QUEUES \ - CH_USE_QUEUES_TIMEOUT \ - CH_USE_QUEUES_HALFDUPLEX \ - CH_USE_SERIAL_FULLDUPLEX \ - CH_USE_SERIAL_HALFDUPLEX \ - CH_USE_HEAP \ - CH_USE_MEMPOOLS \ - CH_USE_MESSAGES \ - CH_USE_MESSAGES_EVENT \ - CH_USE_MESSAGES_PRIORITY \ - CH_USE_DEBUG \ - CH_USE_TRACE \ - CH_USE_DYNAMIC \ - CH_USE_ROUNDROBIN -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = __JUST_STUBS__ __DOXIGEN__ CH_USE_WAITEXIT CH_USE_SEMAPHORES CH_USE_SEMSW CH_USE_SEMAPHORES_TIMEOUT CH_USE_MUTEXES CH_USE_CONDVARS CH_USE_CONDVARS_TIMEOUT CH_USE_EVENTS CH_USE_EVENTS_TIMEOUT CH_USE_EXIT_EVENT CH_USE_QUEUES CH_USE_QUEUES_TIMEOUT CH_USE_QUEUES_HALFDUPLEX CH_USE_SERIAL_FULLDUPLEX CH_USE_SERIAL_HALFDUPLEX CH_USE_HEAP CH_USE_MEMPOOLS CH_USE_MESSAGES CH_USE_MESSAGES_EVENT CH_USE_MESSAGES_PRIORITY CH_USE_DEBUG CH_USE_TRACE CH_USE_DYNAMIC CH_USE_ROUNDROBIN +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES -DOT_FONTNAME = FreeSans -DOT_FONTSIZE = 8 -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = YES -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = NO -CALL_GRAPH = YES -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = NO -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 20 -MAX_DOT_GRAPH_DEPTH = 3 -DOT_TRANSPARENT = YES -DOT_MULTI_TARGETS = YES -GENERATE_LEGEND = YES -DOT_CLEANUP = YES +CLASS_DIAGRAMS = NO +MSCGEN_PATH = +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = YES +DOT_FONTNAME = FreeSans +DOT_FONTSIZE = 8 +DOT_FONTPATH = +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = YES +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = NO +CALL_GRAPH = YES +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = NO +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +DOT_GRAPH_MAX_NODES = 20 +MAX_DOT_GRAPH_DEPTH = 3 +DOT_TRANSPARENT = YES +DOT_MULTI_TARGETS = YES +GENERATE_LEGEND = YES +DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- -SEARCHENGINE = NO +SEARCHENGINE = NO -- cgit v1.2.3 From b88fb18b984effc45b8c5c5aeedf89e667367044 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 30 Dec 2008 10:21:01 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@562 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 7c341ac1b..125874cfa 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -102,11 +102,11 @@ FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- -SOURCE_BROWSER = NO +SOURCE_BROWSER = YES INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = NO +STRIP_CODE_COMMENTS = NO +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES REFERENCES_LINK_SOURCE = YES USE_HTAGS = NO VERBATIM_HEADERS = NO -- cgit v1.2.3 From e04e6ada046db4f8a8de0b9895af4dca51a36f8d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 30 Dec 2008 17:17:52 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@565 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index ad7421f3b..71ef8140e 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -435,6 +435,25 @@ * Non portable code. * @ingroup Kernel * @file chcore.c Non portable code. + * @file chcore.h Non portable macros and structures. + */ +/** @} */ + +/** + * @defgroup Types Types + * @{ + * System types and macros. + * @ingroup Kernel + * @file chtypes.h System types and code modifiers. + */ +/** @} */ + +/** + * @defgroup Inline Inline + * @{ + * System inline-able code. + * @ingroup Kernel + * @file inline.h Inline versions of some critical system routines. */ /** @} */ -- cgit v1.2.3 From 3c101f29013c71f6a786f9ac7bdbf29499c47cbb Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 30 Dec 2008 18:08:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@566 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 23 +++++++++----- docs/img/readylist.png | Bin 7883 -> 11862 bytes docs/img/readylist.svg | 65 +++++++++++++++++++------------------- docs/img/workspace.png | Bin 14430 -> 20285 bytes docs/img/workspace.svg | 84 ++++++++++++++++++++++++++++++++++++------------- 5 files changed, 111 insertions(+), 61 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 71ef8140e..c39153807 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -79,7 +79,7 @@ * priority is executed. If more than one thread with equal priority are * eligible for execution then they are executed in a round-robin way, the * CPU time slice constant is configurable. The ready list is a double linked - * list of threads ordered by priority. + * list of threads ordered by priority.

          * @image html readylist.png * Note that the currently running thread is not in the ready list, the list * only contains the threads ready to be executed but still actually waiting. @@ -89,19 +89,26 @@ * @image html states.png * * @section warea Thread Working Area - * Each thread has its own stack, a Thread structure and a registers dump - * structure. All the structures are allocated into a "Thread working area", + * Each thread has its own stack, a Thread structure and some preemption + * areas. All the structures are allocated into a "Thread working area", * a thread private heap, usually allocated in a char array declared in your * code, there is not a central threads table or list, this means you can * have as many threads you want as long you have enough available RAM * memory. The threads do not use any memory outside the allocated working - * area.
          + * area.

          * @image html workspace.png *
          - * Note that the registers dump is only present when the Thread is not - * running, the context switching is done by pushing the registers on the - * stack of the switched-out thread and popping the registers of the - * switched-in thread from its stack. + * Note that the preemption areas only present when the Thread is not + * running (switched out), the context switching is done by pushing the + * registers on the stack of the switched-out thread and popping the registers + * of the switched-in thread from its stack. + * The preemption areas can be divided in up to three structures: + * - External Context. + * - Interrupt Stack. + * - Internal Context. + * + * See the @ref Core documentation for details, the areas may change on + * the various ports and some structures may not be present (or be zero-sized). * * @section sysmutex System Mutex Zone * It is the code within the OS that cannot be preempted, this code is diff --git a/docs/img/readylist.png b/docs/img/readylist.png index 4d852388f..a7a8adb57 100644 Binary files a/docs/img/readylist.png and b/docs/img/readylist.png differ diff --git a/docs/img/readylist.svg b/docs/img/readylist.svg index a82bdbc79..d1b41741a 100644 --- a/docs/img/readylist.svg +++ b/docs/img/readylist.svg @@ -15,10 +15,10 @@ sodipodi:version="0.32" inkscape:version="0.45.1" version="1.0" - sodipodi:docbase="C:\Progetti\ChibiOS\homepage" + sodipodi:docbase="D:\Progetti\ChibiOS-RT\docs\img" sodipodi:docname="readylist.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="C:\Progetti\ChibiOS\homepage\readylist.png" + inkscape:export-filename="D:\Progetti\ChibiOS-RT\docs\img\readylist.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> + transform="translate(-46.668657,15)"> 127 + id="flowPara3223">63 Thread Structure + transform="translate(-166.66866,15)"> 126 + id="flowPara5451">62 + transform="translate(73.331343,15)"> 128 + id="flowPara5492">64 + transform="translate(193.33134,15)"> 128 + id="flowPara5508">64 + id="g5533" + transform="translate(3.30033,14.5)"> Header diff --git a/docs/img/workspace.png b/docs/img/workspace.png index 03149b7bd..e7e20b60b 100644 Binary files a/docs/img/workspace.png and b/docs/img/workspace.png differ diff --git a/docs/img/workspace.svg b/docs/img/workspace.svg index afdc5492e..721be190c 100644 --- a/docs/img/workspace.svg +++ b/docs/img/workspace.svg @@ -15,10 +15,10 @@ sodipodi:version="0.32" inkscape:version="0.45.1" version="1.0" - sodipodi:docbase="C:\Progetti\ChibiOS\homepage" + sodipodi:docbase="D:\Progetti\ChibiOS-RT\docs\img" sodipodi:docname="workspace.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="C:\Progetti\ChibiOS\homepage\workspace.png" + inkscape:export-filename="D:\Progetti\ChibiOS-RT\docs\img\workspace.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> + inkscape:window-height="871" + inkscape:window-x="352" + inkscape:window-y="69" /> @@ -149,37 +149,37 @@ inkscape:export-xdpi="90" inkscape:export-ydpi="90" /> Thread Structure Registers Dump intctx Structure Thread Stack chThdLS() + id="flowPara2224">chThdLS() Stack Limit + + + extctx Structure INT_REQUIRED_STACK -- cgit v1.2.3 From 30745dff77158834198d6b29021e1eea0d5b5075 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 30 Dec 2008 19:55:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@569 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index c39153807..4b934bc20 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -311,14 +311,9 @@ *
        • @p INT_REQUIRED_STACK, this value represent the amount of stack space used * by an interrupt handler between the @p extctx and @p intctx * structures.
          - * In practice this value is the stack space used by the chSchDoReschedule() - * stack frame.
          - * This value can be affected by a variety of external things like compiler - * version, compiler options, kernel settings (speed/size) and so on.
          - * The default for this value is @p 0x10 which should be a safe value, you - * can trim this down by defining the macro externally. This would save - * some valuable RAM space for each thread present in the system.
          - * The default value is set into ./ports/ARMCM3/chcore.h.
        • + * In the current implementation this value is guaranteed to be zero so + * there is no need to modify this value unless changes are done at the + * interrupts handling code. *
        • @p BASEPRI_USER, this is the @p BASEPRI value for the user threads. The * default value is @p 0 (disabled).
          * Usually there is no need to change this value, please refer to the -- cgit v1.2.3 From a5a2fb4c531a2b5153911d6bd9fbca1d5f0d3e53 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 31 Dec 2008 09:08:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@570 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 4b934bc20..fe8ab6510 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -98,16 +98,16 @@ * area.

          * @image html workspace.png *
          - * Note that the preemption areas only present when the Thread is not + * Note that the preemption area is only present when the thread is not * running (switched out), the context switching is done by pushing the * registers on the stack of the switched-out thread and popping the registers * of the switched-in thread from its stack. - * The preemption areas can be divided in up to three structures: - * - External Context. - * - Interrupt Stack. - * - Internal Context. + * The preemption area can be divided in up to three structures: + * - External context. + * - Interrupt stack. + * - Internal context. * - * See the @ref Core documentation for details, the areas may change on + * See the @ref Core documentation for details, the area may change on * the various ports and some structures may not be present (or be zero-sized). * * @section sysmutex System Mutex Zone @@ -264,7 +264,9 @@ * The AT91SAM7X support includes: *
            *
          • Buffered, interrupt driven, serial driver.
          • + *
          • EMAC driver with MII support.
          • *
          • A demo supporting the kernel test suite.
          • + *
          • A Web server demo using the uIP TCP/IP stack.
          • *
          *

          * @ingroup ARM7 -- cgit v1.2.3 From 3aad1470deaf2d989614c3d08c377829bec8bab2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 31 Dec 2008 09:37:16 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@571 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index fe8ab6510..b95e80ff2 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -646,10 +646,10 @@ * An unlimited number of Event Sources can exists in a system and each * thread can listen on an unlimited number of them.
          * Note that the events can be asynchronously generated but are synchronously - * served, a thread can serve event by calling the \p chEvtWait() + * served, a thread can serve event by calling a \p chEvtWaitXXX() * API. If an event is generated while a listening thread is not ready to * serve it then the event becomes "pending" and will be served as soon the - * thread invokes the \p chEvtWait().
          + * thread invokes a \p chEvtWaitXXX().
          * In order to use the Event APIs the \p CH_USE_EVENTS option must be * specified in \p chconf.h. * @file events.h Events macros and structures. -- cgit v1.2.3 From 8bd7d8023bca9cdfaac0672ef4619f1d4d6b6448 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 31 Dec 2008 13:18:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@574 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index 40e5c6b15..dbb30bdfc 100644 --- a/docs/index.html +++ b/docs/index.html @@ -29,6 +29,11 @@ Version 1.0.0rc1
          SourceForge.net Logo

          Support This Project

          + +Wikipedia Affiliate Button + +
          +
          -
        • History

          This RTOS is something I wrote back in 1990 for use on boards -- cgit v1.2.3 From 64e5a24e28d6746dc78c1784a474bccf784a272d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 31 Dec 2008 14:30:21 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@575 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index dbb30bdfc..40e5c6b15 100644 --- a/docs/index.html +++ b/docs/index.html @@ -29,11 +29,6 @@ Version 1.0.0rc1
          SourceForge.net Logo

          Support This Project

          - -Wikipedia Affiliate Button - -
          -
          -

          History

          This RTOS is something I wrote back in 1990 for use on boards -- cgit v1.2.3 From bbabbf4ac29fc00d38a767cf07db01cf642e937d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 5 Jan 2009 14:05:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@582 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index b95e80ff2..a0baed6bb 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -421,6 +421,7 @@ /** * @defgroup Kernel Kernel * @{ + * @file ch.h ChibiOS/RT main header file, it includes everything else. */ /** @} */ @@ -462,12 +463,12 @@ /** @} */ /** - * @defgroup Initialization Initialization + * @defgroup System System Management * @{ - * Initialization APIs and procedures. + * Initialization and system-related APIs and procedures. * @ingroup Kernel - * @file ch.h ChibiOS/RT main include file, it includes everything else. - * @file chinit.c ChibiOS/RT Initialization code. + * @file sys.h ChibiOS/RT system-related header file. + * @file chsys.c ChibiOS/RT system-related code. */ /** @} */ -- cgit v1.2.3 From 3395ea99d621cf4903f1fd29db51918c7b9a8689 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 9 Jan 2009 20:23:21 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@598 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index a0baed6bb..151633ffc 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -25,7 +25,7 @@ * MinGW demo available. *
        • Preemptive scheduling.
        • *
        • 128 priority levels.
        • - *
        • Multiple threads at the same priorily level allowed.
        • + *
        • Multiple threads at the same priority level allowed.
        • *
        • Round robin scheduling for threads at the same priority level.
        • *
        • Unlimited number of threads.
        • *
        • Unlimited number of virtual timers.
        • @@ -67,7 +67,7 @@ * \a Evt, \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD, \a Dbg, \a Heap, \a Pool. * The suffix is not present for normal APIs but can be one of * the following: "I" for APIs meant to be invoked within the system mutex - * zone, "S" for APIs only useable from within the system mutex zone but not + * zone, "S" for APIs only usable from within the system mutex zone but not * from interrupt handlers.
          * The APIs without suffix can be invoked only from the user code outsize the * system mutex zone and not from interrupt handlers unless differently @@ -155,7 +155,7 @@ *
        • Pure THUMB mode, this is the preferred mode for code size. In this mode * the execution speed is slower than the ARM mode. This mode is enabled * when all the modules are compiled in THUMB mode, see the Makefiles.
        • - *
        • Interworking mode, when in the sistem there are ARM modules mixed with + *
        • Interworking mode, when in the system there are ARM modules mixed with * THUMB modules then the interworking compiler option is enabled. This is * usually the slowest mode and the code size is not as good as in pure * THUMB mode.
        • @@ -421,7 +421,6 @@ /** * @defgroup Kernel Kernel * @{ - * @file ch.h ChibiOS/RT main header file, it includes everything else. */ /** @} */ @@ -463,12 +462,12 @@ /** @} */ /** - * @defgroup System System Management + * @defgroup Initialization Initialization * @{ - * Initialization and system-related APIs and procedures. + * Initialization APIs and procedures. * @ingroup Kernel - * @file sys.h ChibiOS/RT system-related header file. - * @file chsys.c ChibiOS/RT system-related code. + * @file ch.h ChibiOS/RT main include file, it includes everything else. + * @file chinit.c ChibiOS/RT Initialization code. */ /** @} */ @@ -691,9 +690,9 @@ * threads).
          * There are several kind of queues:
          *
            - *
          • Input queue, monodirectional queue where the writer is the + *
          • Input queue, unidirectional queue where the writer is the * lower side and the reader is the upper side.
          • - *
          • Output queue, monodirectional queue where the writer is the + *
          • Output queue, unidirectional queue where the writer is the * upper side and the reader is the lower side.
          • *
          • Half duplex queue, bidirectional queue where the buffer is shared * between a receive and a transmit queues. This means that concurrent -- cgit v1.2.3 From ed0322b9cb4234fdb4c230eee41a1449ae0479cb Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 9 Jan 2009 20:24:44 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@600 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 76 ++++++++++++++++++++++++++++----------------------------- docs/index.html | 2 +- 2 files changed, 39 insertions(+), 39 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 125874cfa..0c84e5c15 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "1.0.0rc1" +PROJECT_NUMBER = "1.1.0unstable" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -16,7 +16,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES QT_AUTOBRIEF = NO @@ -24,7 +24,7 @@ MULTILINE_CPP_IS_BRIEF = NO INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO @@ -63,14 +63,14 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST = YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO SHOW_FILES = YES SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = +FILE_VERSION_FILTER = +LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -80,7 +80,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = YES WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -88,16 +88,16 @@ INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = ./img -INPUT_FILTER = -FILTER_PATTERNS = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -115,33 +115,33 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES HTML_DYNAMIC_SECTIONS = NO GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO GENERATE_QHP = NO -QCH_FILE = +QCH_FILE = QHP_NAMESPACE = org.doxygen.Project QHP_VIRTUAL_FOLDER = doc -QHG_LOCATION = +QHG_LOCATION = DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES @@ -156,8 +156,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = YES USE_PDFLATEX = YES LATEX_BATCHMODE = NO @@ -169,8 +169,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -183,8 +183,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -196,7 +196,7 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- @@ -204,16 +204,16 @@ ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = __JUST_STUBS__ __DOXIGEN__ CH_USE_WAITEXIT CH_USE_SEMAPHORES CH_USE_SEMSW CH_USE_SEMAPHORES_TIMEOUT CH_USE_MUTEXES CH_USE_CONDVARS CH_USE_CONDVARS_TIMEOUT CH_USE_EVENTS CH_USE_EVENTS_TIMEOUT CH_USE_EXIT_EVENT CH_USE_QUEUES CH_USE_QUEUES_TIMEOUT CH_USE_QUEUES_HALFDUPLEX CH_USE_SERIAL_FULLDUPLEX CH_USE_SERIAL_HALFDUPLEX CH_USE_HEAP CH_USE_MEMPOOLS CH_USE_MESSAGES CH_USE_MESSAGES_EVENT CH_USE_MESSAGES_PRIORITY CH_USE_DEBUG CH_USE_TRACE CH_USE_DYNAMIC CH_USE_ROUNDROBIN -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl @@ -221,12 +221,12 @@ PERL_PATH = /usr/bin/perl # Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO -MSCGEN_PATH = +MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES HAVE_DOT = YES DOT_FONTNAME = FreeSans DOT_FONTSIZE = 8 -DOT_FONTPATH = +DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = YES GROUP_GRAPHS = YES @@ -239,8 +239,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = NO DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = DOT_GRAPH_MAX_NODES = 20 MAX_DOT_GRAPH_DEPTH = 3 DOT_TRANSPARENT = YES diff --git a/docs/index.html b/docs/index.html index 40e5c6b15..d7ad024d9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 1.0.0rc1
          +Version 1.0.0rc2
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From a9b4e8fc7225e8e2f26554b388f9d069d8f05b5e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 16 Jan 2009 15:41:08 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@621 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 76 ++++++++++---------- docs/ch.txt | 217 +++++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 176 insertions(+), 117 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 0c84e5c15..b76152c27 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -16,7 +16,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES QT_AUTOBRIEF = NO @@ -24,7 +24,7 @@ MULTILINE_CPP_IS_BRIEF = NO INHERIT_DOCS = NO SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 2 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO @@ -63,14 +63,14 @@ GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST = YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO SHOW_FILES = YES SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = +FILE_VERSION_FILTER = +LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -80,7 +80,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = YES WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -88,16 +88,16 @@ INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf RECURSIVE = YES -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = ./img -INPUT_FILTER = -FILTER_PATTERNS = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -115,33 +115,33 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES HTML_DYNAMIC_SECTIONS = NO GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO GENERATE_QHP = NO -QCH_FILE = +QCH_FILE = QHP_NAMESPACE = org.doxygen.Project QHP_VIRTUAL_FOLDER = doc -QHG_LOCATION = +QHG_LOCATION = DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES @@ -156,8 +156,8 @@ LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = YES USE_PDFLATEX = YES LATEX_BATCHMODE = NO @@ -169,8 +169,8 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -183,8 +183,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -196,7 +196,7 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- @@ -204,16 +204,16 @@ ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = __JUST_STUBS__ __DOXIGEN__ CH_USE_WAITEXIT CH_USE_SEMAPHORES CH_USE_SEMSW CH_USE_SEMAPHORES_TIMEOUT CH_USE_MUTEXES CH_USE_CONDVARS CH_USE_CONDVARS_TIMEOUT CH_USE_EVENTS CH_USE_EVENTS_TIMEOUT CH_USE_EXIT_EVENT CH_USE_QUEUES CH_USE_QUEUES_TIMEOUT CH_USE_QUEUES_HALFDUPLEX CH_USE_SERIAL_FULLDUPLEX CH_USE_SERIAL_HALFDUPLEX CH_USE_HEAP CH_USE_MEMPOOLS CH_USE_MESSAGES CH_USE_MESSAGES_EVENT CH_USE_MESSAGES_PRIORITY CH_USE_DEBUG CH_USE_TRACE CH_USE_DYNAMIC CH_USE_ROUNDROBIN -EXPAND_AS_DEFINED = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = __DOXYGEN__ CH_USE_WAITEXIT CH_USE_SEMAPHORES CH_USE_SEMSW CH_USE_SEMAPHORES_TIMEOUT CH_USE_MUTEXES CH_USE_CONDVARS CH_USE_CONDVARS_TIMEOUT CH_USE_EVENTS CH_USE_EVENTS_TIMEOUT CH_USE_EXIT_EVENT CH_USE_QUEUES CH_USE_QUEUES_TIMEOUT CH_USE_QUEUES_HALFDUPLEX CH_USE_SERIAL_FULLDUPLEX CH_USE_SERIAL_HALFDUPLEX CH_USE_HEAP CH_USE_MEMPOOLS CH_USE_MESSAGES CH_USE_MESSAGES_EVENT CH_USE_MESSAGES_PRIORITY CH_USE_DEBUG CH_USE_TRACE CH_USE_DYNAMIC CH_USE_ROUNDROBIN +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl @@ -221,12 +221,12 @@ PERL_PATH = /usr/bin/perl # Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO -MSCGEN_PATH = +MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES HAVE_DOT = YES DOT_FONTNAME = FreeSans DOT_FONTSIZE = 8 -DOT_FONTPATH = +DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = YES GROUP_GRAPHS = YES @@ -239,8 +239,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = NO DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = DOT_GRAPH_MAX_NODES = 20 MAX_DOT_GRAPH_DEPTH = 3 DOT_TRANSPARENT = YES diff --git a/docs/ch.txt b/docs/ch.txt index 151633ffc..c05df4761 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -62,17 +62,76 @@ * @{ * @section naming Naming Conventions * ChibiOS/RT APIs are all named following this convention: - * \a ch\\\(). - * The possible groups are: \a Sys, \a Sch, \a VT, \a Thd, \a Sem, \a Mtx, - * \a Evt, \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD, \a Dbg, \a Heap, \a Pool. + * @a ch\\\(). + * The possible groups are: @a Sys, @a Sch, @a VT, @a Thd, @a Sem, @a Mtx, + * @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a HQ, @a FDD, @a HDD, @a Dbg, + * @a Heap, @a Pool. * The suffix is not present for normal APIs but can be one of - * the following: "I" for APIs meant to be invoked within the system mutex - * zone, "S" for APIs only usable from within the system mutex zone but not - * from interrupt handlers.
          - * The APIs without suffix can be invoked only from the user code outsize the - * system mutex zone and not from interrupt handlers unless differently - * specified.
          - * Examples: \p chThdCreateStatic(), \p chSemSignalI(), \p chIQGetTimeout(). + * the following: + * - "I", I-Class APIs are invokeable only from the I-Locked or S-Locked + * states. See @ref system_states. + * - "S", S-Class APIs are invokeable only from the S-Locked state. See + * @ref system_states. + * + * The APIs without suffix can be invoked only from the user code in the Normal + * state unless differently specified.
          + * Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout(). + * + * @section interrupts Interrupt Classes + * In ChibiOS/RT there are three logical interrupt classes: + * - Regular Interrupts. Maskable interrupt sources that cannot + * preempt the kernel code and are thus able to invoke operating system APIs + * from within their handlers. The interrupt handlers belonging to this class + * must be written following some rules. See the @ref System APIs group. + * - Fast Interrupts. Maskable interrupt sources with the ability + * to preempt the kernel code and thus have a lower latency. Such sources are + * not supported on all the architectures.
          + * Fast interrupts are not allowed to invoke any operating system API from + * within their handlers. Fast interrupt sources may however pend a lower + * priority regular interrupt where access to the operating system is + * possible. + * - Non Maskable Interrupts. Non maskable interrupt sources are + * totally out of the operating system control and have the lowest latency. + * Such sources are not supported on all the architectures. + * + * The mapping of the above logical classes into physical interrupts priorities + * is, of course, port dependent. See the documentation of the various ports + * for details. + * + * @section system_states System States + * When using ChibiOS/RT the system can be in one of the following logical + * operating states: + * - Initialization. When the system is in this state all the maskable + * interrupt sources are disabled. In this state it is not possible to use + * any system API except @p chSysInit(). This state is entered after a + * physical reset. + * - All Disabled. When the system is in this state both the maskable + * regular and fast interrupt sources are disabled. In this state it is not + * possible to use any system API except @p chSysDisable() or chSysEnable(). + * This state is entered using @p chSysDisableAll(). + * - Disabled. In this state the fast interrupt sources are enabled but + * the regular interrupt sources are not. In this state it is not possible + * to use any system API except @p chSysDisableAll() or chSysEnable(). + * - Normal. All the interrupt sources are enabled and the system APIs + * are accessible, threads are running. + * - S-Locked. Kernel locked and regular interrupt sources disabled. + * Fast interrupt sources are enabled. I-Class and S-Class APIs are + * invokeable in this state. + * - I-Locked. Kernel locked and regular interrupt sources disabled. + * I-Class and APIs are invokeable from this state. + * - Serving Regular Interrupt. No system APIs are accessible but it is + * possible to switch to the I-Locked state using @p chSysLockI() and then + * invoke any I-Class API. + * - Serving Fast Interrupt. No system APIs are accessible. + * - Serving Non-Maskable Interrupt. No systemAPIs are accessible. + * - Halted. All interrupt sources disabled and system stopped into an + * infinite loop. This state can be reached if the debug mode is activated + * and an error is detected or after explicitly invoking + * @p chSysHalt(). + * + * Note that the above state are just Logical States that can have no + * real machine state associated. The following diagram shows the possible + * transitions between the states: * * @section scheduling Scheduling * The strategy is very simple the currently ready thread with the highest @@ -84,18 +143,38 @@ * Note that the currently running thread is not in the ready list, the list * only contains the threads ready to be executed but still actually waiting. * - * @section states Threads States Diagram + * @section thread_states Threads States * The image shows how threads can change their state in ChibiOS/RT.
          * @image html states.png * + * @section priority Priority Levels + * Priorities in ChibiOS/RT are a contiguous numerical range but the initial + * and final values are not enforced.
          + * The following table describes the various priority boundaries (from lowest + * to highest): + * - @p IDLEPRIO, this is the lowest priority level and is reserved for the + * idle thread, no other threads should share this priority level. This is + * the lowest numerical value of the priorities space. + * - @p LOWPRIO, the lowest priority level that can be assigned to an user + * thread. + * - @p NORMALPRIO, this is the central priority level for user threads. It is + * advisable to assign priorities to threads as values relative to + * @p NORMALPRIO, as example NORMALPRIO-1 or NORMALPRIO+4, this ensures the + * portability of code should the numerical range change in future + * implementations. + * - @p HIGHPRIO, the highest priority level that can be assigned to an user + * thread. + * - @p ABSPRO, absolute maximum software priority level, it can be higher than + * @p HIGHPRIO but the numerical values above @p HIGHPRIO up to @p ABSPRIO + * (inclusive) are reserved. This is the highest numerical value of the + * priorities space. + * * @section warea Thread Working Area * Each thread has its own stack, a Thread structure and some preemption * areas. All the structures are allocated into a "Thread working area", - * a thread private heap, usually allocated in a char array declared in your - * code, there is not a central threads table or list, this means you can - * have as many threads you want as long you have enough available RAM - * memory. The threads do not use any memory outside the allocated working - * area.

          + * a thread private heap, usually allocated in an array declared in your + * code. Threads do not use any memory outside the allocated working area + * except when accessing static shared data.

          * @image html workspace.png *
          * Note that the preemption area is only present when the thread is not @@ -109,28 +188,6 @@ * * See the @ref Core documentation for details, the area may change on * the various ports and some structures may not be present (or be zero-sized). - * - * @section sysmutex System Mutex Zone - * It is the code within the OS that cannot be preempted, this code is - * everything between the \p chSysLock() and \p chSysUnlock() API calls. - * The implementation of the APIs in most cases just enables/disables the - * interrupts. Of course the code in the system mutex zone must be as short - * and efficient possible as it affects the RT performance of the whole - * system. The worst case response time is affected by the longest code - * path in the system mutex zone or interrupt handler. - * @code - * // User code, not critical, preemption possible. - * chSysLock(); - * ... - * // System critical code, preemption delayed. - * ... - * chSysUnlock(); - * // User code, preemption possible again. - * @endcode - * Applications usually do not need to put code into the system mutex zone - * unless you are implementing device drivers or special synchronization - * primitives, everything else can be implemented by using semaphores, - * mutexes, messages or events. */ /** @} */ @@ -163,7 +220,7 @@ *

          * The ARM7 port makes some assumptions on the application code organization: *

            - *
          • The \p main() function is invoked in system mode.
          • + *
          • The @p main() function is invoked in system mode.
          • *
          • Each thread has a private user/system stack, the system has a single * interrupt stack where all the interrupts are processed.
          • *
          • The threads are started in system mode.
          • @@ -186,7 +243,7 @@ * because in the ARM7 port all the OS interrupt handlers are declared * naked).
            * Function-trashed registers (R0-R3,R12,LR,SR) are saved/restored by the - * system macros \p chSysIRQEnterI() and \p chSysIRQExitI().
            + * system macros @p chSysIRQEnterI() and @p chSysIRQExitI().
            * The easiest way to ensure this is to just invoke a function from within * the interrupt handler, the function code will save all the required * registers.
            @@ -280,7 +337,7 @@ * The ARM Cortex-M3 port is organized as follow: *

            *
              - *
            • The \p main() function is invoked in thread-privileged mode.
            • + *
            • The @p main() function is invoked in thread-privileged mode.
            • *
            • Each thread has a private process stack, the system has a single main * stack where all the interrupts and exceptions are processed.
            • *
            • Only the 4 MSb of the priority level are used, the 4 LSb are assumed @@ -359,7 +416,7 @@ *
                *
              • The AVR does not have a dedicated interrupt stack, make sure to reserve * enough stack space for interrupts in each thread stack. This can be done - * by modifying the \p INT_REQUIRED_STACK macro into + * by modifying the @p INT_REQUIRED_STACK macro into * ./ports/AVR/chcore.h.
              • *
              * @ingroup Ports @@ -393,7 +450,7 @@ *
                *
              • The MSP430 does not have a dedicated interrupt stack, make sure to reserve * enough stack space for interrupts in each thread stack. This can be done - * by modifying the \p INT_REQUIRED_STACK macro into + * by modifying the @p INT_REQUIRED_STACK macro into * ./ports/MSP430/chcore.h.
              • *
              * @ingroup Ports @@ -421,13 +478,14 @@ /** * @defgroup Kernel Kernel * @{ + * @file ch.h ChibiOS/RT main include file, it includes everything else. */ /** @} */ /** * @defgroup Config Configuration * @{ - * In \p chconf.h are defined the required subsystems for your application. + * In @p chconf.h are defined the required subsystems for your application. * @ingroup Kernel * @file chconf.h ChibiOS/RT configuration file. */ @@ -453,21 +511,22 @@ /** @} */ /** - * @defgroup Inline Inline + * @defgroup System System Management * @{ - * System inline-able code. + * Initialization, Locks, Interrupt Handling, Power Management, Abnormal + * Termination. * @ingroup Kernel - * @file inline.h Inline versions of some critical system routines. + * @file sys.h System related macros and structures. + * @file chsys.c System related code. */ /** @} */ /** - * @defgroup Initialization Initialization + * @defgroup Inline Inline * @{ - * Initialization APIs and procedures. + * System inline-able code. * @ingroup Kernel - * @file ch.h ChibiOS/RT main include file, it includes everything else. - * @file chinit.c ChibiOS/RT Initialization code. + * @file inline.h Inline versions of some critical system routines. */ /** @} */ @@ -525,13 +584,13 @@ * Heap Allocator related APIs. * Operation mode

              * The heap allocator implements a first-fit strategy and its APIs are - * functionally equivalent to the usual \p malloc() and \p free(). The main + * functionally equivalent to the usual @p malloc() and @p free(). The main * difference is that the heap APIs are thread safe.
              - * By enabling the \p CH_USE_MALLOC_HEAP option the heap manager will use the - * runtime-provided \p malloc() and \p free() as backend for the heap APIs + * By enabling the @p CH_USE_MALLOC_HEAP option the heap manager will use the + * runtime-provided @p malloc() and @p free() as backend for the heap APIs * instead of the system provided allocator.
              - * In order to use the heap APIs the \p CH_USE_HEAP option must be specified - * in \p chconf.h. + * In order to use the heap APIs the @p CH_USE_HEAP option must be specified + * in @p chconf.h. * @file include/heap.h Heap macros and structures. * @file chheap.c Heap functions. */ @@ -544,8 +603,8 @@ * Operation mode

              * The Memory Pools APIs allow to allocate/free fixed size objects in * constant time and reliably without memory fragmentation problems.
              - * In order to use the Time APIs the \p CH_USE_MEMPOOLS option must be - * specified in \p chconf.h. + * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be + * specified in @p chconf.h. * @file include/mempools.h Memory Pools macros and structures. * @file chmempools.c Memory Pools functions. */ @@ -572,8 +631,8 @@ *
            * Semaphores can be used as guards for mutual exclusion code zones but * also have other uses, queues guards and counters as example.
            - * In order to use the Semaphores APIs the \p CH_USE_SEMAPHORES - * option must be specified in \p chconf.h.

            + * In order to use the Semaphores APIs the @p CH_USE_SEMAPHORES + * option must be specified in @p chconf.h.

            * @file semaphores.h Semaphores macros and structures. * @file chsem.c Semaphores code. */ @@ -596,8 +655,8 @@ * of the mutex. * *
          - * In order to use the Event APIs the \p CH_USE_MUTEXES option must be - * specified in \p chconf.h.
          + * In order to use the Event APIs the @p CH_USE_MUTEXES option must be + * specified in @p chconf.h.
          * * Constraints

          * In ChibiOS/RT the Unlock operations are always performed in Lock-reverse @@ -625,10 +684,10 @@ * Conditional Variables and threads synchronization. * Operation mode

          * The condition variable is a synchronization object meant to be used inside - * a zone protected by a \p Mutex. Mutexes and CondVars together can implement + * a zone protected by a @p Mutex. Mutexes and CondVars together can implement * a Monitor construct.
          - * In order to use the Conditional Variables APIs the \p CH_USE_CONDVARS - * option must be specified in \p chconf.h.

          + * In order to use the Conditional Variables APIs the @p CH_USE_CONDVARS + * option must be specified in @p chconf.h.

          * @file condvars.h Conditional Variables macros and structures. * @file chcond.c Conditional Variables code. */ @@ -646,12 +705,12 @@ * An unlimited number of Event Sources can exists in a system and each * thread can listen on an unlimited number of them.
          * Note that the events can be asynchronously generated but are synchronously - * served, a thread can serve event by calling a \p chEvtWaitXXX() + * served, a thread can serve event by calling a @p chEvtWaitXXX() * API. If an event is generated while a listening thread is not ready to * serve it then the event becomes "pending" and will be served as soon the - * thread invokes a \p chEvtWaitXXX().
          - * In order to use the Event APIs the \p CH_USE_EVENTS option must be - * specified in \p chconf.h. + * thread invokes a @p chEvtWaitXXX().
          + * In order to use the Event APIs the @p CH_USE_EVENTS option must be + * specified in @p chconf.h. * @file events.h Events macros and structures. * @file chevents.c Events functions. */ @@ -669,12 +728,12 @@ * efficient.
          * Messages are usually processed in FIFO order but it is possible to process * them in priority order by specifying CH_USE_MESSAGES_PRIORITY - * in \p chconf.h.
          + * in @p chconf.h.
          * Threads do not need to allocate space for message queues, the mechanism - * just requires two extra pointers in the \p Thread structure (the message + * just requires two extra pointers in the @p Thread structure (the message * queue header).
          - * In order to use the Messages APIs the \p CH_USE_MESSAGES option must be - * specified in \p chconf.h. + * In order to use the Messages APIs the @p CH_USE_MESSAGES option must be + * specified in @p chconf.h. * @file messages.h Messages macros and structures. * @file chmsg.c Messages functions. */ @@ -702,10 +761,10 @@ * operations can happen at the same time. Full duplex queues * are implemented by pairing an input queue and an output queue together. * - * In order to use the I/O queues the \p CH_USE_QUEUES option must - * be specified in \p chconf.h.
          - * In order to use the half duplex queues the \p CH_USE_QUEUES_HALFDUPLEX - * option must be specified in \p chconf.h. + * In order to use the I/O queues the @p CH_USE_QUEUES option must + * be specified in @p chconf.h.
          + * In order to use the half duplex queues the @p CH_USE_QUEUES_HALFDUPLEX + * option must be specified in @p chconf.h. * @file queues.h I/O Queues macros and structures. * @file chqueues.c I/O Queues code. */ @@ -721,9 +780,9 @@ * The module also contains functions that make the implementation of the * interrupt service routines much easier.
          * In order to use the serial full duplex driver the - * \p CH_USE_SERIAL_FULLDUPLEX option must be specified in \p chconf.h.
          + * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h.
          * In order to use the serial half duplex driver the - * \p CH_USE_SERIAL_HALFDUPLEX option must be specified in \p chconf.h. + * @p CH_USE_SERIAL_HALFDUPLEX option must be specified in @p chconf.h. * @file serial.h Serial Drivers macros and structures. * @file chserial.c Serial Drivers code. */ -- cgit v1.2.3 From 598423fd309b4d0cf871bc1151b9d3d97a078cd6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 17 Jan 2009 14:08:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@622 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 79 ++++++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 62 insertions(+), 17 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index c05df4761..7d5a4ced7 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -3,7 +3,7 @@ * @author Giovanni Di Sirio (gdisirio@users.sourceforge.net). * @section Chibi Chibi ? * It is the Japanese word for small as in small child. So ChibiOS/RT - * \htmlonly (ちびOS/RT) \endhtmlonly + * @htmlonly (ちびOS/RT) \endhtmlonly * means small Real Time Operating System. * Source Wikipedia. * @section ch_features Features @@ -68,9 +68,9 @@ * @a Heap, @a Pool. * The suffix is not present for normal APIs but can be one of * the following: - * - "I", I-Class APIs are invokeable only from the I-Locked or S-Locked + * - "I", I-Class APIs are invokable only from the I-Locked or S-Locked * states. See @ref system_states. - * - "S", S-Class APIs are invokeable only from the S-Locked state. See + * - "S", S-Class APIs are invokable only from the S-Locked state. See * @ref system_states. * * The APIs without suffix can be invoked only from the user code in the Normal @@ -105,33 +105,78 @@ * interrupt sources are disabled. In this state it is not possible to use * any system API except @p chSysInit(). This state is entered after a * physical reset. - * - All Disabled. When the system is in this state both the maskable + * - Disabled. When the system is in this state both the maskable * regular and fast interrupt sources are disabled. In this state it is not - * possible to use any system API except @p chSysDisable() or chSysEnable(). - * This state is entered using @p chSysDisableAll(). - * - Disabled. In this state the fast interrupt sources are enabled but + * possible to use any system API except @p chSysSuspend() or + * @p chSysEnable(). + * This state is entered using @p chSysDisable(). + * - Suspended. In this state the fast interrupt sources are enabled but * the regular interrupt sources are not. In this state it is not possible - * to use any system API except @p chSysDisableAll() or chSysEnable(). + * to use any system API except @p chSysDisable() or @p chSysEnable(). * - Normal. All the interrupt sources are enabled and the system APIs * are accessible, threads are running. + * - Sleep. Architecture-dependent low power mode, the idle thread + * goes in this state and waits for interrupts, after servicing the interrupt + * the Normal state is restored and the scheduler has a chance to reschedule. * - S-Locked. Kernel locked and regular interrupt sources disabled. - * Fast interrupt sources are enabled. I-Class and S-Class APIs are - * invokeable in this state. + * Fast interrupt sources are enabled. S-Class and I-Class APIs are + * invokable in this state. * - I-Locked. Kernel locked and regular interrupt sources disabled. - * I-Class and APIs are invokeable from this state. + * I-Class APIs are invokable from this state. * - Serving Regular Interrupt. No system APIs are accessible but it is * possible to switch to the I-Locked state using @p chSysLockI() and then - * invoke any I-Class API. + * invoke any I-Class API. Interrupt handlers can be preemptable on some + * architectures thus is important to switch to I-Locked state before + * invoking system APIs. * - Serving Fast Interrupt. No system APIs are accessible. - * - Serving Non-Maskable Interrupt. No systemAPIs are accessible. - * - Halted. All interrupt sources disabled and system stopped into an - * infinite loop. This state can be reached if the debug mode is activated + * - Serving Non-Maskable Interrupt. System APIs are not accessible. + * - Halted. All interrupt sources are disabled and system stopped into + * an infinite loop. This state can be reached if the debug mode is activated * and an error is detected or after explicitly invoking * @p chSysHalt(). * * Note that the above state are just Logical States that can have no - * real machine state associated. The following diagram shows the possible - * transitions between the states: + * real machine state associated on some architectures. The following diagram + * shows the possible transitions between the states: + * + * @dot + digraph example { + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + init [label="Initialization", style="bold"]; + norm [label="Normal", shape=doublecircle]; + susp [label="Suspended"]; + disab [label="Disabled"]; + slock [label="S-Locked"]; + ilock [label="I-Locked"]; + slock [label="S-Locked"]; + sleep [label="Sleep"]; + sri [label="SRI"]; + sfi [label="SFI"]; + init -> norm [label="chSysInit()", fontname=Helvetica, fontsize=8]; + norm -> slock [label="chSysLock()", fontname=Helvetica, fontsize=8, constraint=false]; + slock -> norm [label="chSysUnlock()", fontname=Helvetica, fontsize=8]; + norm -> susp [label="chSysSuspend()", fontname=Helvetica, fontsize=8]; + susp -> disab [label="chSysDisable()", fontname=Helvetica, fontsize=8]; + norm -> disab [label="chSysDisable()", fontname=Helvetica, fontsize=8]; + susp -> norm [label="chSysEnable()", fontname=Helvetica, fontsize=8]; + disab -> norm [label="chSysEnable()", fontname=Helvetica, fontsize=8]; + slock -> ilock [dir="both", label="Context Switch", fontname=Helvetica, fontsize=8]; + norm -> sri [style="dotted", label="Regular IRQ", fontname=Helvetica, fontsize=8]; + norm -> sfi [style="dotted", label="Fast IRQ", fontname=Helvetica, fontsize=8]; + susp -> sfi [style="dotted", label="Fast IRQ", fontname=Helvetica, fontsize=8]; + sri -> norm [label="Regular IRQ return", fontname=Helvetica, fontsize=8]; + sfi -> norm [label="Fast IRQ return", fontname=Helvetica, fontsize=8]; + sfi -> susp [label="Fast IRQ return", fontname=Helvetica, fontsize=8]; + sri -> ilock [label="chSysLockI()", fontname=Helvetica, fontsize=8, constraint=false]; + ilock -> sri [label="chSysUnlockI()", fontname=Helvetica, fontsize=8]; + norm -> sleep [label="Idle Thread", fontname=Helvetica, fontsize=8]; + sleep -> sri [style="dotted", label="Regular IRQ", fontname=Helvetica, fontsize=8]; + sleep -> sfi [style="dotted", label="Fast IRQ", fontname=Helvetica, fontsize=8]; + } + * @enddot + * Note, the Halted and SNMI states can be reached from any state and are not + * shown for simplicity. * * @section scheduling Scheduling * The strategy is very simple the currently ready thread with the highest -- cgit v1.2.3 From b66044d9698c9048623e328ea4d62fadd5293e11 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 17 Jan 2009 14:16:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@623 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 7d5a4ced7..8f114171b 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -135,8 +135,8 @@ * and an error is detected or after explicitly invoking * @p chSysHalt(). * - * Note that the above state are just Logical States that can have no - * real machine state associated on some architectures. The following diagram + * Note that the above state are just Logical States that may have no + * real associated machine state on some architectures. The following diagram * shows the possible transitions between the states: * * @dot -- cgit v1.2.3 From d72f5d7b16daeec3c965bbbe4c81d4311b4d9df2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 17 Jan 2009 19:46:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@627 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 8f114171b..6cb5140b9 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -105,16 +105,16 @@ * interrupt sources are disabled. In this state it is not possible to use * any system API except @p chSysInit(). This state is entered after a * physical reset. + * - Normal. All the interrupt sources are enabled and the system APIs + * are accessible, threads are running. + * - Suspended. In this state the fast interrupt sources are enabled but + * the regular interrupt sources are not. In this state it is not possible + * to use any system API except @p chSysDisable() or @p chSysEnable() in + * order to change state. * - Disabled. When the system is in this state both the maskable * regular and fast interrupt sources are disabled. In this state it is not * possible to use any system API except @p chSysSuspend() or - * @p chSysEnable(). - * This state is entered using @p chSysDisable(). - * - Suspended. In this state the fast interrupt sources are enabled but - * the regular interrupt sources are not. In this state it is not possible - * to use any system API except @p chSysDisable() or @p chSysEnable(). - * - Normal. All the interrupt sources are enabled and the system APIs - * are accessible, threads are running. + * @p chSysEnable() in order to change state. * - Sleep. Architecture-dependent low power mode, the idle thread * goes in this state and waits for interrupts, after servicing the interrupt * the Normal state is restored and the scheduler has a chance to reschedule. @@ -128,7 +128,7 @@ * invoke any I-Class API. Interrupt handlers can be preemptable on some * architectures thus is important to switch to I-Locked state before * invoking system APIs. - * - Serving Fast Interrupt. No system APIs are accessible. + * - Serving Fast Interrupt. System APIs are not accessible. * - Serving Non-Maskable Interrupt. System APIs are not accessible. * - Halted. All interrupt sources are disabled and system stopped into * an infinite loop. This state can be reached if the debug mode is activated -- cgit v1.2.3 From 350abc8106b440e3c09f40f7d76938079eab6ab1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 17 Jan 2009 20:15:19 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@628 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 4 +-- docs/ch.txt | 102 ++-------------------------------------------------------- 2 files changed, 5 insertions(+), 101 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index b76152c27..430f4aa8f 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -84,7 +84,7 @@ WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib +INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf RECURSIVE = YES @@ -206,7 +206,7 @@ EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = -PREDEFINED = __DOXYGEN__ CH_USE_WAITEXIT CH_USE_SEMAPHORES CH_USE_SEMSW CH_USE_SEMAPHORES_TIMEOUT CH_USE_MUTEXES CH_USE_CONDVARS CH_USE_CONDVARS_TIMEOUT CH_USE_EVENTS CH_USE_EVENTS_TIMEOUT CH_USE_EXIT_EVENT CH_USE_QUEUES CH_USE_QUEUES_TIMEOUT CH_USE_QUEUES_HALFDUPLEX CH_USE_SERIAL_FULLDUPLEX CH_USE_SERIAL_HALFDUPLEX CH_USE_HEAP CH_USE_MEMPOOLS CH_USE_MESSAGES CH_USE_MESSAGES_EVENT CH_USE_MESSAGES_PRIORITY CH_USE_DEBUG CH_USE_TRACE CH_USE_DYNAMIC CH_USE_ROUNDROBIN +PREDEFINED = __DOXYGEN__ CH_USE_WAITEXIT CH_USE_SEMAPHORES CH_USE_SEMSW CH_USE_SEMAPHORES_TIMEOUT CH_USE_MUTEXES CH_USE_CONDVARS CH_USE_CONDVARS_TIMEOUT CH_USE_EVENTS CH_USE_EVENTS_TIMEOUT CH_USE_EXIT_EVENT CH_USE_QUEUES CH_USE_QUEUES_TIMEOUT CH_USE_QUEUES_HALFDUPLEX CH_USE_SERIAL_FULLDUPLEX CH_USE_SERIAL_HALFDUPLEX CH_USE_HEAP CH_USE_MEMPOOLS CH_USE_MESSAGES CH_USE_MESSAGES_EVENT CH_USE_MESSAGES_PRIORITY CH_USE_DEBUG CH_USE_TRACE CH_USE_DYNAMIC CH_USE_ROUNDROBIN EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- diff --git a/docs/ch.txt b/docs/ch.txt index 6cb5140b9..bd17db657 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -244,101 +244,6 @@ */ /** @} */ -/** - * @defgroup ARM7 ARM7TDMI - * @{ - *

          - * The ARM7 port supports 3 modes: - *

          - *
            - *
          • Pure ARM mode, this is the preferred mode for code speed. The code size - * is larger however. This mode is enabled when all the modules are compiled - * in ARM mode, see the Makefiles.
          • - *
          • Pure THUMB mode, this is the preferred mode for code size. In this mode - * the execution speed is slower than the ARM mode. This mode is enabled - * when all the modules are compiled in THUMB mode, see the Makefiles.
          • - *
          • Interworking mode, when in the system there are ARM modules mixed with - * THUMB modules then the interworking compiler option is enabled. This is - * usually the slowest mode and the code size is not as good as in pure - * THUMB mode.
          • - *
          - *

          - * The ARM7 port makes some assumptions on the application code organization: - *

            - *
          • The @p main() function is invoked in system mode.
          • - *
          • Each thread has a private user/system stack, the system has a single - * interrupt stack where all the interrupts are processed.
          • - *
          • The threads are started in system mode.
          • - *
          • The threads code can run in system mode or user mode, however the - * code running in user mode cannot invoke the ChibiOS/RT APIs directly - * because privileged instructions are used inside.
            - * The kernel APIs can be eventually invoked by using a SWI entry point - * that handles the switch in system mode and the return in user mode.
          • - *
          • Other modes are not preempt-able because the system code assumes the - * threads running in system mode. When running in supervisor or other - * modes make sure that the interrupts are globally disabled.
          • - *
          • Interrupts nesting is not supported in the ARM7 code because their - * implementation, even if possible, is not really efficient in this - * architecture.
          • - *
          • FIQ sources can preempt the kernel (by design) so it is not possible to - * invoke the kernel APIs from inside a FIQ handler. FIQ handlers are not - * affected by the kernel activity so there is not added jitter.
          • - *
          • Interrupt handlers do not save function-saved registers so you need to - * make sure your code saves them or does not use them (this happens - * because in the ARM7 port all the OS interrupt handlers are declared - * naked).
            - * Function-trashed registers (R0-R3,R12,LR,SR) are saved/restored by the - * system macros @p chSysIRQEnterI() and @p chSysIRQExitI().
            - * The easiest way to ensure this is to just invoke a function from within - * the interrupt handler, the function code will save all the required - * registers.
            - * Example: - * @code - * __attribute__((naked, weak)) - * void irq_handler(void) { - * chSysIRQEnterI(); - * - * serve_interrupt(); - * - * VICVectAddr = 0; // This is LPC214x-specific. - * chSysIRQExitI(); - * } - * @endcode - * This is not a bug but an implementation choice, this solution allows to - * have interrupt handlers compiled in thumb mode without have to use an - * interworking mode (the mode switch is hidden in the macros), this - * greatly improves code efficiency and size. You can look at the serial - * driver for real examples of interrupt handlers.
          • - *
          - *

          - * @ingroup Ports - */ -/** @} */ - -/** - * @defgroup ARM7CONF Configuration Options - * @{ - *

          - * The ARM7 port allows some architecture-specific configurations settings - * that can be specified externally, as example on the compiler command line: - *

            - *
          • @p INT_REQUIRED_STACK, this value represent the amount of stack space used - * by an interrupt handler between the @p extctx and @p intctx - * structures.
            - * In practice this value is the stack space used by the chSchDoReschedule() - * stack frame.
            - * This value can be affected by a variety of external things like compiler - * version, compiler options, kernel settings (speed/size) and so on.
            - * The default for this value is @p 0x10 which should be a safe value, you - * can trim this down by defining the macro externally. This would save - * some valuable RAM space for each thread present in the system.
            - * The default value is set into ./ports/ARM7/chcore.h.
          • - *
          - *

          - * @ingroup ARM7 - */ -/** @} */ - /** * @defgroup LPC214x LPC214x Support * @{ @@ -437,7 +342,6 @@ */ /** @} */ - /** * @defgroup STM32F103 STM32F103 Support * @{ @@ -541,8 +445,8 @@ * @{ * Non portable code. * @ingroup Kernel - * @file chcore.c Non portable code. - * @file chcore.h Non portable macros and structures. + * @file templates/chcore.c Non portable code. + * @file templates/chcore.h Non portable macros and structures. */ /** @} */ @@ -551,7 +455,7 @@ * @{ * System types and macros. * @ingroup Kernel - * @file chtypes.h System types and code modifiers. + * @file templates/chtypes.h System types and code modifiers. */ /** @} */ -- cgit v1.2.3 From 0286cd989a212e56fb088e0ae3b2d98eab00e5a8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 18 Jan 2009 08:59:39 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@629 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index bd17db657..82789c4b7 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -445,8 +445,8 @@ * @{ * Non portable code. * @ingroup Kernel - * @file templates/chcore.c Non portable code. - * @file templates/chcore.h Non portable macros and structures. + * @file src/templates/chcore.c Non portable code template file. + * @file src/templates/chcore.h Non portable macros and structures template file. */ /** @} */ -- cgit v1.2.3 From 48d08ca9476ca38ba936ec7ff5ae3b79d8b02bd2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 18 Jan 2009 13:44:50 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@634 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/ch.txt | 64 +---------------------------------------------------------- 2 files changed, 2 insertions(+), 64 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 430f4aa8f..582fcc532 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -84,7 +84,7 @@ WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 +INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 ../ports/ARMCM3 INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf RECURSIVE = YES diff --git a/docs/ch.txt b/docs/ch.txt index 82789c4b7..fc475ec95 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -77,7 +77,7 @@ * state unless differently specified.
          * Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout(). * - * @section interrupts Interrupt Classes + * @section interrupt_classes Interrupt Classes * In ChibiOS/RT there are three logical interrupt classes: * - Regular Interrupts. Maskable interrupt sources that cannot * preempt the kernel code and are thus able to invoke operating system APIs @@ -280,68 +280,6 @@ */ /** @} */ -/** - * @defgroup ARMCM3 ARM Cortex-M3 - * @{ - *

          - * The ARM Cortex-M3 port is organized as follow: - *

          - *
            - *
          • The @p main() function is invoked in thread-privileged mode.
          • - *
          • Each thread has a private process stack, the system has a single main - * stack where all the interrupts and exceptions are processed.
          • - *
          • Only the 4 MSb of the priority level are used, the 4 LSb are assumed - * to be zero.
          • - *
          • The threads are started in thread-privileged mode with BASEPRI level - * 0x00 (disabled).
          • - *
          • The kernel raises its BASEPRI level to 0x10 in order to protect the - * system mutex zones. Note that exceptions with level 0x00 can preempt - * the kernel, such exception handlers cannot invoke kernel APIs directly. - * It is possible to modify the priority levels by editing the - * ./ports/ARMCM3/chcore.h file.
          • - *
          • Interrupt nesting and the other advanced NVIC features are supported.
          • - *
          • The SVC instruction and vector, with parameter #0, is internally used - * for commanded context switching.
            - * It is possible to share the SVC handler at the cost of slower context - * switching.
          • - *
          • The PendSV vector is internally used for preemption context switching.
          • - *
          - * @ingroup Ports - */ -/** @} */ - -/** - * @defgroup ARMCM3CONF Configuration Options - * @{ - *

          - * The ARMCM3 port allows some architecture-specific configurations settings - * that can be specified externally, as example on the compiler command line: - *

            - *
          • @p INT_REQUIRED_STACK, this value represent the amount of stack space used - * by an interrupt handler between the @p extctx and @p intctx - * structures.
            - * In the current implementation this value is guaranteed to be zero so - * there is no need to modify this value unless changes are done at the - * interrupts handling code.
          • - *
          • @p BASEPRI_USER, this is the @p BASEPRI value for the user threads. The - * default value is @p 0 (disabled).
            - * Usually there is no need to change this value, please refer to the - * Cortex-M3 technical reference manual for a detailed description.
          • - *
          • @p BASEPRI_KERNEL, this is the @p BASEPRI value for the kernel lock code. - * The default value is 0x10.
            - * Code running at higher priority levels must not invoke any OS API.
            - * Usually there is no need to change this value, please refer to the - * Cortex-M3 technical reference manual for a detailed description.
          • - *
          • @p ENABLE_WFI_IDLE, if set to @p 1 enables the use of the @p wfi - * instruction from within the idle loop. This is defaulted to 0 because - * it can create problems with some debuggers. Setting this option to 1 - * reduces the system power requirements.
          • - *
          - *

          - * @ingroup ARMCM3 - */ -/** @} */ - /** * @defgroup STM32F103 STM32F103 Support * @{ -- cgit v1.2.3 From cb692f1c51bb79c7c6f015cef9da5dfeb1bfebba Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 18 Jan 2009 16:51:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@636 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/ch.txt | 34 ---------------------------------- 2 files changed, 1 insertion(+), 35 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 582fcc532..fc3f3f1f6 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -84,7 +84,7 @@ WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 ../ports/ARMCM3 +INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 ../ports/ARMCM3 ../ports/MSP430 INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf RECURSIVE = YES diff --git a/docs/ch.txt b/docs/ch.txt index fc475ec95..d61a735ce 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -328,40 +328,6 @@ */ /** @} */ -/** - * @defgroup MSP430 MSP430 - * @{ - *

          - * Notes about the MSP430 port: - *

          - *
            - *
          • The MSP430 does not have a dedicated interrupt stack, make sure to reserve - * enough stack space for interrupts in each thread stack. This can be done - * by modifying the @p INT_REQUIRED_STACK macro into - * ./ports/MSP430/chcore.h.
          • - *
          - * @ingroup Ports - */ -/** @} */ - -/** - * @defgroup MSP430CONF Configuration Options - * @{ - *

          - * The MSP430 port allows some architecture-specific configurations settings - * that can be specified externally, as example on the compiler command line: - *

            - *
          • @p INT_REQUIRED_STACK, this value represent the amount of stack space - * used by the interrupt handlers.
            - * The default for this value is @p 32, this space is allocated for each - * thread so be careful in order to not waste precious RAM space.
            - * The default value is set into ./ports/MSP430/chcore.h.
          • - *
          - *

          - * @ingroup MSP430 - */ -/** @} */ - /** * @defgroup Kernel Kernel * @{ -- cgit v1.2.3 From 0c36565550f5b81e6b853ebf3e0b323ed4a8f1f2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 18 Jan 2009 17:09:11 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@637 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/ch.txt | 38 ++------------------------------------ 2 files changed, 3 insertions(+), 37 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index fc3f3f1f6..db3bdba48 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -84,7 +84,7 @@ WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 ../ports/ARMCM3 ../ports/MSP430 +INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 ../ports/ARMCM3 ../ports/MSP430 ../ports/AVR INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf RECURSIVE = YES diff --git a/docs/ch.txt b/docs/ch.txt index d61a735ce..196fa94c5 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -294,40 +294,6 @@ */ /** @} */ -/** - * @defgroup AVR MegaAVR - * @{ - *

          - * Notes about the AVR port: - *

          - *
            - *
          • The AVR does not have a dedicated interrupt stack, make sure to reserve - * enough stack space for interrupts in each thread stack. This can be done - * by modifying the @p INT_REQUIRED_STACK macro into - * ./ports/AVR/chcore.h.
          • - *
          - * @ingroup Ports - */ -/** @} */ - -/** - * @defgroup AVRCONF Configuration Options - * @{ - *

          - * The AVR port allows some architecture-specific configurations settings - * that can be specified externally, as example on the compiler command line: - *

            - *
          • @p INT_REQUIRED_STACK, this value represent the amount of stack space - * used by the interrupt handlers.
            - * The default for this value is @p 32, this space is allocated for each - * thread so be careful in order to not waste precious RAM space.
            - * The default value is set into ./ports/AVR/chcore.h.
          • - *
          - *

          - * @ingroup AVR - */ -/** @} */ - /** * @defgroup Kernel Kernel * @{ @@ -345,9 +311,9 @@ /** @} */ /** - * @defgroup Core Core + * @defgroup Core Generic Port Code Templates * @{ - * Non portable code. + * Non portable code templates. * @ingroup Kernel * @file src/templates/chcore.c Non portable code template file. * @file src/templates/chcore.h Non portable macros and structures template file. -- cgit v1.2.3 From df354a95423b29d7bbec49bce7814af299e908fd Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 18 Jan 2009 17:10:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@638 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/readme.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/readme.txt b/docs/readme.txt index 730d20072..b8ee45e2a 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -6,13 +6,13 @@ order to access directly the doxigen documentation. *** Documentation rebuild procedure *** The following software must be installed: -- Doxigen 1.5.7.1 or later. +- Doxygen 1.5.7.1 or later. - Graphviz 2.21 or later. The ./bin directory must be specified in the path in - order to make Graphviz accessible by doxigen. + order to make Graphviz accessible by Doxygen. Build procedure: -- Run Doxiwizard. -- Load ./docs/Doxifile from Doxiwizard. +- Run Doxywizard. +- Load ./docs/Doxyfile from Doxywizard. - Start. *** Doxygen usage rules *** -- cgit v1.2.3 From de5e04fc611f3b5cd5c16f39d1063c37110a9467 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 19 Jan 2009 10:13:17 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@641 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/ch.txt | 50 -------------------------------------------------- 2 files changed, 1 insertion(+), 51 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index db3bdba48..8877df0fb 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -84,7 +84,7 @@ WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 ../ports/ARMCM3 ../ports/MSP430 ../ports/AVR +INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 ../ports/ARM7-AT91SAM7X/port.dox ../ports/ARM7-LPC214x/port.dox ../ports/ARMCM3 ../ports/ARMCM3-STM32F103/port.dox ../ports/MSP430 ../ports/AVR INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf RECURSIVE = YES diff --git a/docs/ch.txt b/docs/ch.txt index 196fa94c5..e31bd932d 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -244,56 +244,6 @@ */ /** @} */ -/** - * @defgroup LPC214x LPC214x Support - * @{ - *

          - * The LPC214x support includes: - *

            - *
          • VIC support code.
          • - *
          • Buffered, interrupt driven, serial driver.
          • - *
          • SSP driver.
          • - *
          • A MMC/SD demo driver.
          • - *
          • A buzzer demo driver.
          • - *
          • A minimal demo, useful as project template.
          • - *
          • A demo supporting the kernel test suite.
          • - *
          • A C++ demo supporting the kernel test suite.
          • - *
          - *

          - * @ingroup ARM7 - */ -/** @} */ - -/** - * @defgroup AT91SAM7X AT91SAM7X Support - * @{ - *

          - * The AT91SAM7X support includes: - *

            - *
          • Buffered, interrupt driven, serial driver.
          • - *
          • EMAC driver with MII support.
          • - *
          • A demo supporting the kernel test suite.
          • - *
          • A Web server demo using the uIP TCP/IP stack.
          • - *
          - *

          - * @ingroup ARM7 - */ -/** @} */ - -/** - * @defgroup STM32F103 STM32F103 Support - * @{ - *

          - * The STM32F103 support includes: - *

            - *
          • Buffered, interrupt driven, serial driver.
          • - *
          • A demo supporting the kernel test suite.
          • - *
          - *

          - * @ingroup ARMCM3 - */ -/** @} */ - /** * @defgroup Kernel Kernel * @{ -- cgit v1.2.3 From 0810f1daac3c33d194d573d82ec436021e3e7255 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 19 Jan 2009 13:31:37 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@643 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 4 +- docs/ch.txt | 181 +++++++++++++++++++++++++-------------------------- docs/src/atomic.dox | 50 ++++++++++++++ docs/src/saveram.dox | 66 +++++++++++++++++++ 4 files changed, 207 insertions(+), 94 deletions(-) create mode 100644 docs/src/atomic.dox create mode 100644 docs/src/saveram.dox (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 8877df0fb..a3d8f860b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -18,7 +18,7 @@ FULL_PATH_NAMES = NO STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" STRIP_FROM_INC_PATH = SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = YES +JAVADOC_AUTOBRIEF = NO QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO INHERIT_DOCS = NO @@ -84,7 +84,7 @@ WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../src/lib ../ports/ARM7 ../ports/ARM7-AT91SAM7X/port.dox ../ports/ARM7-LPC214x/port.dox ../ports/ARMCM3 ../ports/ARMCM3-STM32F103/port.dox ../ports/MSP430 ../ports/AVR +INPUT = ../src/include ../src/templates ../src ../docs/ch.txt ../docs/src ../src/lib ../ports/ARM7 ../ports/ARM7-AT91SAM7X/port.dox ../ports/ARM7-LPC214x/port.dox ../ports/ARMCM3 ../ports/ARMCM3-STM32F103/port.dox ../ports/MSP430 ../ports/AVR INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py *.ddf RECURSIVE = YES diff --git a/docs/ch.txt b/docs/ch.txt index e31bd932d..5048cf5f6 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -7,59 +7,57 @@ * means small Real Time Operating System. * Source Wikipedia. * @section ch_features Features - *
            - *
          • Free software, GPL3 licensed.
          • - *
          • Designed for realtime applications.
          • - *
          • Easily portable.
          • - *
          • Mixed programming model:
          • - *
              - *
            • Synchronous, using semaphores/mutexes/condvars and/or messages.
            • - *
            • Asynchronous, using event sources.
            • - *
            • Mix of the above models, multiple threads listening to multiple event - * sources while serving message queues.
            • - *
            - *
          • PC simulator target included, the development can be done on the PC + * - Free software, GPL3 licensed. + * - Designed for realtime applications. + * - Easily portable. + * - Mixed programming model: + * - Synchronous, using semaphores/mutexes/condvars and/or messages. + * - Asynchronous, using event sources. + * - Mix of the above models, multiple threads listening to multiple event + * sources while serving message queues. + * - PC simulator target included, the development can be done on the PC * using MinGW.
            * Timers, I/O channels and other HW resources are simulated in a * Win32 process and the application code does not need to be aware of it. - * MinGW demo available.
          • - *
          • Preemptive scheduling.
          • - *
          • 128 priority levels.
          • - *
          • Multiple threads at the same priority level allowed.
          • - *
          • Round robin scheduling for threads at the same priority level.
          • - *
          • Unlimited number of threads.
          • - *
          • Unlimited number of virtual timers.
          • - *
          • Unlimited number of semaphores.
          • - *
          • Unlimited number of mutexes.
          • - *
          • Unlimited number of condvars.
          • - *
          • Unlimited number of event sources.
          • - *
          • Unlimited number of messages in queue.
          • - *
          • Unlimited number of I/O queues.
          • - *
          • No static setup at compile time, there is no need to configure a maximum - * number of all the above resources.
          • - *
          • No *need* for a memory allocator, all the kernel structures are static - * and declaratively allocated.
          • - *
          • Threads, Semaphores, Event Sources, Virtual Timers creation/deletion at - * runtime.
          • - *
          • Optional, thread safe, Heap Allocator subsystem.
          • - *
          • Optional, thread safe, Memory Pools Allocator subsystem.
          • - *
          • Blocking and non blocking I/O channels with timeout and events generation - * capability.
          • - *
          • Minimal system requirements: about 8KiB ROM with all options enabled and - * speed optimizations on. The size can shrink under 2KiB by disabling the - * the unused subsystems and optimizing for size.
          • - *
          • Small memory footprint, unused subsystems can be excluded by the - * memory image.
          • - *
          • Almost totally written in C with little ASM code required for ports.
          • - *
          + * MinGW demo available. + * - Preemptive scheduling. + * - 128 priority levels. + * - Multiple threads at the same priority level allowed. + * - Round robin scheduling for threads at the same priority level. + * - Unlimited number of threads. + * - Unlimited number of virtual timers. + * - Unlimited number of semaphores. + * - Unlimited number of mutexes. + * - Unlimited number of condvars. + * - Unlimited number of event sources. + * - Unlimited number of messages in queue. + * - Unlimited number of I/O queues. + * - No static setup at compile time, there is no need to configure a maximum + * number of all the above resources. + * - No *need* for a memory allocator, all the kernel structures are static + * and declaratively allocated. + * - Threads, Semaphores, Event Sources, Virtual Timers creation/deletion at + * runtime. + * - Optional, thread safe, Heap Allocator subsystem. + * - Optional, thread safe, Memory Pools Allocator subsystem. + * - Blocking and non blocking I/O channels with timeout and events generation + * capability. + * - Minimal system requirements: about 8KiB ROM with all options enabled and + * speed optimizations on. The size can shrink under 2KiB by disabling the + * the unused subsystems and optimizing for size. + * - Small memory footprint, unused subsystems can be excluded by the + * memory image. + * - Almost totally written in C with little ASM code required for ports. * - * ChibiOS/RT architecture:

          - * @subpage Concepts + * Related pages: + * - @subpage Concepts + * - @subpage Articles */ /** * @page Concepts Concepts * @{ + * @brief ChibiOS/RT Concepts and Architecture * @section naming Naming Conventions * ChibiOS/RT APIs are all named following this convention: * @a ch\\\(). @@ -236,6 +234,16 @@ */ /** @} */ +/** + * @page Articles Articles + * @{ + * @brief ChibiOS/RT Articles and Code Examples + * + * - @subpage article_atomic + * - @subpage article_saveram + */ +/** @} */ + /** * @defgroup Ports Ports * @{ @@ -351,7 +359,7 @@ * @defgroup Heap Heap * @{ * Heap Allocator related APIs. - * Operation mode

          + *

          Operation mode

          * The heap allocator implements a first-fit strategy and its APIs are * functionally equivalent to the usual @p malloc() and @p free(). The main * difference is that the heap APIs are thread safe.
          @@ -369,7 +377,7 @@ * @defgroup MemoryPools Memory Pools * @{ * Memory Pools related APIs. - * Operation mode

          + *

          Operation mode

          * The Memory Pools APIs allow to allocate/free fixed size objects in * constant time and reliably without memory fragmentation problems.
          * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be @@ -383,21 +391,16 @@ * @defgroup Semaphores Semaphores * @{ * Semaphores and threads synchronization. - * Operation mode

          + *

          Operation mode

          * A semaphore is a threads synchronization object, some operations - * are defined on semaphores:
          - *
            - *
          • Signal: The semaphore counter is increased and if the result - * is non-positive then a waiting thread is removed from the semaphore - * queue and made ready for execution. - *
          • - *
          • Wait: The semaphore counter is decreased and if the result - * becomes negative the thread is queued in the semaphore and suspended. - *
          • - *
          • Reset: The semaphore counter is reset to a non-negative value - * and all the threads in the queue are released. - *
          • - *
          + * are defined on semaphores: + * - Signal: The semaphore counter is increased and if the result + * is non-positive then a waiting thread is removed from the semaphore + * queue and made ready for execution. + * - Wait: The semaphore counter is decreased and if the result + * becomes negative the thread is queued in the semaphore and suspended. + * - Reset: The semaphore counter is reset to a non-negative value + * and all the threads in the queue are released. * Semaphores can be used as guards for mutual exclusion code zones but * also have other uses, queues guards and counters as example.
          * In order to use the Semaphores APIs the @p CH_USE_SEMAPHORES @@ -411,30 +414,26 @@ * @defgroup Mutexes Mutexes * @{ * Mutexes and threads synchronization. - * Operation mode

          + *

          Operation mode

          * A mutex is a threads synchronization object, some operations are defined - * on mutexes:
          - *
            - *
          • Lock: The mutex is checked, if the mutex is not owned by some - * other thread then it is locked else the current thread is queued on the - * mutex in a list ordered by priority. - *
          • - *
          • Unlock: The mutex is released by the owner and the highest - * priority thread waiting in the queue, if any, is resumed and made owner - * of the mutex. - *
          • - *
          + * on mutexes: + * - Lock: The mutex is checked, if the mutex is not owned by some + * other thread then it is locked else the current thread is queued on the + * mutex in a list ordered by priority. + * - Unlock: The mutex is released by the owner and the highest + * priority thread waiting in the queue, if any, is resumed and made owner + * of the mutex. * In order to use the Event APIs the @p CH_USE_MUTEXES option must be * specified in @p chconf.h.
          * - * Constraints

          + *

          Constraints

          * In ChibiOS/RT the Unlock operations are always performed in Lock-reverse * order. The Unlock API does not even have a parameter, the mutex to unlock * is taken from an internal stack of owned mutexes. * This both improves the performance and is required by the priority * inheritance mechanism. * - * The priority inversion problem

          + *

          The priority inversion problem

          * The mutexes in ChibiOS/RT implements the full priority * inheritance mechanism in order handle the priority inversion problem.
          * When a thread is queued on a mutex, any thread, directly or indirectly, @@ -451,7 +450,7 @@ * @defgroup CondVars Conditional Variables * @{ * Conditional Variables and threads synchronization. - * Operation mode

          + *

          Operation mode

          * The condition variable is a synchronization object meant to be used inside * a zone protected by a @p Mutex. Mutexes and CondVars together can implement * a Monitor construct.
          @@ -465,8 +464,8 @@ /** * @defgroup Events Events * @{ - * Event Sources and Event Listeners.
          - * Operation mode

          + * Event Sources and Event Listeners. + *

          Operation mode

          * An Event Source is a special object that can be signaled by a thread or * an interrupt service routine. Signaling an Event Source has the effect * that all the threads registered on the Event Source will receive @@ -488,8 +487,8 @@ /** * @defgroup Messages Messages * @{ - * Synchronous Messages.
          - * Operation Mode

          + * Synchronous inter-thread Messages. + *

          Operation Mode

          * Messages are an easy to use and fast IPC mechanism, threads can both serve * messages and send messages to other threads, the mechanism allows data to * be carryed in both directions. Data is not copyed between the client and @@ -517,19 +516,17 @@ * routine) and an upper side (upper driver, accessed by the application * threads).
          * There are several kind of queues:
          - *
            - *
          • Input queue, unidirectional queue where the writer is the - * lower side and the reader is the upper side.
          • - *
          • Output queue, unidirectional queue where the writer is the - * upper side and the reader is the lower side.
          • - *
          • Half duplex queue, bidirectional queue where the buffer is shared - * between a receive and a transmit queues. This means that concurrent - * buffered input and output operations are not possible, this is perfectly - * acceptable for a lot of applications however, as example an RS485 driver. - *
          • Full duplex queue, bidirectional queue where read and write - * operations can happen at the same time. Full duplex queues - * are implemented by pairing an input queue and an output queue together. - *
          + * - Input queue, unidirectional queue where the writer is the + * lower side and the reader is the upper side. + * - Output queue, unidirectional queue where the writer is the + * upper side and the reader is the lower side. + * - Half duplex queue, bidirectional queue where the buffer is shared + * between a receive and a transmit queues. This means that concurrent + * buffered input and output operations are not possible, this is perfectly + * acceptable for a lot of applications however, as example an RS485 driver. + * - Full duplex queue, bidirectional queue where read and write + * operations can happen at the same time. Full duplex queues + * are implemented by pairing an input queue and an output queue together. * In order to use the I/O queues the @p CH_USE_QUEUES option must * be specified in @p chconf.h.
          * In order to use the half duplex queues the @p CH_USE_QUEUES_HALFDUPLEX diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox new file mode 100644 index 000000000..0f678448b --- /dev/null +++ b/docs/src/atomic.dox @@ -0,0 +1,50 @@ +/** + * @page article_atomic Invoking multiple primitives as a single atomic operation + * @{ + * It is often necessary to invoke multiple operations involving a + * reschedulation as a single atomic operation.
          + * ChibiOS/RT already implements APIs that perform complex operations, as + * example the API @p chSemSignalWait() performs two operations atomically.
          + * If more complex operations are required in your application then it is + * possible to build macro-operations, see the following example: + * @code + chSysLock(); + + chSemSignalI(&sem1); + chSemSignalI(&sem2); + if (tp != NULL) { + chThdResumeI(tp); + tp = NULL; + } + chSchRescheduleS(); + + chSysUnlock(); + * @endcode + * The above example performs a signal operation on two semaphores, optionally + * resumes a thread, and performs a final reschedulation. The three operations + * are performed atomically.
          + * An hypotetical @p chSemSignalSignalWait() operation could be implemented as + * follow: + * @code + chSysLock(); + + chSemSignalI(&sem1); + chSemSignalI(&sem2); + /* + * The "if" is required because the chSemWaitS() does not always internally + * reschedule. + */ + if (chSemGetCounter(&sem3) <= 0) + chSemWaitS(&Sem3); + else { + chSemFastWaitS(&sem3); + chSchRescheduleS(); + } + + chSysUnlock(); + * @endcode + * In general multiple I-Class APIs can be included and the block is terminated + * by an S-Class API that performs a reschedulation. Optionally a + * @p chSchRescheduleS() is present at the very end of the block. + */ +/** @} */ diff --git a/docs/src/saveram.dox b/docs/src/saveram.dox new file mode 100644 index 000000000..fec810c81 --- /dev/null +++ b/docs/src/saveram.dox @@ -0,0 +1,66 @@ +/** + * @page article_saveram Saving RAM by declaring thread functions "noreturn" + * @{ + * One of the problems, when writing embedded multi-threaded applications, + * is that the thread functions do save the registers in the function + * entry code even if the system does not require it, exiting such + * a function would terminate the thread so there is no need to preserve + * the register values. This can waste tens of bytes for each thread.
          + * Consider the following code: + * @code +#include + +static WORKING_AREA(waMyThread, 64); + +static t_msg MyThread(void *arg) { + + while (!chThdShoudTerminate()) { + /* Do thread inner work */ + } + return 1; +} + +main() { + chSysInit(); + ... + chThdCreate(NORMALPRIO, 0, waMyThread, sizeof(waMyThread), MyThread, NULL); + ... + chSysPause(); +} + * @endcode + * The resulting ASM code for the thread function would be something like this: + * @code +MyThread: + stmfd sp!, {r4, r5, r6, lr} + ... + ldmfd sp!, {r4, r5, r6, pc} + * @endcode + * Being that function a thread there is no need to save those registers, in + * embedded applications often the RAM is a scarce resource. That space can be + * saved by modifying the code as follow, using some advanced GCC extensions: + * @code +#include + +static BYTE8 waMyThread[UserStackSize(64)]; + +__attribute__((noreturn)) void MyThread(void *arg) { + + while (!chThdShoudTerminate()) { + /* Do thread inner work */ + } + chThdExit(1); +} + +main() { + chSysInit(); + ... + chThdCreate(NORMALPRIO, 0, waMyThread, sizeof(waMyThread), (t_tfunc)MyThread, NULL); + ... + chSysPause(); +} + * @endcode + * This will make GCC believe that the function cannot return and there is no + * need to save registers. The code will be a bit less readable and less + * portable on other compilers however. + */ +/** @} */ -- cgit v1.2.3 From 79089d6352e01e1e7c6c3f0a88266abbc9af6abb Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 19 Jan 2009 15:10:41 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@644 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 15 +++++++++------ docs/src/atomic.dox | 12 ++---------- docs/src/interrupts.dox | 34 ++++++++++++++++++++++++++++++++++ docs/src/saveram.dox | 25 +++++++++++-------------- 4 files changed, 56 insertions(+), 30 deletions(-) create mode 100644 docs/src/interrupts.dox (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 5048cf5f6..70aeda6a4 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -1,12 +1,14 @@ /** * @mainpage ChibiOS/RT * @author Giovanni Di Sirio (gdisirio@users.sourceforge.net). - * @section Chibi Chibi ? - * It is the Japanese word for small as in small child. So ChibiOS/RT - * @htmlonly (ちびOS/RT) \endhtmlonly + * + *

          Chibi ?

          + * I didn't want a serious name for this project. It is the Japanese word for + * small as in small child. So ChibiOS/RT + * @htmlonly (ちびOS/RT) @endhtmlonly * means small Real Time Operating System. * Source Wikipedia. - * @section ch_features Features + *

          Features

          * - Free software, GPL3 licensed. * - Designed for realtime applications. * - Easily portable. @@ -49,7 +51,7 @@ * memory image. * - Almost totally written in C with little ASM code required for ports. * - * Related pages: + *

          Related pages

          * - @subpage Concepts * - @subpage Articles */ @@ -241,6 +243,7 @@ * * - @subpage article_atomic * - @subpage article_saveram + * - @subpage article_interrupts */ /** @} */ @@ -491,7 +494,7 @@ *

          Operation Mode

          * Messages are an easy to use and fast IPC mechanism, threads can both serve * messages and send messages to other threads, the mechanism allows data to - * be carryed in both directions. Data is not copyed between the client and + * be carried in both directions. Data is not copied between the client and * server threads but just a pointer passed so the exchange is very time * efficient.
          * Messages are usually processed in FIFO order but it is possible to process diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox index 0f678448b..22601d8d9 100644 --- a/docs/src/atomic.dox +++ b/docs/src/atomic.dox @@ -30,16 +30,8 @@ chSemSignalI(&sem1); chSemSignalI(&sem2); - /* - * The "if" is required because the chSemWaitS() does not always internally - * reschedule. - */ - if (chSemGetCounter(&sem3) <= 0) - chSemWaitS(&Sem3); - else { - chSemFastWaitS(&sem3); - chSchRescheduleS(); - } + chSemWaitS(&Sem3); + chSchRescheduleS(); /* Because chSemWaitS() might not reschedule internally.*/ chSysUnlock(); * @endcode diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox new file mode 100644 index 000000000..8c61eaa6e --- /dev/null +++ b/docs/src/interrupts.dox @@ -0,0 +1,34 @@ +/** + * @page article_interrupts Writing interrupt handlers under ChibiOS/RT + * @{ + * Since version 1.1.0 ChbiOS/RT offers a cross-platform system for writing + * interrupt handlers. Port-related and compiler-related details are + * encapsulated within standard system macros.
          + * An interrupt handler assumes the following general form: + * @code +CH_IRQ_HANDLER(myIRQ) { + CH_IRQ_PROLOGUE(); + + // IRQ handling code, preemptable if the architecture supports it. + + chSysLockI(); + // Invocation of some I-Class system API, never preemptable. + chSysUnlockI(). + + // More IRQ handling code, again preemptable. + + CH_IRQ_EPILOGUE(); +} + * @endcode + * Note that only interrupt handlers that have to invoke system I-Class APIs + * must be written in this form, handlers unrelated to the OS activity can + * omit the macros. + * Another note about the handler name "myIRQ", in some ports it must be a + * vector number rather than a function name, it could also be a name from + * within a predefined set, see the notes about the various ports. + *

          Important Notes

          + * - There is an important application note about ARM7 interrupt handlers, + * please read about it in the ARM7 port section: @ref ARM7_IH + */ +/** @} */ + \ No newline at end of file diff --git a/docs/src/saveram.dox b/docs/src/saveram.dox index fec810c81..324bdb9a3 100644 --- a/docs/src/saveram.dox +++ b/docs/src/saveram.dox @@ -9,23 +9,21 @@ * Consider the following code: * @code #include - + static WORKING_AREA(waMyThread, 64); - + static t_msg MyThread(void *arg) { - while (!chThdShoudTerminate()) { /* Do thread inner work */ } return 1; } - + main() { chSysInit(); ... - chThdCreate(NORMALPRIO, 0, waMyThread, sizeof(waMyThread), MyThread, NULL); + chThdCreateStatic(waMyThread, sizeof(waMyThread), NORMALPRIO, MyThread, NULL); ... - chSysPause(); } * @endcode * The resulting ASM code for the thread function would be something like this: @@ -40,23 +38,22 @@ MyThread: * saved by modifying the code as follow, using some advanced GCC extensions: * @code #include - -static BYTE8 waMyThread[UserStackSize(64)]; - -__attribute__((noreturn)) void MyThread(void *arg) { - + +static WORKING_AREA(waMyThread, 64); + +__attribute__((noreturn)) +static void MyThread(void *arg) { while (!chThdShoudTerminate()) { /* Do thread inner work */ } chThdExit(1); } - + main() { chSysInit(); ... - chThdCreate(NORMALPRIO, 0, waMyThread, sizeof(waMyThread), (t_tfunc)MyThread, NULL); + chThdCreateStatic(waMyThread, sizeof(waMyThread), NORMALPRIO, MyThread, NULL); ... - chSysPause(); } * @endcode * This will make GCC believe that the function cannot return and there is no -- cgit v1.2.3 From 3f200660f67fa674ef388ed3b507e29f71a2c462 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 19 Jan 2009 15:28:34 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@645 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/interrupts.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index 8c61eaa6e..2a14bd6aa 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -12,7 +12,7 @@ CH_IRQ_HANDLER(myIRQ) { // IRQ handling code, preemptable if the architecture supports it. chSysLockI(); - // Invocation of some I-Class system API, never preemptable. + // Invocation of some I-Class system APIs, never preemptable. chSysUnlockI(). // More IRQ handling code, again preemptable. -- cgit v1.2.3 From 22e22db0161126d1c58a07e2323662efc18d6c86 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 20 Jan 2009 16:26:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@649 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 45 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 70aeda6a4..0ae4eb61b 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -66,15 +66,17 @@ * The possible groups are: @a Sys, @a Sch, @a VT, @a Thd, @a Sem, @a Mtx, * @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a HQ, @a FDD, @a HDD, @a Dbg, * @a Heap, @a Pool. + * + * @section api_suffixes API Names Suffixes * The suffix is not present for normal APIs but can be one of * the following: - * - "I", I-Class APIs are invokable only from the I-Locked or S-Locked - * states. See @ref system_states. - * - "S", S-Class APIs are invokable only from the S-Locked state. See + * - None, APIs without any suffix can be invoked only from the user + * code in the Normal state unless differently specified. See * @ref system_states. - * - * The APIs without suffix can be invoked only from the user code in the Normal - * state unless differently specified.
          + * - "I", I-Class APIs are invokable only from the I-Locked or + * S-Locked states. See @ref system_states. + * - "S", S-Class APIs are invokable only from the S-Locked + * state. See @ref system_states. * Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout(). * * @section interrupt_classes Interrupt Classes @@ -557,12 +559,43 @@ */ /** @} */ +/** + * @defgroup utilities_library Utilities Library + * @{ + * @brief Utilities Library. + * @details This is a collection of useful library code that is not part of + * the base kernel services. + *

          Notes

          + * The library code does not follow the same naming convention of the + * system APIs in order to make very clear that it is not "core" code.
          + * The main difference is that library code is not formally tested in the + * test suite but through usage in the various demo application. + */ +/** @} */ + /** * @defgroup CPlusPlusLibrary C++ Wrapper * @{ * C++ wrapper module. This module allows to use the ChibiOS/RT functionalities * from C++ as classes and objects rather the traditional "C" APIs. + * + * @ingroup utilities_library * @file ch.hpp C++ wrapper classes and definitions. * @file ch.cpp C++ wrapper code. */ /** @} */ + +/** + * @defgroup event_timer Events Generator Timer + * @{ + * @brief Event Generator Timer. + * @details This timer generates an event at regular intervals. The + * listening threads can use the event to perform time related activities. + * Multiple threads can listen to the same timer. + * + * @ingroup utilities_library + * @file evtimer.c Events Generator Timer code. + * @file evtimer.h Events Generator Timer structures and macros. + */ +/** @} */ + -- cgit v1.2.3 From 22fe505a817d26c5b88dae4f602b658498a8a18e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 21 Jan 2009 11:32:31 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@655 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 24 +++++++++++++++++++++++- docs/src/atomic.dox | 10 +++------- docs/src/timing.dox | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 8 deletions(-) create mode 100644 docs/src/timing.dox (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 0ae4eb61b..74436d6b5 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -192,7 +192,28 @@ * * @section thread_states Threads States * The image shows how threads can change their state in ChibiOS/RT.
          - * @image html states.png + * @dot + digraph example { + /*rankdir="LR";*/ + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + start [label="Start", style="bold"]; + run [label="Running"]; + ready [label="Ready"]; + suspend [label="Suspended"]; + sleep [label="Sleeping"]; + stop [label="Stop", style="bold"]; + start -> suspend [label="chThdInit()", fontname=Helvetica, fontsize=8, constraint=false]; + start -> run [label="chThdCreate()", fontname=Helvetica, fontsize=8]; + start -> ready [label="chThdCreate()", fontname=Helvetica, fontsize=8]; + run -> ready [dir="both", label="Reschedulation", fontname=Helvetica, fontsize=8]; + suspend -> run [label="chThdResume()", fontname=Helvetica, fontsize=8]; + suspend -> ready [label="chThdResume()", fontname=Helvetica, fontsize=8]; + run -> sleep [label="chSchGoSleepS()", fontname=Helvetica, fontsize=8]; + sleep -> run [label="chSchWakepS()", fontname=Helvetica, fontsize=8]; + sleep -> ready [label="chSchWakepS()", fontname=Helvetica, fontsize=8]; + run -> stop [label="chThdExit()", fontname=Helvetica, fontsize=8]; + } + * @enddot * * @section priority Priority Levels * Priorities in ChibiOS/RT are a contiguous numerical range but the initial @@ -246,6 +267,7 @@ * - @subpage article_atomic * - @subpage article_saveram * - @subpage article_interrupts + * - @subpage article_timing */ /** @} */ diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox index 22601d8d9..144d6bca0 100644 --- a/docs/src/atomic.dox +++ b/docs/src/atomic.dox @@ -12,17 +12,13 @@ chSemSignalI(&sem1); chSemSignalI(&sem2); - if (tp != NULL) { - chThdResumeI(tp); - tp = NULL; - } chSchRescheduleS(); chSysUnlock(); * @endcode - * The above example performs a signal operation on two semaphores, optionally - * resumes a thread, and performs a final reschedulation. The three operations - * are performed atomically.
          + * The above example performs a signal operation on two semaphores and + * performs a final reschedulation. The two operations are performed + * atomically.
          * An hypotetical @p chSemSignalSignalWait() operation could be implemented as * follow: * @code diff --git a/docs/src/timing.dox b/docs/src/timing.dox new file mode 100644 index 000000000..e38fcb74c --- /dev/null +++ b/docs/src/timing.dox @@ -0,0 +1,42 @@ +/** + * @page article_timing Reliable timings using Threads + * @{ + * One common task is to have threads do something at regular, scheduled, + * intervals. + * An obvious solution is to write something like this: + * @code +msg_t my_thread(void *param) { + + while (TRUE) { + do_something(); + chThdSleepMilliseconds(1000); /* Fixed interval */ + } +} + * @endcode + * This example works well assuming that @p do_something() execution time is + * well below the system tick period and that @p my_thread() is not preempted + * by other threads inserting long intervals.
          + * If the above conditions are not satisfied you may have @p do_something() + * executed at irregular intevals, as example:

          + * T0...T0+1000...T0+2002...T0+3002...T0+4005...etc.

          + * Also note that the error increases over time and this kind of behavior can + * lead anomalies really hard to debug. + *

          A better solution

          + * It is possible to rewrite the above code using absolute deadlines rather + * than fixed intervals: + * @code +msg_t my_thread(void *param) { + + systick_t time = chSysGetTime(); /* T0 */ + while (TRUE) { + time += MS2ST(1000); /* Next deadline */ + do_something(); + chThdSleepUntil(time); + } +} + * @endcode + * Using this code @p do_something() will always be executed at an absolute + * deadline time and the error will not accumulate over time regardless of + * the execution time and delays inserted by other threads. + */ +/** @} */ -- cgit v1.2.3 From 34d36884a75954eaae35604ce1a20e115d17d42c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 21 Jan 2009 14:39:47 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@656 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 1 + docs/src/atomic.dox | 18 +++++++------ docs/src/jitter.dox | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 docs/src/jitter.dox (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 74436d6b5..86c1dba74 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -267,6 +267,7 @@ * - @subpage article_atomic * - @subpage article_saveram * - @subpage article_interrupts + * - @subpage article_jitter * - @subpage article_timing */ /** @} */ diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox index 144d6bca0..7eeaa27f3 100644 --- a/docs/src/atomic.dox +++ b/docs/src/atomic.dox @@ -12,13 +12,14 @@ chSemSignalI(&sem1); chSemSignalI(&sem2); + chMtxUnlock(); chSchRescheduleS(); chSysUnlock(); * @endcode - * The above example performs a signal operation on two semaphores and - * performs a final reschedulation. The two operations are performed - * atomically.
          + * The above example performs a signal operation on two semaphores, unlocks the + * last aquired mutex and finally performs a reschedulation. All the operations + * are performed atomically.
          * An hypotetical @p chSemSignalSignalWait() operation could be implemented as * follow: * @code @@ -26,13 +27,14 @@ chSemSignalI(&sem1); chSemSignalI(&sem2); - chSemWaitS(&Sem3); - chSchRescheduleS(); /* Because chSemWaitS() might not reschedule internally.*/ + chSemWaitS(&Sem3); /* May reschedule or not. */ + chSchRescheduleS(); /* This one reschedules if necessary. */ chSysUnlock(); * @endcode - * In general multiple I-Class APIs can be included and the block is terminated - * by an S-Class API that performs a reschedulation. Optionally a - * @p chSchRescheduleS() is present at the very end of the block. + * In general multiple I-Class and (non rescheduling) S-Class APIs can be + * included and the block is terminated by a rescheduling S-Class API. + * An extra @p chSchRescheduleS() can be present at the very end of the block, + * it only reschedules if a reschedulation is still required. */ /** @} */ diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox new file mode 100644 index 000000000..64351c5d3 --- /dev/null +++ b/docs/src/jitter.dox @@ -0,0 +1,77 @@ +/** + * @page article_jitter Minimizing Jitter + * @{ + * Response time jitter is one of the more sneaky source of problems when + * designing a real time system. When using a RTOS like ChibiOS/RT one must + * be aware of what Jitter is and how it can affect the performance of the + * system.
          + * A good place to start is this + * Wikipedia article. + *

          Jitter sources under ChibiOS/RT

          + * Under ChibiOS/RT (or any other similar RTOS) there are several jitter + * possible sources: + * -# Hardware interrupt latency. + * -# Interrupt service time. + * -# Kernel lock zones. + * -# Higher priority threads activity. + * + *

          Jitter mitigation countermeasures

          + * For each of the previously described jitter source there are possible + * mitigation actions. + * + *

          Hardware interrupt latency

          + * This parameter is pretty much fixed and a characteristic of the system. + * Possible actions include higher clock speeds or switch to an hardware + * architecture more efficient at interrupt handling, as example, the + * ARM Cortex-M3 core present in the STM32 family is very efficient at + * interrupt handling. + * + *

          Interrupt service time

          + * This is the execution time of interrupt handlers, this time includes: + * - Fixed handler overhead, as example registers stacking/unstacking. + * - Interrupt specific service time, as example, in a serial driver, this is + * the time used by the handler to transfer data from/to the UART. + * - OS overhead. Any operating system requires to run some extra code + * in interrupt handlers in order to handle correct preemption and Context + * Switching. + * + * An obvious mitigation action is to optimize the interrupt handler code as + * much as possible for speed.
          + * Complex actions should never be performed in interrupt handlers. + * An handler should serve the interrupt and wakeup a dedicated thread in order + * to handle the bulk of the work.
          + * Another possible mitigation action is to evaluate if a specific interrupt + * handler really need to "speak" with the OS, if the handler uses full + * stand-alone code then it is possible to remove the OS related overhead.
          + * On some architecture it is also possible to give to interrupt sources a + * greater hardware priority than the kernel and not be affected by the + * jitter introduced by OS itself (see next subsection).
          + * As example, in the ARM port, FIQ sources are not affected by the + * kernel-generated jitter. The Cortex-M3 port is even better thanks to its + * hardware-assisted interrupt architecture allowing handlers preemption, + * late switch, tail chaining etc. See the notes about the various @ref Ports. + * + *

          Kernel lock zones

          + * The OS kernel protects some critical internal data structure by disabling + * (fully in simple architecture, to some extent in more advanced + * microcontrollers) the interrupt sources. Because of this the kernel itself + * is a jitter source, a good OS design minimizes the jitter generated by the + * kernel by both using adequate data structure, algorithms and good coding + * practices.
          + * A good OS design is not the whole story, some OS primitives may generate + * more or less jitter depending on the system state, as example the maximum + * number of threads on a certain queue, the maximum number of nested mutexes + * and so on. Some algorithms employed internally can have constant execution + * time but others may have linear execution time or be even more complex. + * + *

          Higher priority threads activity

          + * At thread level the response time is affected by the interrupt-related + * jitter as seen in the previous subsections but also by the activity of the + * higher priority threads and contention on protected resources.
          + * It is possible to improve the system overall response time and reduce jitter + * by carefully assigning priorities to the various threads and carefully + * designing mutual exclusion zones.
          + * The use of the proper synchronization mechanism (semaphores, mutexes, events, + * messages and so on) also helps to improve the system performance. + */ +/** @} */ -- cgit v1.2.3 From 03bba9ac46dc3a710efcb761a1d6e6ac34f81f86 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 21 Jan 2009 17:19:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@657 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/jitter.dox | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'docs') diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index 64351c5d3..733e30ef6 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -1,17 +1,18 @@ /** - * @page article_jitter Minimizing Jitter + * @page article_jitter Response Time and Jitter * @{ - * Response time jitter is one of the more sneaky source of problems when + * Response time jitter is one of the most sneaky source of problems when * designing a real time system. When using a RTOS like ChibiOS/RT one must * be aware of what Jitter is and how it can affect the performance of the * system.
          * A good place to start is this * Wikipedia article. - *

          Jitter sources under ChibiOS/RT

          + * + *

          Jitter Sources

          * Under ChibiOS/RT (or any other similar RTOS) there are several jitter * possible sources: - * -# Hardware interrupt latency. - * -# Interrupt service time. + * -# Hardware interrupts latency. + * -# Interrupts service time and priority. * -# Kernel lock zones. * -# Higher priority threads activity. * @@ -19,14 +20,13 @@ * For each of the previously described jitter source there are possible * mitigation actions. * - *

          Hardware interrupt latency

          + *

          Hardware interrupts latency

          * This parameter is pretty much fixed and a characteristic of the system. * Possible actions include higher clock speeds or switch to an hardware * architecture more efficient at interrupt handling, as example, the - * ARM Cortex-M3 core present in the STM32 family is very efficient at - * interrupt handling. + * ARM Cortex-M3 core present in the STM32 family is very efficient at that. * - *

          Interrupt service time

          + *

          Interrupts service time and priority

          * This is the execution time of interrupt handlers, this time includes: * - Fixed handler overhead, as example registers stacking/unstacking. * - Interrupt specific service time, as example, in a serial driver, this is -- cgit v1.2.3 From 239c51248d26bfc901a3a5ef1d185166fd2c9899 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 21 Jan 2009 18:14:07 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@664 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index d7ad024d9..fbe5a3d5d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
          Current -Version 1.0.0rc2
          +Version 1.1.0unstable
          -
          Project on SourceForge
          Documentation
          @@ -154,7 +154,7 @@ ChibiOS/RT was created using:
          • 7-Zip, http://7-zip.org
          • GCC and GNU binutils,  http://gcc.gnu.org
          • -
          • Doxigen, http://www.doxygen.org
          • +
          • Doxygen, http://www.doxygen.org
          • Inkscape, http://www.inkscape.org
          • MinGW, http://mingw.org
          • NVU, http://www.nvu.com
          • -- cgit v1.2.3 From b094fe9dc11e9aa1f017cb65766a16ecd42432d2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 21 Jan 2009 21:44:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@665 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 86c1dba74..416811dc8 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -68,8 +68,7 @@ * @a Heap, @a Pool. * * @section api_suffixes API Names Suffixes - * The suffix is not present for normal APIs but can be one of - * the following: + * The suffix can be one of the following: * - None, APIs without any suffix can be invoked only from the user * code in the Normal state unless differently specified. See * @ref system_states. @@ -84,10 +83,12 @@ * - Regular Interrupts. Maskable interrupt sources that cannot * preempt the kernel code and are thus able to invoke operating system APIs * from within their handlers. The interrupt handlers belonging to this class - * must be written following some rules. See the @ref System APIs group. + * must be written following some rules. See the @ref System APIs group and + * @ref article_interrupts. * - Fast Interrupts. Maskable interrupt sources with the ability - * to preempt the kernel code and thus have a lower latency. Such sources are - * not supported on all the architectures.
            + * to preempt the kernel code and thus have a lower latency and are less + * subject to jitter, see @ref article_jitter. Such sources are not + * supported on all the architectures.
            * Fast interrupts are not allowed to invoke any operating system API from * within their handlers. Fast interrupt sources may however pend a lower * priority regular interrupt where access to the operating system is @@ -239,9 +240,9 @@ * * @section warea Thread Working Area * Each thread has its own stack, a Thread structure and some preemption - * areas. All the structures are allocated into a "Thread working area", - * a thread private heap, usually allocated in an array declared in your - * code. Threads do not use any memory outside the allocated working area + * areas. All the structures are allocated into a "Thread Working Area", + * a thread private heap, usually statically declared in your code. + * Threads do not use any memory outside the allocated working area * except when accessing static shared data.

            * @image html workspace.png *
            @@ -250,9 +251,9 @@ * registers on the stack of the switched-out thread and popping the registers * of the switched-in thread from its stack. * The preemption area can be divided in up to three structures: - * - External context. - * - Interrupt stack. - * - Internal context. + * - External Context. + * - Interrupt Stack. + * - Internal Context. * * See the @ref Core documentation for details, the area may change on * the various ports and some structures may not be present (or be zero-sized). @@ -262,8 +263,7 @@ /** * @page Articles Articles * @{ - * @brief ChibiOS/RT Articles and Code Examples - * + * ChibiOS/RT Articles and Code Examples: * - @subpage article_atomic * - @subpage article_saveram * - @subpage article_interrupts -- cgit v1.2.3 From bae98eb8d8e752aa084a2438aa99d5f72e3f1247 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 22 Jan 2009 15:37:29 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@666 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/jitter.dox | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index 733e30ef6..4bbedd7b7 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -3,21 +3,21 @@ * @{ * Response time jitter is one of the most sneaky source of problems when * designing a real time system. When using a RTOS like ChibiOS/RT one must - * be aware of what Jitter is and how it can affect the performance of the + * be aware of what the jitter is and how it can affect the performance of the * system.
            * A good place to start is this * Wikipedia article. * *

            Jitter Sources

            - * Under ChibiOS/RT (or any other similar RTOS) there are several jitter - * possible sources: + * Under ChibiOS/RT (or any other similar RTOS) there are several possible + * jitter sources: * -# Hardware interrupts latency. * -# Interrupts service time and priority. * -# Kernel lock zones. * -# Higher priority threads activity. * *

            Jitter mitigation countermeasures

            - * For each of the previously described jitter source there are possible + * For each of the previously described jitter sources there are possible * mitigation actions. * *

            Hardware interrupts latency

            @@ -49,13 +49,14 @@ * As example, in the ARM port, FIQ sources are not affected by the * kernel-generated jitter. The Cortex-M3 port is even better thanks to its * hardware-assisted interrupt architecture allowing handlers preemption, - * late switch, tail chaining etc. See the notes about the various @ref Ports. + * late arriving, tail chaining etc. See the notes about the various + * @ref Ports. * *

            Kernel lock zones

            * The OS kernel protects some critical internal data structure by disabling * (fully in simple architecture, to some extent in more advanced * microcontrollers) the interrupt sources. Because of this the kernel itself - * is a jitter source, a good OS design minimizes the jitter generated by the + * is a jitter cause, a good OS design minimizes the jitter generated by the * kernel by both using adequate data structure, algorithms and good coding * practices.
            * A good OS design is not the whole story, some OS primitives may generate @@ -72,6 +73,6 @@ * by carefully assigning priorities to the various threads and carefully * designing mutual exclusion zones.
            * The use of the proper synchronization mechanism (semaphores, mutexes, events, - * messages and so on) also helps to improve the system performance. + * messages and so on) also helps to improve the overall system performance. */ /** @} */ -- cgit v1.2.3 From 819c02b8391e3cadcbe814c84c5c5f366ae41e03 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 23 Jan 2009 16:18:13 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@669 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 85 ++++++++++++++++++++++++++++++++--------------------- docs/src/jitter.dox | 81 +++++++++++++++++++++++++++++++++++++------------- 2 files changed, 112 insertions(+), 54 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 416811dc8..aff84eff1 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -104,7 +104,7 @@ * @section system_states System States * When using ChibiOS/RT the system can be in one of the following logical * operating states: - * - Initialization. When the system is in this state all the maskable + * - Init. When the system is in this state all the maskable * interrupt sources are disabled. In this state it is not possible to use * any system API except @p chSysInit(). This state is entered after a * physical reset. @@ -146,7 +146,8 @@ digraph example { rankdir="LR"; node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - init [label="Initialization", style="bold"]; + edge [fontname=Helvetica, fontsize=8]; + init [label="Init", style="bold"]; norm [label="Normal", shape=doublecircle]; susp [label="Suspended"]; disab [label="Disabled"]; @@ -155,31 +156,46 @@ slock [label="S-Locked"]; sleep [label="Sleep"]; sri [label="SRI"]; - sfi [label="SFI"]; - init -> norm [label="chSysInit()", fontname=Helvetica, fontsize=8]; - norm -> slock [label="chSysLock()", fontname=Helvetica, fontsize=8, constraint=false]; - slock -> norm [label="chSysUnlock()", fontname=Helvetica, fontsize=8]; - norm -> susp [label="chSysSuspend()", fontname=Helvetica, fontsize=8]; - susp -> disab [label="chSysDisable()", fontname=Helvetica, fontsize=8]; - norm -> disab [label="chSysDisable()", fontname=Helvetica, fontsize=8]; - susp -> norm [label="chSysEnable()", fontname=Helvetica, fontsize=8]; - disab -> norm [label="chSysEnable()", fontname=Helvetica, fontsize=8]; - slock -> ilock [dir="both", label="Context Switch", fontname=Helvetica, fontsize=8]; - norm -> sri [style="dotted", label="Regular IRQ", fontname=Helvetica, fontsize=8]; - norm -> sfi [style="dotted", label="Fast IRQ", fontname=Helvetica, fontsize=8]; - susp -> sfi [style="dotted", label="Fast IRQ", fontname=Helvetica, fontsize=8]; + init -> norm [label="chSysInit()"]; + norm -> slock [label="chSysLock()", constraint=false]; + slock -> norm [label="chSysUnlock()"]; + norm -> susp [label="chSysSuspend()"]; + susp -> disab [label="chSysDisable()"]; + norm -> disab [label="chSysDisable()"]; + susp -> norm [label="chSysEnable()"]; + disab -> norm [label="chSysEnable()"]; + slock -> ilock [label="Context Switch", dir="both"]; + norm -> sri [label="Regular IRQ", style="dotted"]; sri -> norm [label="Regular IRQ return", fontname=Helvetica, fontsize=8]; - sfi -> norm [label="Fast IRQ return", fontname=Helvetica, fontsize=8]; - sfi -> susp [label="Fast IRQ return", fontname=Helvetica, fontsize=8]; - sri -> ilock [label="chSysLockI()", fontname=Helvetica, fontsize=8, constraint=false]; - ilock -> sri [label="chSysUnlockI()", fontname=Helvetica, fontsize=8]; - norm -> sleep [label="Idle Thread", fontname=Helvetica, fontsize=8]; - sleep -> sri [style="dotted", label="Regular IRQ", fontname=Helvetica, fontsize=8]; - sleep -> sfi [style="dotted", label="Fast IRQ", fontname=Helvetica, fontsize=8]; + sri -> ilock [label="chSysLockI()", constraint=false]; + ilock -> sri [label="chSysUnlockI()", fontsize=8]; + norm -> sleep [label="Idle Thread"]; + sleep -> sri [label="Regular IRQ", style="dotted"]; + } + * @enddot + * Note, the SFI, Halted and SNMI states were not shown + * because those are reachable from most states: + * + * @dot + digraph example { + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + any1 [label="Any State\nexcept\nDisabled\nand Init"]; + any2 [label="Any State"]; + sfi [label="SFI"]; + halt [label="Halted"]; + SNMI [label="SNMI"]; + any1 -> sfi [style="dotted", label="Fast IRQ"]; + sfi -> any1 [label="Fast IRQ return"]; + any2 -> halt [label="chSysHalt()"]; + any2 -> SNMI [label="Synchronous NMI"]; + any2 -> SNMI [label="Asynchronous NMI", style="dotted"]; + SNMI -> any2 [label="NMI return"]; + halt -> SNMI [label="Asynchronous NMI", style="dotted"]; + SNMI -> halt [label="NMI return"]; } * @enddot - * Note, the Halted and SNMI states can be reached from any state and are not - * shown for simplicity. * * @section scheduling Scheduling * The strategy is very simple the currently ready thread with the highest @@ -197,22 +213,23 @@ digraph example { /*rankdir="LR";*/ node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; start [label="Start", style="bold"]; run [label="Running"]; ready [label="Ready"]; suspend [label="Suspended"]; sleep [label="Sleeping"]; stop [label="Stop", style="bold"]; - start -> suspend [label="chThdInit()", fontname=Helvetica, fontsize=8, constraint=false]; - start -> run [label="chThdCreate()", fontname=Helvetica, fontsize=8]; - start -> ready [label="chThdCreate()", fontname=Helvetica, fontsize=8]; - run -> ready [dir="both", label="Reschedulation", fontname=Helvetica, fontsize=8]; - suspend -> run [label="chThdResume()", fontname=Helvetica, fontsize=8]; - suspend -> ready [label="chThdResume()", fontname=Helvetica, fontsize=8]; - run -> sleep [label="chSchGoSleepS()", fontname=Helvetica, fontsize=8]; - sleep -> run [label="chSchWakepS()", fontname=Helvetica, fontsize=8]; - sleep -> ready [label="chSchWakepS()", fontname=Helvetica, fontsize=8]; - run -> stop [label="chThdExit()", fontname=Helvetica, fontsize=8]; + start -> suspend [label="chThdInit()", constraint=false]; + start -> run [label="chThdCreate()"]; + start -> ready [label="chThdCreate()"]; + run -> ready [label="Reschedulation", dir="both"]; + suspend -> run [label="chThdResume()"]; + suspend -> ready [label="chThdResume()"]; + run -> sleep [label="chSchGoSleepS()"]; + sleep -> run [label="chSchWakepS()"]; + sleep -> ready [label="chSchWakepS()"]; + run -> stop [label="chThdExit()"]; } * @enddot * diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index 4bbedd7b7..1b4220dd4 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -8,15 +8,61 @@ * A good place to start is this * Wikipedia article. * - *

            Jitter Sources

            - * Under ChibiOS/RT (or any other similar RTOS) there are several possible - * jitter sources: - * -# Hardware interrupts latency. - * -# Interrupts service time and priority. - * -# Kernel lock zones. - * -# Higher priority threads activity. + *

            Interrupt Response Time

            + * This is the time from an interrupt event and the execution of the handler + * code. * - *

            Jitter mitigation countermeasures

            + * @dot + digraph example { + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + int [label="Interrupt"]; + busy [label="Busy"]; + served [label="Interrupt\nServed"]; + int -> served [label="Not Busy"]; + int -> busy [label="Not Ready"]; + busy -> busy [label="Still Busy\n(jitter)"]; + busy -> served [label="Finally Ready"]; + * @enddot + * + *

            Jitter Sources

            + * In this scenario the jitter (busy state) is represented by the sum of: + * - Higher or equal priority interrupt sources execution time combined. + * This time can go from zero to the maximum randomly. This value can be + * guaranteed to be zero only if the interrupt has the highest priority in + * the system. + * - Highest execution time among lower priority sources. This value is zero + * on those architectures (Cortex-M3 as example) where interrupt handlers + * can be preempted by higher priority sources. + * - Longest time in a kernel lock zone that can delay interrupt servicing. + * This value is zero for fast interrupt sources, see @ref system_states. + * + *

            Threads Flyback Time

            + * This is the time from an event, as example an interrupt, and the execution + * of a thread supposed to handle the event. Imagine the following graph as the + * continuation of the previous one. + * + * @dot + digraph example { + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + served [label="Interrupt\nServed"]; + busy [label="Busy"]; + thread [label="Thread\nAwakened"]; + served -> busy [label="Not Highest Priority"]; + busy -> busy [label="Other Threads\n(jitter)"]; + busy -> thread [label="Highest Priority"]; + served -> thread [label="Highest Priority"]; + * @enddot + * + *

            Jitter Sources

            + * In this scenario all the jitter sources previously discussed are also + * present and there is the added jitter caused by the activity of the + * higher priority threads. + * + *

            Jitter Mitigation

            * For each of the previously described jitter sources there are possible * mitigation actions. * @@ -26,7 +72,7 @@ * architecture more efficient at interrupt handling, as example, the * ARM Cortex-M3 core present in the STM32 family is very efficient at that. * - *

            Interrupts service time and priority

            + *

            Interrupts service time

            * This is the execution time of interrupt handlers, this time includes: * - Fixed handler overhead, as example registers stacking/unstacking. * - Interrupt specific service time, as example, in a serial driver, this is @@ -41,16 +87,8 @@ * An handler should serve the interrupt and wakeup a dedicated thread in order * to handle the bulk of the work.
            * Another possible mitigation action is to evaluate if a specific interrupt - * handler really need to "speak" with the OS, if the handler uses full + * handler really needs to "speak" with the OS, if the handler uses full * stand-alone code then it is possible to remove the OS related overhead.
            - * On some architecture it is also possible to give to interrupt sources a - * greater hardware priority than the kernel and not be affected by the - * jitter introduced by OS itself (see next subsection).
            - * As example, in the ARM port, FIQ sources are not affected by the - * kernel-generated jitter. The Cortex-M3 port is even better thanks to its - * hardware-assisted interrupt architecture allowing handlers preemption, - * late arriving, tail chaining etc. See the notes about the various - * @ref Ports. * *

            Kernel lock zones

            * The OS kernel protects some critical internal data structure by disabling @@ -67,12 +105,15 @@ * *

            Higher priority threads activity

            * At thread level the response time is affected by the interrupt-related - * jitter as seen in the previous subsections but also by the activity of the - * higher priority threads and contention on protected resources.
            + * jitter, as seen in the previous subsections, but also by the activity of + * the higher priority threads and contention on protected resources.
            * It is possible to improve the system overall response time and reduce jitter * by carefully assigning priorities to the various threads and carefully * designing mutual exclusion zones.
            * The use of the proper synchronization mechanism (semaphores, mutexes, events, * messages and so on) also helps to improve the overall system performance. + * The use of the Priority Inheritance algorithm implemented in the mutexes + * subsystem can improve the overall response time and reduce jitter but it is + * not a magic wand, a proper system design comes first. */ /** @} */ -- cgit v1.2.3 From 672fb83fa475643b6cbd4f3cdd0b799aa17e8b32 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 23 Jan 2009 19:25:13 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@670 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/jitter.dox | 68 +++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 36 deletions(-) (limited to 'docs') diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index 1b4220dd4..da3251369 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -4,13 +4,25 @@ * Response time jitter is one of the most sneaky source of problems when * designing a real time system. When using a RTOS like ChibiOS/RT one must * be aware of what the jitter is and how it can affect the performance of the - * system.
            - * A good place to start is this + * system. A good place to start is this * Wikipedia article. * + *

            Interrupt handlers execution time

            + * The total execution time of an interrupt handler includes: + * - Hardware interrupts latency, this parameter is pretty much fixed and + * characteristic of the system. + * - Fixed handler overhead, as example registers stacking/unstacking. + * - Interrupt specific handler code execution time, as example, in a serial + * driver, this is the time used by the handler to transfer data from/to + * the UART. + * - OS overhead. Any operating system requires to run some extra code + * in interrupt handlers in order to handle correct preemption and Context + * Switching. + * *

            Interrupt Response Time

            - * This is the time from an interrupt event and the execution of the handler - * code. + * The Interrupt Response Time is the time from an interrupt event and the + * execution of the handler code. Unfortunately this time is not constant + * in most cases, see the following graph: * * @dot digraph example { @@ -20,28 +32,27 @@ int [label="Interrupt"]; busy [label="Busy"]; served [label="Interrupt\nServed"]; - int -> served [label="Not Busy"]; + int -> served [label="Not Busy (minimum latency)"]; int -> busy [label="Not Ready"]; - busy -> busy [label="Still Busy\n(jitter)"]; + busy -> busy [label="Still Busy\n(added latency)"]; busy -> served [label="Finally Ready"]; * @enddot * - *

            Jitter Sources

            * In this scenario the jitter (busy state) is represented by the sum of: - * - Higher or equal priority interrupt sources execution time combined. + * - Higher or equal priority interrupt handlers execution time combined. * This time can go from zero to the maximum randomly. This value can be * guaranteed to be zero only if the interrupt has the highest priority in * the system. - * - Highest execution time among lower priority sources. This value is zero + * - Highest execution time among lower priority handlers. This value is zero * on those architectures (Cortex-M3 as example) where interrupt handlers * can be preempted by higher priority sources. * - Longest time in a kernel lock zone that can delay interrupt servicing. * This value is zero for fast interrupt sources, see @ref system_states. * *

            Threads Flyback Time

            - * This is the time from an event, as example an interrupt, and the execution - * of a thread supposed to handle the event. Imagine the following graph as the - * continuation of the previous one. + * This is the time between an event, as example an interrupt, and the + * execution of the thread that will process it. Imagine the following + * graph as the continuation of the previous one. * * @dot digraph example { @@ -51,13 +62,12 @@ served [label="Interrupt\nServed"]; busy [label="Busy"]; thread [label="Thread\nAwakened"]; - served -> busy [label="Not Highest Priority"]; - busy -> busy [label="Other Threads\n(jitter)"]; + served -> busy [label="Not highest Priority"]; + busy -> busy [label="Higher priority Threads\n(added latency)"]; busy -> thread [label="Highest Priority"]; - served -> thread [label="Highest Priority"]; + served -> thread [label="Highest Priority (minimum latency)"]; * @enddot * - *

            Jitter Sources

            * In this scenario all the jitter sources previously discussed are also * present and there is the added jitter caused by the activity of the * higher priority threads. @@ -66,28 +76,14 @@ * For each of the previously described jitter sources there are possible * mitigation actions. * - *

            Hardware interrupts latency

            - * This parameter is pretty much fixed and a characteristic of the system. - * Possible actions include higher clock speeds or switch to an hardware - * architecture more efficient at interrupt handling, as example, the - * ARM Cortex-M3 core present in the STM32 family is very efficient at that. - * - *

            Interrupts service time

            - * This is the execution time of interrupt handlers, this time includes: - * - Fixed handler overhead, as example registers stacking/unstacking. - * - Interrupt specific service time, as example, in a serial driver, this is - * the time used by the handler to transfer data from/to the UART. - * - OS overhead. Any operating system requires to run some extra code - * in interrupt handlers in order to handle correct preemption and Context - * Switching. - * + *

            Interrupt handlers optimization

            * An obvious mitigation action is to optimize the interrupt handler code as * much as possible for speed.
            * Complex actions should never be performed in interrupt handlers. * An handler should serve the interrupt and wakeup a dedicated thread in order * to handle the bulk of the work.
            * Another possible mitigation action is to evaluate if a specific interrupt - * handler really needs to "speak" with the OS, if the handler uses full + * handler really needs to interact with the OS, if the handler uses full * stand-alone code then it is possible to remove the OS related overhead.
            * *

            Kernel lock zones

            @@ -95,7 +91,7 @@ * (fully in simple architecture, to some extent in more advanced * microcontrollers) the interrupt sources. Because of this the kernel itself * is a jitter cause, a good OS design minimizes the jitter generated by the - * kernel by both using adequate data structure, algorithms and good coding + * kernel by using adequate data structures, algorithms and coding * practices.
            * A good OS design is not the whole story, some OS primitives may generate * more or less jitter depending on the system state, as example the maximum @@ -104,9 +100,9 @@ * time but others may have linear execution time or be even more complex. * *

            Higher priority threads activity

            - * At thread level the response time is affected by the interrupt-related - * jitter, as seen in the previous subsections, but also by the activity of - * the higher priority threads and contention on protected resources.
            + * At thread level, the response time is affected by the interrupt-related + * jitter but mainly by the activity of the higher priority threads and + * contention on protected resources.
            * It is possible to improve the system overall response time and reduce jitter * by carefully assigning priorities to the various threads and carefully * designing mutual exclusion zones.
            -- cgit v1.2.3 From 3df52d3f899e9dbb9f257a148764b4165a19ba10 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 24 Jan 2009 11:06:58 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@672 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/atomic.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox index 7eeaa27f3..31f141ce1 100644 --- a/docs/src/atomic.dox +++ b/docs/src/atomic.dox @@ -12,7 +12,7 @@ chSemSignalI(&sem1); chSemSignalI(&sem2); - chMtxUnlock(); + chMtxUnlockS(); chSchRescheduleS(); chSysUnlock(); -- cgit v1.2.3 From 08d05ef80e766779fc50d9151813d3e1230bd70f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 24 Jan 2009 11:21:02 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@673 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/img/states.png | Bin 29897 -> 0 bytes docs/img/states.svg | 463 ---------------------------------------------------- 2 files changed, 463 deletions(-) delete mode 100644 docs/img/states.png delete mode 100644 docs/img/states.svg (limited to 'docs') diff --git a/docs/img/states.png b/docs/img/states.png deleted file mode 100644 index 05a61fcb4..000000000 Binary files a/docs/img/states.png and /dev/null differ diff --git a/docs/img/states.svg b/docs/img/states.svg deleted file mode 100644 index f2f932293..000000000 --- a/docs/img/states.svg +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - Thread Structure chThdCreate() - - Running - - - Ready - - - SuspendedSus - - - Suspended - - - - - - - - - Sleeping - chSchGoSleepS() - - - chSchWakeupS() - - chSchWakeupS()chSchReadyI() - chSchRescheduleS()chSchDoRescheduleI() - - chSchWakeupS()chSchReadyI() - - chSchGoSleepS() - chSchWakeupS() - - Ready - Exited - - chSchGoSleepS()chThdExit() - - -- cgit v1.2.3 From f29ada23c52c611b840cd7321fe52e1aa18f5ce9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 24 Jan 2009 14:41:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@674 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index aff84eff1..6f99b0f98 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -181,7 +181,7 @@ rankdir="LR"; node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; edge [fontname=Helvetica, fontsize=8]; - any1 [label="Any State\nexcept\nDisabled\nand Init"]; + any1 [label="Any State\nexcept *"]; any2 [label="Any State"]; sfi [label="SFI"]; halt [label="Halted"]; @@ -196,6 +196,7 @@ SNMI -> halt [label="NMI return"]; } * @enddot + * @attention * except: Init, Halt, SNMI, Disabled. * * @section scheduling Scheduling * The strategy is very simple the currently ready thread with the highest -- cgit v1.2.3 From 8fa109243e5d626a941db8e7d6dc30bb64f9bc9f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 24 Jan 2009 17:59:51 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@675 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 8 ++++---- docs/src/interrupts.dox | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 6f99b0f98..d807d23ae 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -127,8 +127,8 @@ * - I-Locked. Kernel locked and regular interrupt sources disabled. * I-Class APIs are invokable from this state. * - Serving Regular Interrupt. No system APIs are accessible but it is - * possible to switch to the I-Locked state using @p chSysLockI() and then - * invoke any I-Class API. Interrupt handlers can be preemptable on some + * possible to switch to the I-Locked state using @p chSysLockFromIsr() and + * then invoke any I-Class API. Interrupt handlers can be preemptable on some * architectures thus is important to switch to I-Locked state before * invoking system APIs. * - Serving Fast Interrupt. System APIs are not accessible. @@ -167,8 +167,8 @@ slock -> ilock [label="Context Switch", dir="both"]; norm -> sri [label="Regular IRQ", style="dotted"]; sri -> norm [label="Regular IRQ return", fontname=Helvetica, fontsize=8]; - sri -> ilock [label="chSysLockI()", constraint=false]; - ilock -> sri [label="chSysUnlockI()", fontsize=8]; + sri -> ilock [label="chSysLockFromIsr()", constraint=false]; + ilock -> sri [label="chSysUnlockFromIsr()", fontsize=8]; norm -> sleep [label="Idle Thread"]; sleep -> sri [label="Regular IRQ", style="dotted"]; } diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index 2a14bd6aa..3ba5d2b9a 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -11,9 +11,9 @@ CH_IRQ_HANDLER(myIRQ) { // IRQ handling code, preemptable if the architecture supports it. - chSysLockI(); + chSysLockFromIsr(); // Invocation of some I-Class system APIs, never preemptable. - chSysUnlockI(). + chSysUnlockFromIsr(). // More IRQ handling code, again preemptable. -- cgit v1.2.3 From 5282822dfe4d55da2f73b79c94a25b0484887167 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 25 Jan 2009 08:33:20 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@678 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 19 +++++++++++++++++++ docs/src/atomic.dox | 19 +++++++++++++++++++ docs/src/interrupts.dox | 19 +++++++++++++++++++ docs/src/jitter.dox | 19 +++++++++++++++++++ docs/src/saveram.dox | 19 +++++++++++++++++++ docs/src/timing.dox | 19 +++++++++++++++++++ 6 files changed, 114 insertions(+) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index d807d23ae..de5010805 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -1,3 +1,22 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + /** * @mainpage ChibiOS/RT * @author Giovanni Di Sirio (gdisirio@users.sourceforge.net). diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox index 31f141ce1..64084ff30 100644 --- a/docs/src/atomic.dox +++ b/docs/src/atomic.dox @@ -1,3 +1,22 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + /** * @page article_atomic Invoking multiple primitives as a single atomic operation * @{ diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index 3ba5d2b9a..fe74d90e9 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -1,3 +1,22 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + /** * @page article_interrupts Writing interrupt handlers under ChibiOS/RT * @{ diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index da3251369..3e2ec1cb4 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -1,3 +1,22 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + /** * @page article_jitter Response Time and Jitter * @{ diff --git a/docs/src/saveram.dox b/docs/src/saveram.dox index 324bdb9a3..e237da909 100644 --- a/docs/src/saveram.dox +++ b/docs/src/saveram.dox @@ -1,3 +1,22 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + /** * @page article_saveram Saving RAM by declaring thread functions "noreturn" * @{ diff --git a/docs/src/timing.dox b/docs/src/timing.dox index e38fcb74c..c1a33ae19 100644 --- a/docs/src/timing.dox +++ b/docs/src/timing.dox @@ -1,3 +1,22 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + /** * @page article_timing Reliable timings using Threads * @{ -- cgit v1.2.3 From 2b2282b6ef88e4f31f140acfbcb7465ad56baf50 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 28 Jan 2009 19:28:38 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@680 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index de5010805..14caad5e4 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -512,17 +512,17 @@ /** @} */ /** - * @defgroup CondVars Conditional Variables + * @defgroup CondVars Condition Variables * @{ - * Conditional Variables and threads synchronization. + * Condition Variables and threads synchronization. *

            Operation mode

            * The condition variable is a synchronization object meant to be used inside * a zone protected by a @p Mutex. Mutexes and CondVars together can implement * a Monitor construct.
            - * In order to use the Conditional Variables APIs the @p CH_USE_CONDVARS + * In order to use the Condition Variables APIs the @p CH_USE_CONDVARS * option must be specified in @p chconf.h.

            - * @file condvars.h Conditional Variables macros and structures. - * @file chcond.c Conditional Variables code. + * @file condvars.h Condition Variables macros and structures. + * @file chcond.c Condition Variables code. */ /** @} */ -- cgit v1.2.3 From c1ef5c1ac7c65f7d9ffbafea09c0516e7ec632f3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 29 Jan 2009 18:43:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@681 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 234 ------------------------------------------------ docs/src/articles.dox | 30 +++++++ docs/src/concepts.dox | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 270 insertions(+), 234 deletions(-) create mode 100644 docs/src/articles.dox create mode 100644 docs/src/concepts.dox (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 14caad5e4..998beb7b6 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -75,240 +75,6 @@ * - @subpage Articles */ -/** - * @page Concepts Concepts - * @{ - * @brief ChibiOS/RT Concepts and Architecture - * @section naming Naming Conventions - * ChibiOS/RT APIs are all named following this convention: - * @a ch\\\(). - * The possible groups are: @a Sys, @a Sch, @a VT, @a Thd, @a Sem, @a Mtx, - * @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a HQ, @a FDD, @a HDD, @a Dbg, - * @a Heap, @a Pool. - * - * @section api_suffixes API Names Suffixes - * The suffix can be one of the following: - * - None, APIs without any suffix can be invoked only from the user - * code in the Normal state unless differently specified. See - * @ref system_states. - * - "I", I-Class APIs are invokable only from the I-Locked or - * S-Locked states. See @ref system_states. - * - "S", S-Class APIs are invokable only from the S-Locked - * state. See @ref system_states. - * Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout(). - * - * @section interrupt_classes Interrupt Classes - * In ChibiOS/RT there are three logical interrupt classes: - * - Regular Interrupts. Maskable interrupt sources that cannot - * preempt the kernel code and are thus able to invoke operating system APIs - * from within their handlers. The interrupt handlers belonging to this class - * must be written following some rules. See the @ref System APIs group and - * @ref article_interrupts. - * - Fast Interrupts. Maskable interrupt sources with the ability - * to preempt the kernel code and thus have a lower latency and are less - * subject to jitter, see @ref article_jitter. Such sources are not - * supported on all the architectures.
            - * Fast interrupts are not allowed to invoke any operating system API from - * within their handlers. Fast interrupt sources may however pend a lower - * priority regular interrupt where access to the operating system is - * possible. - * - Non Maskable Interrupts. Non maskable interrupt sources are - * totally out of the operating system control and have the lowest latency. - * Such sources are not supported on all the architectures. - * - * The mapping of the above logical classes into physical interrupts priorities - * is, of course, port dependent. See the documentation of the various ports - * for details. - * - * @section system_states System States - * When using ChibiOS/RT the system can be in one of the following logical - * operating states: - * - Init. When the system is in this state all the maskable - * interrupt sources are disabled. In this state it is not possible to use - * any system API except @p chSysInit(). This state is entered after a - * physical reset. - * - Normal. All the interrupt sources are enabled and the system APIs - * are accessible, threads are running. - * - Suspended. In this state the fast interrupt sources are enabled but - * the regular interrupt sources are not. In this state it is not possible - * to use any system API except @p chSysDisable() or @p chSysEnable() in - * order to change state. - * - Disabled. When the system is in this state both the maskable - * regular and fast interrupt sources are disabled. In this state it is not - * possible to use any system API except @p chSysSuspend() or - * @p chSysEnable() in order to change state. - * - Sleep. Architecture-dependent low power mode, the idle thread - * goes in this state and waits for interrupts, after servicing the interrupt - * the Normal state is restored and the scheduler has a chance to reschedule. - * - S-Locked. Kernel locked and regular interrupt sources disabled. - * Fast interrupt sources are enabled. S-Class and I-Class APIs are - * invokable in this state. - * - I-Locked. Kernel locked and regular interrupt sources disabled. - * I-Class APIs are invokable from this state. - * - Serving Regular Interrupt. No system APIs are accessible but it is - * possible to switch to the I-Locked state using @p chSysLockFromIsr() and - * then invoke any I-Class API. Interrupt handlers can be preemptable on some - * architectures thus is important to switch to I-Locked state before - * invoking system APIs. - * - Serving Fast Interrupt. System APIs are not accessible. - * - Serving Non-Maskable Interrupt. System APIs are not accessible. - * - Halted. All interrupt sources are disabled and system stopped into - * an infinite loop. This state can be reached if the debug mode is activated - * and an error is detected or after explicitly invoking - * @p chSysHalt(). - * - * Note that the above state are just Logical States that may have no - * real associated machine state on some architectures. The following diagram - * shows the possible transitions between the states: - * - * @dot - digraph example { - rankdir="LR"; - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - init [label="Init", style="bold"]; - norm [label="Normal", shape=doublecircle]; - susp [label="Suspended"]; - disab [label="Disabled"]; - slock [label="S-Locked"]; - ilock [label="I-Locked"]; - slock [label="S-Locked"]; - sleep [label="Sleep"]; - sri [label="SRI"]; - init -> norm [label="chSysInit()"]; - norm -> slock [label="chSysLock()", constraint=false]; - slock -> norm [label="chSysUnlock()"]; - norm -> susp [label="chSysSuspend()"]; - susp -> disab [label="chSysDisable()"]; - norm -> disab [label="chSysDisable()"]; - susp -> norm [label="chSysEnable()"]; - disab -> norm [label="chSysEnable()"]; - slock -> ilock [label="Context Switch", dir="both"]; - norm -> sri [label="Regular IRQ", style="dotted"]; - sri -> norm [label="Regular IRQ return", fontname=Helvetica, fontsize=8]; - sri -> ilock [label="chSysLockFromIsr()", constraint=false]; - ilock -> sri [label="chSysUnlockFromIsr()", fontsize=8]; - norm -> sleep [label="Idle Thread"]; - sleep -> sri [label="Regular IRQ", style="dotted"]; - } - * @enddot - * Note, the SFI, Halted and SNMI states were not shown - * because those are reachable from most states: - * - * @dot - digraph example { - rankdir="LR"; - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - any1 [label="Any State\nexcept *"]; - any2 [label="Any State"]; - sfi [label="SFI"]; - halt [label="Halted"]; - SNMI [label="SNMI"]; - any1 -> sfi [style="dotted", label="Fast IRQ"]; - sfi -> any1 [label="Fast IRQ return"]; - any2 -> halt [label="chSysHalt()"]; - any2 -> SNMI [label="Synchronous NMI"]; - any2 -> SNMI [label="Asynchronous NMI", style="dotted"]; - SNMI -> any2 [label="NMI return"]; - halt -> SNMI [label="Asynchronous NMI", style="dotted"]; - SNMI -> halt [label="NMI return"]; - } - * @enddot - * @attention * except: Init, Halt, SNMI, Disabled. - * - * @section scheduling Scheduling - * The strategy is very simple the currently ready thread with the highest - * priority is executed. If more than one thread with equal priority are - * eligible for execution then they are executed in a round-robin way, the - * CPU time slice constant is configurable. The ready list is a double linked - * list of threads ordered by priority.

            - * @image html readylist.png - * Note that the currently running thread is not in the ready list, the list - * only contains the threads ready to be executed but still actually waiting. - * - * @section thread_states Threads States - * The image shows how threads can change their state in ChibiOS/RT.
            - * @dot - digraph example { - /*rankdir="LR";*/ - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - start [label="Start", style="bold"]; - run [label="Running"]; - ready [label="Ready"]; - suspend [label="Suspended"]; - sleep [label="Sleeping"]; - stop [label="Stop", style="bold"]; - start -> suspend [label="chThdInit()", constraint=false]; - start -> run [label="chThdCreate()"]; - start -> ready [label="chThdCreate()"]; - run -> ready [label="Reschedulation", dir="both"]; - suspend -> run [label="chThdResume()"]; - suspend -> ready [label="chThdResume()"]; - run -> sleep [label="chSchGoSleepS()"]; - sleep -> run [label="chSchWakepS()"]; - sleep -> ready [label="chSchWakepS()"]; - run -> stop [label="chThdExit()"]; - } - * @enddot - * - * @section priority Priority Levels - * Priorities in ChibiOS/RT are a contiguous numerical range but the initial - * and final values are not enforced.
            - * The following table describes the various priority boundaries (from lowest - * to highest): - * - @p IDLEPRIO, this is the lowest priority level and is reserved for the - * idle thread, no other threads should share this priority level. This is - * the lowest numerical value of the priorities space. - * - @p LOWPRIO, the lowest priority level that can be assigned to an user - * thread. - * - @p NORMALPRIO, this is the central priority level for user threads. It is - * advisable to assign priorities to threads as values relative to - * @p NORMALPRIO, as example NORMALPRIO-1 or NORMALPRIO+4, this ensures the - * portability of code should the numerical range change in future - * implementations. - * - @p HIGHPRIO, the highest priority level that can be assigned to an user - * thread. - * - @p ABSPRO, absolute maximum software priority level, it can be higher than - * @p HIGHPRIO but the numerical values above @p HIGHPRIO up to @p ABSPRIO - * (inclusive) are reserved. This is the highest numerical value of the - * priorities space. - * - * @section warea Thread Working Area - * Each thread has its own stack, a Thread structure and some preemption - * areas. All the structures are allocated into a "Thread Working Area", - * a thread private heap, usually statically declared in your code. - * Threads do not use any memory outside the allocated working area - * except when accessing static shared data.

            - * @image html workspace.png - *
            - * Note that the preemption area is only present when the thread is not - * running (switched out), the context switching is done by pushing the - * registers on the stack of the switched-out thread and popping the registers - * of the switched-in thread from its stack. - * The preemption area can be divided in up to three structures: - * - External Context. - * - Interrupt Stack. - * - Internal Context. - * - * See the @ref Core documentation for details, the area may change on - * the various ports and some structures may not be present (or be zero-sized). - */ -/** @} */ - -/** - * @page Articles Articles - * @{ - * ChibiOS/RT Articles and Code Examples: - * - @subpage article_atomic - * - @subpage article_saveram - * - @subpage article_interrupts - * - @subpage article_jitter - * - @subpage article_timing - */ -/** @} */ - /** * @defgroup Ports Ports * @{ diff --git a/docs/src/articles.dox b/docs/src/articles.dox new file mode 100644 index 000000000..a152d7c44 --- /dev/null +++ b/docs/src/articles.dox @@ -0,0 +1,30 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page Articles Articles + * @{ + * ChibiOS/RT Articles and Code Examples: + * - @subpage article_atomic + * - @subpage article_saveram + * - @subpage article_interrupts + * - @subpage article_jitter + * - @subpage article_timing + */ +/** @} */ diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox new file mode 100644 index 000000000..cfa5bfbc3 --- /dev/null +++ b/docs/src/concepts.dox @@ -0,0 +1,240 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page Concepts Concepts + * @{ + * @brief ChibiOS/RT Concepts and Architecture + * @section naming Naming Conventions + * ChibiOS/RT APIs are all named following this convention: + * @a ch\\\(). + * The possible groups are: @a Sys, @a Sch, @a VT, @a Thd, @a Sem, @a Mtx, + * @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a HQ, @a FDD, @a HDD, @a Dbg, + * @a Heap, @a Pool. + * + * @section api_suffixes API Names Suffixes + * The suffix can be one of the following: + * - None, APIs without any suffix can be invoked only from the user + * code in the Normal state unless differently specified. See + * @ref system_states. + * - "I", I-Class APIs are invokable only from the I-Locked or + * S-Locked states. See @ref system_states. + * - "S", S-Class APIs are invokable only from the S-Locked + * state. See @ref system_states. + * Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout(). + * + * @section interrupt_classes Interrupt Classes + * In ChibiOS/RT there are three logical interrupt classes: + * - Regular Interrupts. Maskable interrupt sources that cannot + * preempt the kernel code and are thus able to invoke operating system APIs + * from within their handlers. The interrupt handlers belonging to this class + * must be written following some rules. See the @ref System APIs group and + * @ref article_interrupts. + * - Fast Interrupts. Maskable interrupt sources with the ability + * to preempt the kernel code and thus have a lower latency and are less + * subject to jitter, see @ref article_jitter. Such sources are not + * supported on all the architectures.
            + * Fast interrupts are not allowed to invoke any operating system API from + * within their handlers. Fast interrupt sources may however pend a lower + * priority regular interrupt where access to the operating system is + * possible. + * - Non Maskable Interrupts. Non maskable interrupt sources are + * totally out of the operating system control and have the lowest latency. + * Such sources are not supported on all the architectures. + * + * The mapping of the above logical classes into physical interrupts priorities + * is, of course, port dependent. See the documentation of the various ports + * for details. + * + * @section system_states System States + * When using ChibiOS/RT the system can be in one of the following logical + * operating states: + * - Init. When the system is in this state all the maskable + * interrupt sources are disabled. In this state it is not possible to use + * any system API except @p chSysInit(). This state is entered after a + * physical reset. + * - Normal. All the interrupt sources are enabled and the system APIs + * are accessible, threads are running. + * - Suspended. In this state the fast interrupt sources are enabled but + * the regular interrupt sources are not. In this state it is not possible + * to use any system API except @p chSysDisable() or @p chSysEnable() in + * order to change state. + * - Disabled. When the system is in this state both the maskable + * regular and fast interrupt sources are disabled. In this state it is not + * possible to use any system API except @p chSysSuspend() or + * @p chSysEnable() in order to change state. + * - Sleep. Architecture-dependent low power mode, the idle thread + * goes in this state and waits for interrupts, after servicing the interrupt + * the Normal state is restored and the scheduler has a chance to reschedule. + * - S-Locked. Kernel locked and regular interrupt sources disabled. + * Fast interrupt sources are enabled. S-Class and I-Class APIs are + * invokable in this state. + * - I-Locked. Kernel locked and regular interrupt sources disabled. + * I-Class APIs are invokable from this state. + * - Serving Regular Interrupt. No system APIs are accessible but it is + * possible to switch to the I-Locked state using @p chSysLockFromIsr() and + * then invoke any I-Class API. Interrupt handlers can be preemptable on some + * architectures thus is important to switch to I-Locked state before + * invoking system APIs. + * - Serving Fast Interrupt. System APIs are not accessible. + * - Serving Non-Maskable Interrupt. System APIs are not accessible. + * - Halted. All interrupt sources are disabled and system stopped into + * an infinite loop. This state can be reached if the debug mode is activated + * and an error is detected or after explicitly invoking + * @p chSysHalt(). + * + * Note that the above state are just Logical States that may have no + * real associated machine state on some architectures. The following diagram + * shows the possible transitions between the states: + * + * @dot + digraph example { + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + init [label="Init", style="bold"]; + norm [label="Normal", shape=doublecircle]; + susp [label="Suspended"]; + disab [label="Disabled"]; + slock [label="S-Locked"]; + ilock [label="I-Locked"]; + slock [label="S-Locked"]; + sleep [label="Sleep"]; + sri [label="SRI"]; + init -> norm [label="chSysInit()"]; + norm -> slock [label="chSysLock()", constraint=false]; + slock -> norm [label="chSysUnlock()"]; + norm -> susp [label="chSysSuspend()"]; + susp -> disab [label="chSysDisable()"]; + norm -> disab [label="chSysDisable()"]; + susp -> norm [label="chSysEnable()"]; + disab -> norm [label="chSysEnable()"]; + slock -> ilock [label="Context Switch", dir="both"]; + norm -> sri [label="Regular IRQ", style="dotted"]; + sri -> norm [label="Regular IRQ return", fontname=Helvetica, fontsize=8]; + sri -> ilock [label="chSysLockFromIsr()", constraint=false]; + ilock -> sri [label="chSysUnlockFromIsr()", fontsize=8]; + norm -> sleep [label="Idle Thread"]; + sleep -> sri [label="Regular IRQ", style="dotted"]; + } + * @enddot + * Note, the SFI, Halted and SNMI states were not shown + * because those are reachable from most states: + * + * @dot + digraph example { + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + any1 [label="Any State\nexcept *"]; + any2 [label="Any State"]; + sfi [label="SFI"]; + halt [label="Halted"]; + SNMI [label="SNMI"]; + any1 -> sfi [style="dotted", label="Fast IRQ"]; + sfi -> any1 [label="Fast IRQ return"]; + any2 -> halt [label="chSysHalt()"]; + any2 -> SNMI [label="Synchronous NMI"]; + any2 -> SNMI [label="Asynchronous NMI", style="dotted"]; + SNMI -> any2 [label="NMI return"]; + halt -> SNMI [label="Asynchronous NMI", style="dotted"]; + SNMI -> halt [label="NMI return"]; + } + * @enddot + * @attention * except: Init, Halt, SNMI, Disabled. + * + * @section scheduling Scheduling + * The strategy is very simple the currently ready thread with the highest + * priority is executed. If more than one thread with equal priority are + * eligible for execution then they are executed in a round-robin way, the + * CPU time slice constant is configurable. The ready list is a double linked + * list of threads ordered by priority.

            + * @image html readylist.png + * Note that the currently running thread is not in the ready list, the list + * only contains the threads ready to be executed but still actually waiting. + * + * @section thread_states Threads States + * The image shows how threads can change their state in ChibiOS/RT.
            + * @dot + digraph example { + /*rankdir="LR";*/ + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + start [label="Start", style="bold"]; + run [label="Running"]; + ready [label="Ready"]; + suspend [label="Suspended"]; + sleep [label="Sleeping"]; + stop [label="Stop", style="bold"]; + start -> suspend [label="chThdInit()", constraint=false]; + start -> run [label="chThdCreate()"]; + start -> ready [label="chThdCreate()"]; + run -> ready [label="Reschedulation", dir="both"]; + suspend -> run [label="chThdResume()"]; + suspend -> ready [label="chThdResume()"]; + run -> sleep [label="chSchGoSleepS()"]; + sleep -> run [label="chSchWakepS()"]; + sleep -> ready [label="chSchWakepS()"]; + run -> stop [label="chThdExit()"]; + } + * @enddot + * + * @section priority Priority Levels + * Priorities in ChibiOS/RT are a contiguous numerical range but the initial + * and final values are not enforced.
            + * The following table describes the various priority boundaries (from lowest + * to highest): + * - @p IDLEPRIO, this is the lowest priority level and is reserved for the + * idle thread, no other threads should share this priority level. This is + * the lowest numerical value of the priorities space. + * - @p LOWPRIO, the lowest priority level that can be assigned to an user + * thread. + * - @p NORMALPRIO, this is the central priority level for user threads. It is + * advisable to assign priorities to threads as values relative to + * @p NORMALPRIO, as example NORMALPRIO-1 or NORMALPRIO+4, this ensures the + * portability of code should the numerical range change in future + * implementations. + * - @p HIGHPRIO, the highest priority level that can be assigned to an user + * thread. + * - @p ABSPRO, absolute maximum software priority level, it can be higher than + * @p HIGHPRIO but the numerical values above @p HIGHPRIO up to @p ABSPRIO + * (inclusive) are reserved. This is the highest numerical value of the + * priorities space. + * + * @section warea Thread Working Area + * Each thread has its own stack, a Thread structure and some preemption + * areas. All the structures are allocated into a "Thread Working Area", + * a thread private heap, usually statically declared in your code. + * Threads do not use any memory outside the allocated working area + * except when accessing static shared data.

            + * @image html workspace.png + *
            + * Note that the preemption area is only present when the thread is not + * running (switched out), the context switching is done by pushing the + * registers on the stack of the switched-out thread and popping the registers + * of the switched-in thread from its stack. + * The preemption area can be divided in up to three structures: + * - External Context. + * - Interrupt Stack. + * - Internal Context. + * + * See the @ref Core documentation for details, the area may change on + * the various ports and some structures may not be present (or be zero-sized). + */ +/** @} */ -- cgit v1.2.3 From 77ae5b2784efc16f92d98d9b6604618850a0e22d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 29 Jan 2009 18:49:01 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@682 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/ch.txt b/docs/ch.txt index 998beb7b6..983c89dc2 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -27,6 +27,7 @@ * @htmlonly (ちびOS/RT) @endhtmlonly * means small Real Time Operating System. * Source Wikipedia. + * *

            Features

            * - Free software, GPL3 licensed. * - Designed for realtime applications. -- cgit v1.2.3 From 8521e471ad31429d4fd18aad3496b12a87245cda Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 29 Jan 2009 18:59:37 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@683 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/img/readylist.png | Bin 11862 -> 13024 bytes docs/img/readylist.svg | 4 ++-- docs/img/workspace.png | Bin 20285 -> 20994 bytes docs/img/workspace.svg | 25 ++++++++++--------------- 4 files changed, 12 insertions(+), 17 deletions(-) (limited to 'docs') diff --git a/docs/img/readylist.png b/docs/img/readylist.png index a7a8adb57..303848564 100644 Binary files a/docs/img/readylist.png and b/docs/img/readylist.png differ diff --git a/docs/img/readylist.svg b/docs/img/readylist.svg index d1b41741a..486ec9b61 100644 --- a/docs/img/readylist.svg +++ b/docs/img/readylist.svg @@ -89,7 +89,7 @@ pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" - inkscape:pageopacity="0.0" + inkscape:pageopacity="1" inkscape:pageshadow="2" inkscape:zoom="1.515" inkscape:cx="306.4941" @@ -158,7 +158,7 @@ + Workspace top Thread Structure Workspace top Date: Thu, 29 Jan 2009 19:00:24 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@684 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/img/readylist.png | Bin 13024 -> 12736 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'docs') diff --git a/docs/img/readylist.png b/docs/img/readylist.png index 303848564..3dc44aa44 100644 Binary files a/docs/img/readylist.png and b/docs/img/readylist.png differ -- cgit v1.2.3 From 3ca7c80d70886080c2c57a8c4056df876fba9e00 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 29 Jan 2009 19:00:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@685 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/img/readylist.svg | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/img/readylist.svg b/docs/img/readylist.svg index 486ec9b61..afd957236 100644 --- a/docs/img/readylist.svg +++ b/docs/img/readylist.svg @@ -158,7 +158,9 @@ Date: Thu, 29 Jan 2009 19:30:36 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@686 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/img/readylist.png | Bin 12736 -> 9766 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'docs') diff --git a/docs/img/readylist.png b/docs/img/readylist.png index 3dc44aa44..32886ba3e 100644 Binary files a/docs/img/readylist.png and b/docs/img/readylist.png differ -- cgit v1.2.3 From 12ca3be7093ef8e4d28cac41f068a938a1dfe8fb Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 31 Jan 2009 08:58:54 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@700 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index fbe5a3d5d..6543c3647 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,11 +12,13 @@
          Current -Version 1.1.0unstable
          +Versions
          +1.0.0 stable
          +1.1.0 unstable
          -
          Project on SourceForge
          Documentation
          - Downloads
          Wiki
          Forum
          + Downloads
          Contact me
          -
          History
          @@ -45,13 +47,8 @@ with M68K processors, the development was made on an Atari ST. The OS worked well for its intended purpose, Internet was not widespread at that time so the system had a limited use.
          Recently I decided to release this system, formerly known as mkRTOS, as Free -Software. I cleaned up the code, improved the documentation, made a -port on a more modern architecture (ARM) and it is finally ready.
          -While ChibiOS/RT is a new product it is based on a proven system so the -alpha/beta phases should not last long, the project was started as an -alpha -version mainly to be able to incorporate the feedback into the -product easily.
          +Software. I cleaned up the code, improved the documentation, ported it +to more modern architectures and it is finally ready.

          Description

          ChibiOS/RT is designed for embedded applications and it is meant to be linked with the application code. The design philosophy is to make it @@ -74,7 +71,7 @@ chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with minimal changes.
        • ARM Cortex-M3, ST Microelectronics STM32.
        • Atmel AVR: AT90CAN128 and ATmega128 demos included.
        • -
        • Texas Instruments MSP430, complete but untested.
        • +
        • Texas Instruments MSP430.
        • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development board/simulator/emulator. Communication ports are simulated over @@ -115,9 +112,7 @@ This does not prevent the application code to use an allocator if needed, it is just the kernel that does not require it.
        • No weird macros in the user code, everything should look -and feel like normal C code with a normal main() function. I don't like -to bring someone else weird programming habits in my code and I think -this is true for everybody.
        • +and feel like normal C code with a normal main() function.
        • Encapsulate all the things that need changes while porting the OS to new architectures in few template files, fill the code into @@ -150,14 +145,23 @@ put my hands on new hardware/tools.
        • existing other free projects like: TCP/IP stacks, File Systems etc.

          Credits

          -ChibiOS/RT was created using:
          +ChibiOS/RT is 100% proprietary software free and was created using all the following FOSS projects:
          Current Versions
          1.0.0 stable
          -1.1.0 unstable
          +1.1.1 unstable
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From 3d2f2081cebee2936d8073ab6a55177b6549013e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 17 Feb 2009 19:58:46 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@778 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 8 ++++++-- docs/ch.txt | 36 ++++++++++++++++++++++++++++++------ 2 files changed, 36 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index a7d3a256d..71904c177 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1308,10 +1308,14 @@ PREDEFINED = __DOXYGEN__ \ CH_USE_HEAP=1 \ CH_USE_MEMPOOLS=1 \ CH_USE_MESSAGES=1 \ + CH_USE_MAILBOXES=1 \ CH_USE_MESSAGES_EVENT=1 \ - CH_USE_DEBUG=1 \ - CH_USE_TRACE=1 \ CH_USE_DYNAMIC=1 \ + CH_DBG_ENABLE_ASSERTS=1 \ + CH_DBG_ENABLE_TRACE=1 \ + CH_DBG_ENABLE_STACK_CHECK=1 \ + CH_DBG_FILL_THREADS=1 \ + CH_DBG_THREADS_PROFILING=1 \ CH_USE_ROUNDROBIN=1 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then diff --git a/docs/ch.txt b/docs/ch.txt index b62fa38ca..58a96870d 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -281,15 +281,15 @@ /** @} */ /** - * @defgroup Messages Messages + * @defgroup Messages Synchronous Messages * @{ * Synchronous inter-thread messages. *

          Operation Mode

          - * Messages are an easy to use and fast IPC mechanism, threads can both serve - * messages and send messages to other threads, the mechanism allows data to - * be carried in both directions. Data is not copied between the client and - * server threads but just a pointer passed so the exchange is very time - * efficient.
          + * Synchronoud messages are an easy to use and fast IPC mechanism, threads + * can both serve messages and send messages to other threads, the mechanism + * allows data to be carried in both directions. Data is not copied between + * the client and server threads but just a pointer passed so the exchange + * is very time efficient.
          * Messages are usually processed in FIFO order but it is possible to process * them in priority order by specifying CH_USE_MESSAGES_PRIORITY * in @p chconf.h.
          @@ -301,6 +301,30 @@ */ /** @} */ +/** + * @defgroup Mailboxes Mailboxes + * @{ + * Asynchronous messages. + *

          Operation mode

          + * A mailbox is an asynchronous communication mechanism.
          + * The following operations are possible on a mailbox: + * - Post: Posts a message on the mailbox in FIFO order. + * - Post Ahead: Posts a message on the mailbox with high priority. + * - Fetch: A message is fetched from the mailbox and removed from + * the queue. + * - Reset: The mailbox is emptied and all the stored messages lost. + * . + * A message is a variable of type msg_t that is guaranteed to have the + * same size of and be compatible with pointers (an explicit cast is needed). + * If larger messages need to be exchanged then a pointer to a structure can + * be posted in the mailbox but the posting side has no predefined way to + * know when the message has been processed. A possible approach is to + * allocate memory (from a memory pool as example) from the posting side and + * free it on the fetching side. Another approach is to set a "done" flag into + * the structure pointed by the message. + */ +/** @} */ + /** * @defgroup IOQueues I/O Queues * @{ -- cgit v1.2.3 From 3139ee3c532881a23fb5d4171cdc7120f4f1f869 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 21 Feb 2009 09:20:18 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@796 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index f499e90a5..87ea4e9f8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,8 +13,8 @@
          Current Versions
          -1.0.0 stable
          -1.1.1 unstable
          +1.0.1 stable
          +1.1.0 unstable
          -
          Project on SourceForge
          Documentation
          -- cgit v1.2.3 From e9274448e9058df5a32e43212ee9858006fe1c4d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 24 Feb 2009 16:07:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@802 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 1 + docs/src/stacks.dox | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 docs/src/stacks.dox (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 590efdda7..a0426f41c 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -21,6 +21,7 @@ * @page articles Articles * @{ * ChibiOS/RT Articles and Code Examples: + * - @subpage article_stacks * - @subpage article_mutual_exclusion * - @subpage article_atomic * - @subpage article_saveram diff --git a/docs/src/stacks.dox b/docs/src/stacks.dox new file mode 100644 index 000000000..e824ea04a --- /dev/null +++ b/docs/src/stacks.dox @@ -0,0 +1,106 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_stacks Stacks and stack sizes + * @{ + * In a RTOS like ChibiOS/RT there are several dedicated stacks, each stack + * has a dedicated RAM space that must have a correctly sized assigned area. + *

          The stacks

          + * There are several stacks in the systems, some are always present, some + * others are present only in some architectures: + * - Main stack, this stack is used by the @p main() function and the + * thread that execute it. It is not a normal thread stack because it is + * initialized in the startup code and its size is defined in a port + * dependent way. Details are in the various ports documentation. + * - Interrupt Stack, some architectures have a dedicated interrupt + * stack. This is an important feature in a multithreaded environment, + * without a dedicated interrupt stack each thread has to reserve + * enough space, for interrupts servicing, within its own stack. This space, + * multiplied by the total threads number, can be a significant RAM waste. + * - Thread Stack, each thread has a dedicated stack for its own + * execution and context switch. + * - Other Stacks, some architectures (ARM) can have other stacks but + * the OS does not directly use any of them. + * . + *

          Risks

          + * The most critical thing when writing an embedded multithreaded application + * is to determine the correct stack size for main, threads and, when present, + * interrupts.
          + * Assign too much space to a stack wastes RAM, assign too little space + * leads to crashes or, worst scenario, hard to track instability. + * + *

          Assign the correct size

          + * You may try to examine the asm listings in order to calculate the exact + * stack requirements but this requires much time, experience and patience.
          + * An alternative way is to use an interactive method. Follow this procedure + * for each thread in the system: + * - Enable the following debug options in the kernel: + * - @p CH_DBG_ENABLE_STACK_CHECK, this enables a stack check before any + * context switch. This option halts the system in @p chSysHalt() just + * before a stack overflow happens. + * - @p CH_DBG_FILL_THREADS, this option fills the threads working area + * with an easily recognizable pattern (0x55). + * - Assign a large and safe size to the thread stack, as example 256 bytes + * on 32 MCUs, 128 bytes on 8/16 bit MCUs. This is almost always too much + * for simple threads. + * - Run the application, if the application crashes or halts then increase + * the stack size and repeat (you know how to use the debugger right?). + * - Let the application run and make sure to trigger the thread in a way to + * make it follow most or all its code paths. If the application crashes or + * halts then increase the stack size and repeat. + * - Stop the application using the debugger and examine the thread working + * area (you know what a map file is, right?). You can see that the thread + * stack overwrote the fill pattern (0x55) from the top of the working area + * downward. You can estimate the excess stack by counting the untouched + * locations. + * - Trim down the stack size and repeat until the application still runs + * correctly and you have a decent margin in the stack. + * - Repeat for all the thread classes in the system. + * - Turn off the debug options. + * - Done. + * . + *

          Final Notes

          + * Some useful info: + * - Stack overflows are the most common source of problems during development, + * when in trouble with crashes or anomalous behaviors always first verify + * stack sizes. + * - The required stack size can, and very often does change when changing + * compiler vendor, compiler version, compiler options, code type (ARM + * or THUMB as example). + * - Code compiled in THUMB mode uses more stack space compared to the + * same code compiled in ARM mode. In GCC this is related to lack of tail + * calls optimizations in THUMB mode, this is probably true also in other + * compilers. + * - Speed optimized code often requires less stack space compared to space + * optimized code. Be careful when changing optimizations. + * - The interrupts space overhead on the thread stacks (@p INT_REQUIRED_STACK + * defined in @p chcore.h) is included in the total working area size + * by the system macros @p THD_WA_SIZE() and @p WORKING_AREA().
          + * The correct way to reserve space into the thread stacks for interrupts + * processing is to override the @p INT_REQUIRED_STACK default value. + * Architectures with a dedicated interrupt stack do not require changes + * to this value. Resizing of the global interrupt stack may be required + * instead. + * - Often is a good idea to have some extra space in stacks unless you + * are really starved on RAM. Anyway optimize stack space at the very + * end of your development cycle. + * . + */ +/** @} */ -- cgit v1.2.3 From eb75c053eb46cbeb4ad9c0b7b179ba1acb20eba4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 28 Feb 2009 09:39:02 +0000 Subject: Added new benchmarks about semaphores and mutexes to the test suite. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@804 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/stacks.dox | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/stacks.dox b/docs/src/stacks.dox index e824ea04a..a27c2e1b9 100644 --- a/docs/src/stacks.dox +++ b/docs/src/stacks.dox @@ -33,7 +33,8 @@ * stack. This is an important feature in a multithreaded environment, * without a dedicated interrupt stack each thread has to reserve * enough space, for interrupts servicing, within its own stack. This space, - * multiplied by the total threads number, can be a significant RAM waste. + * multiplied by the total threads number, can amount to a significant RAM + * overhead. * - Thread Stack, each thread has a dedicated stack for its own * execution and context switch. * - Other Stacks, some architectures (ARM) can have other stacks but @@ -46,7 +47,7 @@ * Assign too much space to a stack wastes RAM, assign too little space * leads to crashes or, worst scenario, hard to track instability. * - *

          Assign the correct size

          + *

          Assigning the correct size

          * You may try to examine the asm listings in order to calculate the exact * stack requirements but this requires much time, experience and patience.
          * An alternative way is to use an interactive method. Follow this procedure @@ -78,7 +79,7 @@ * . *

          Final Notes

          * Some useful info: - * - Stack overflows are the most common source of problems during development, + * - Stack overflows are the most common problems source during development, * when in trouble with crashes or anomalous behaviors always first verify * stack sizes. * - The required stack size can, and very often does change when changing -- cgit v1.2.3 From 51cd59474622bc671ca57d8674a6856104305400 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 1 Mar 2009 20:34:53 +0000 Subject: Added logo. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@806 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/img/logo.png | Bin 0 -> 16818 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/img/logo.png (limited to 'docs') diff --git a/docs/img/logo.png b/docs/img/logo.png new file mode 100644 index 000000000..7948daefb Binary files /dev/null and b/docs/img/logo.png differ -- cgit v1.2.3 From 1d222307d4b60222ac1f3e619549ecd672a1e710 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 2 Mar 2009 15:42:19 +0000 Subject: Documentation improvements. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@807 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 9 +- docs/ch.txt | 407 ------------------------------------------- docs/html/logo_small.png | Bin 0 -> 7697 bytes docs/img/logo.png | Bin 16818 -> 0 bytes docs/img/readylist.png | Bin 9766 -> 0 bytes docs/img/readylist.svg | 341 ------------------------------------ docs/img/workspace.png | Bin 20994 -> 0 bytes docs/img/workspace.svg | 280 ------------------------------ docs/rsc/custom.css | 441 +++++++++++++++++++++++++++++++++++++++++++++++ docs/rsc/footer.html | 4 + docs/rsc/header.html | 17 ++ docs/rsc/logo.png | Bin 0 -> 16818 bytes docs/rsc/readylist.png | Bin 0 -> 9766 bytes docs/rsc/readylist.svg | 341 ++++++++++++++++++++++++++++++++++++ docs/rsc/tabs.css | 102 +++++++++++ docs/rsc/workspace.png | Bin 0 -> 20994 bytes docs/rsc/workspace.svg | 280 ++++++++++++++++++++++++++++++ 17 files changed, 1189 insertions(+), 1033 deletions(-) delete mode 100644 docs/ch.txt create mode 100644 docs/html/logo_small.png delete mode 100644 docs/img/logo.png delete mode 100644 docs/img/readylist.png delete mode 100644 docs/img/readylist.svg delete mode 100644 docs/img/workspace.png delete mode 100644 docs/img/workspace.svg create mode 100644 docs/rsc/custom.css create mode 100644 docs/rsc/footer.html create mode 100644 docs/rsc/header.html create mode 100644 docs/rsc/logo.png create mode 100644 docs/rsc/readylist.png create mode 100644 docs/rsc/readylist.svg create mode 100644 docs/rsc/tabs.css create mode 100644 docs/rsc/workspace.png create mode 100644 docs/rsc/workspace.svg (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 71904c177..81066b6c9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -576,7 +576,6 @@ WARN_LOGFILE = INPUT = ../src/include \ ../src/templates \ ../src \ - ../docs/ch.txt \ ../docs/src \ ../src/lib \ ../ports/ARM7 \ @@ -692,7 +691,7 @@ EXAMPLE_RECURSIVE = NO # directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = ./img +IMAGE_PATH = ./rsc # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program @@ -822,13 +821,13 @@ HTML_FILE_EXTENSION = .html # each generated HTML page. If it is left blank doxygen will generate a # standard header. -HTML_HEADER = +HTML_HEADER = ./rsc/header.html # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. -HTML_FOOTER = +HTML_FOOTER = ./rsc/footer.html # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to @@ -837,7 +836,7 @@ HTML_FOOTER = # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! -HTML_STYLESHEET = +HTML_STYLESHEET = ./rsc/custom.css # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to diff --git a/docs/ch.txt b/docs/ch.txt deleted file mode 100644 index 58a96870d..000000000 --- a/docs/ch.txt +++ /dev/null @@ -1,407 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @mainpage ChibiOS/RT - * @author Giovanni Di Sirio (gdisirio@users.sourceforge.net). - * - *

          Chibi ?

          - * I didn't want a serious name for this project. It is the Japanese word for - * small as in small child. So ChibiOS/RT - * @htmlonly (ちびOS/RT) @endhtmlonly - * means small Real Time Operating System. - * Source Wikipedia. - * - *

          Features

          - * - Free software, GPL3 licensed. Stable releases include a exception clause - * to the GPL. - * - Designed for realtime applications. - * - Easily portable. - * - Preemptive scheduling. - * - 128 priority levels. Multiple threads at the same priority level allowed. - * - Round robin scheduling for threads at the same priority level. - * - Offers threads, virtual timers, semaphores, mutexes, condvars, - * event flags, messages, I/O queues. - * - No static setup at compile time, there is no need to configure a maximum - * number of all the above objects. - * - PC simulator target included, the development can be done on the PC - * using MinGW.
          - * Timers, I/O channels and other HW resources are simulated in a - * Win32 process and the application code does not need to be aware of it. - * MinGW demo available. - * - No *need* for a memory allocator, all the kernel structures are static - * and declaratively allocated. - * - Optional, thread safe, Heap Allocator subsystem. - * - Optional, thread safe, Memory Pools Allocator subsystem. - * - Blocking and non blocking I/O channels with timeout and events generation - * capability. - * - Minimal system requirements: about 8KiB ROM with all options enabled and - * speed optimizations on. The size can shrink under 2KiB by disabling the - * the unused subsystems and optimizing for size. - * - Almost totally written in C with little ASM code required for ports. - * . - *

          Related pages

          - * - @subpage lic_faq - * - @subpage goals - * - @subpage concepts - * - @subpage articles - * . - */ - -/** - * @defgroup Ports Ports - * @{ - * This section describes the technical details for the various supported - * ChibiOS/RT ports. - */ -/** @} */ - -/** - * @defgroup Kernel Kernel - * @{ - */ -/** @} */ - -/** - * @defgroup Config Configuration - * @{ - * In @p chconf.h are defined the required subsystems for your application. - * @ingroup Kernel - */ -/** @} */ - -/** - * @defgroup Core Generic Port Code Templates - * @{ - * Non portable code templates. - * @ingroup Kernel - */ -/** @} */ - -/** - * @defgroup Types Types - * @{ - * System types and macros. - * @ingroup Kernel - */ -/** @} */ - -/** - * @defgroup System System Management - * @{ - * Initialization, Locks, Interrupt Handling, Power Management, Abnormal - * Termination. - * @ingroup Kernel - */ -/** @} */ - -/** - * @defgroup Inline Inline - * @{ - * System inline-able code. - * @ingroup Kernel - */ -/** @} */ - -/** - * @defgroup Debug Debug - * @{ - * Debug APIs and procedures. - * @ingroup Kernel - */ -/** @} */ - -/** - * @defgroup Scheduler Scheduler - * @{ - * ChibiOS/RT scheduler. - * @ingroup Kernel - */ -/** @} */ - -/** - * @defgroup ThreadLists Thread Lists and Queues - * @{ - * ChibiOS/RT thread lists and queues utilities. - * @ingroup Kernel - */ -/** @} */ - -/** - * @defgroup Threads Threads - * @{ - * Threads creation and termination APIs. - */ -/** @} */ - -/** - * @defgroup Time Time and Virtual Timers - * @{ - * Time and Virtual Timers related APIs. - */ -/** @} */ - -/** - * @defgroup Heap Heap - * @{ - * Heap Allocator related APIs. - *

          Operation mode

          - * The heap allocator implements a first-fit strategy and its APIs are - * functionally equivalent to the usual @p malloc() and @p free(). The main - * difference is that the heap APIs are thread safe.
          - * By enabling the @p CH_USE_MALLOC_HEAP option the heap manager will use the - * runtime-provided @p malloc() and @p free() as backend for the heap APIs - * instead of the system provided allocator.
          - * In order to use the heap APIs the @p CH_USE_HEAP option must be specified - * in @p chconf.h. - */ -/** @} */ - -/** - * @defgroup MemoryPools Memory Pools - * @{ - * Memory Pools related APIs. - *

          Operation mode

          - * The Memory Pools APIs allow to allocate/free fixed size objects in - * constant time and reliably without memory fragmentation problems.
          - * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be - * specified in @p chconf.h. - */ -/** @} */ - -/** - * @defgroup Semaphores Semaphores - * @{ - * Semaphores and threads synchronization. - *

          Operation mode

          - * A semaphore is a threads synchronization object, some operations - * are defined on semaphores: - * - Signal: The semaphore counter is increased and if the result - * is non-positive then a waiting thread is removed from the semaphore - * queue and made ready for execution. - * - Wait: The semaphore counter is decreased and if the result - * becomes negative the thread is queued in the semaphore and suspended. - * - Reset: The semaphore counter is reset to a non-negative value - * and all the threads in the queue are released. - * . - * Semaphores can be used as guards for mutual exclusion code zones (note that - * mutexes are recommended for this kind of use) but also have other uses, - * queues guards and counters as example.
          - * Semaphores usually use FIFO queues but it is possible to make them - * order threads by priority by specifying CH_USE_SEMAPHORES_PRIORITY in - * @p chconf.h.
          - * In order to use the Semaphores APIs the @p CH_USE_SEMAPHORES - * option must be specified in @p chconf.h.

          - */ -/** @} */ - -/** - * @defgroup Mutexes Mutexes - * @{ - * Mutexes and threads synchronization. - *

          Operation mode

          - * A mutex is a threads synchronization object, some operations are defined - * on mutexes: - * - Lock: The mutex is checked, if the mutex is not owned by some - * other thread then it is locked else the current thread is queued on the - * mutex in a list ordered by priority. - * - Unlock: The mutex is released by the owner and the highest - * priority thread waiting in the queue, if any, is resumed and made owner - * of the mutex. - * . - * In order to use the Event APIs the @p CH_USE_MUTEXES option must be - * specified in @p chconf.h.
          - * - *

          Constraints

          - * In ChibiOS/RT the Unlock operations are always performed in Lock-reverse - * order. The Unlock API does not even have a parameter, the mutex to unlock - * is taken from an internal stack of owned mutexes. - * This both improves the performance and is required by the priority - * inheritance mechanism. - * - *

          The priority inversion problem

          - * The mutexes in ChibiOS/RT implements the full priority - * inheritance mechanism in order handle the priority inversion problem.
          - * When a thread is queued on a mutex, any thread, directly or indirectly, - * holding the mutex gains the same priority of the waiting thread (if their - * priority was not already equal or higher). The mechanism works with any - * number of nested mutexes and any number of involved threads. The algorithm - * complexity (worst case) is N with N equal to the number of nested mutexes. - */ -/** @} */ - -/** - * @defgroup CondVars Condition Variables - * @{ - * Condition Variables and threads synchronization. - *

          Operation mode

          - * The condition variable is a synchronization object meant to be used inside - * a zone protected by a @p Mutex. Mutexes and CondVars together can implement - * a Monitor construct.
          - * In order to use the Condition Variables APIs the @p CH_USE_CONDVARS - * option must be specified in @p chconf.h.

          - */ -/** @} */ - -/** - * @defgroup Events Events - * @{ - * Event Sources and Event Listeners. - *

          Operation mode

          - * An Event Source is a special object that can be signaled by a thread or - * an interrupt service routine. Signaling an Event Source has the effect - * that all the threads registered on the Event Source will receive - * and serve the event.
          - * An unlimited number of Event Sources can exists in a system and each - * thread can listen on an unlimited number of them.
          - * Note that the events can be asynchronously generated but are synchronously - * served, a thread can serve event by calling a @p chEvtWaitXXX() - * API. If an event is generated while a listening thread is not ready to - * serve it then the event becomes "pending" and will be served as soon the - * thread invokes a @p chEvtWaitXXX().
          - * In order to use the Event APIs the @p CH_USE_EVENTS option must be - * specified in @p chconf.h. - */ -/** @} */ - -/** - * @defgroup Messages Synchronous Messages - * @{ - * Synchronous inter-thread messages. - *

          Operation Mode

          - * Synchronoud messages are an easy to use and fast IPC mechanism, threads - * can both serve messages and send messages to other threads, the mechanism - * allows data to be carried in both directions. Data is not copied between - * the client and server threads but just a pointer passed so the exchange - * is very time efficient.
          - * Messages are usually processed in FIFO order but it is possible to process - * them in priority order by specifying CH_USE_MESSAGES_PRIORITY - * in @p chconf.h.
          - * Threads do not need to allocate space for message queues, the mechanism - * just requires two extra pointers in the @p Thread structure (the message - * queue header).
          - * In order to use the Messages APIs the @p CH_USE_MESSAGES option must be - * specified in @p chconf.h. - */ -/** @} */ - -/** - * @defgroup Mailboxes Mailboxes - * @{ - * Asynchronous messages. - *

          Operation mode

          - * A mailbox is an asynchronous communication mechanism.
          - * The following operations are possible on a mailbox: - * - Post: Posts a message on the mailbox in FIFO order. - * - Post Ahead: Posts a message on the mailbox with high priority. - * - Fetch: A message is fetched from the mailbox and removed from - * the queue. - * - Reset: The mailbox is emptied and all the stored messages lost. - * . - * A message is a variable of type msg_t that is guaranteed to have the - * same size of and be compatible with pointers (an explicit cast is needed). - * If larger messages need to be exchanged then a pointer to a structure can - * be posted in the mailbox but the posting side has no predefined way to - * know when the message has been processed. A possible approach is to - * allocate memory (from a memory pool as example) from the posting side and - * free it on the fetching side. Another approach is to set a "done" flag into - * the structure pointed by the message. - */ -/** @} */ - -/** - * @defgroup IOQueues I/O Queues - * @{ - * ChibiOS/RT supports several kinds of queues. The queues are mostly used - * in serial-like device drivers. The device drivers are usually designed to - * have a lower side (lower driver, it is usually an interrupt service - * routine) and an upper side (upper driver, accessed by the application - * threads).
          - * There are several kind of queues:
          - * - Input queue, unidirectional queue where the writer is the - * lower side and the reader is the upper side. - * - Output queue, unidirectional queue where the writer is the - * upper side and the reader is the lower side. - * - Half duplex queue, bidirectional queue where the buffer is shared - * between a receive and a transmit queues. This means that concurrent - * buffered input and output operations are not possible, this is perfectly - * acceptable for a lot of applications however, as example an RS485 driver. - * - Full duplex queue, bidirectional queue where read and write - * operations can happen at the same time. Full duplex queues - * are implemented by pairing an input queue and an output queue together. - * . - * In order to use the I/O queues the @p CH_USE_QUEUES option must - * be specified in @p chconf.h.
          - * In order to use the half duplex queues the @p CH_USE_QUEUES_HALFDUPLEX - * option must be specified in @p chconf.h. - */ -/** @} */ - -/** - * @defgroup Serial Serial Drivers - * @{ - * This module implements a generic full duplex serial driver and a generic - * half duplex serial driver. It uses the I/O Queues for communication between - * the upper and the lower driver and events to notify the application about - * incoming data, outcoming data and other I/O events. - * The module also contains functions that make the implementation of the - * interrupt service routines much easier.
          - * In order to use the serial full duplex driver the - * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h.
          - * In order to use the serial half duplex driver the - * @p CH_USE_SERIAL_HALFDUPLEX option must be specified in @p chconf.h. - */ -/** @} */ - -/** - * @defgroup utilities_library Utilities Library - * @{ - * @brief Utilities Library. - * @details This is a collection of useful library code that is not part of - * the base kernel services. - *

          Notes

          - * The library code does not follow the same naming convention of the - * system APIs in order to make very clear that it is not "core" code.
          - * The main difference is that library code is not formally tested in the - * test suite but through usage in the various demo applications. - */ -/** @} */ - -/** - * @defgroup CPlusPlusLibrary C++ Wrapper - * @{ - * C++ wrapper module. This module allows to use the ChibiOS/RT functionalities - * from C++ as classes and objects rather the traditional "C" APIs. - * - * @ingroup utilities_library - */ -/** @} */ - -/** - * @defgroup event_timer Events Generator Timer - * @{ - * @brief Event Generator Timer. - * @details This timer generates an event at regular intervals. The - * listening threads can use the event to perform time related activities. - * Multiple threads can listen to the same timer. - * - * @ingroup utilities_library - */ -/** @} */ - diff --git a/docs/html/logo_small.png b/docs/html/logo_small.png new file mode 100644 index 000000000..c53451bba Binary files /dev/null and b/docs/html/logo_small.png differ diff --git a/docs/img/logo.png b/docs/img/logo.png deleted file mode 100644 index 7948daefb..000000000 Binary files a/docs/img/logo.png and /dev/null differ diff --git a/docs/img/readylist.png b/docs/img/readylist.png deleted file mode 100644 index 32886ba3e..000000000 Binary files a/docs/img/readylist.png and /dev/null differ diff --git a/docs/img/readylist.svg b/docs/img/readylist.svg deleted file mode 100644 index afd957236..000000000 --- a/docs/img/readylist.svg +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - 63 - Ready List organization Thread Structure - - - - 62 - - - - - 64 - - - - - 64 - - - - - Header - - - - - - - - - - - - diff --git a/docs/img/workspace.png b/docs/img/workspace.png deleted file mode 100644 index 689178c0b..000000000 Binary files a/docs/img/workspace.png and /dev/null differ diff --git a/docs/img/workspace.svg b/docs/img/workspace.svg deleted file mode 100644 index acc5de238..000000000 --- a/docs/img/workspace.svg +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - Workspace base Workspace top - - - Thread Structure intctx Structure Thread Stack Stack Pointer - - - - Thread Local Storage - chThdLS() Stack Limit - - - extctx Structure INT_REQUIRED_STACK - diff --git a/docs/rsc/custom.css b/docs/rsc/custom.css new file mode 100644 index 000000000..32a1f4dc3 --- /dev/null +++ b/docs/rsc/custom.css @@ -0,0 +1,441 @@ +body, table, div, p, dl { + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; + font-size: 12px; +} + +/* @group Heading Levels */ + +h1 { + text-align: center; + font-size: 150%; +} + +h2 { + font-size: 120%; +} + +h3 { + font-size: 100%; +} + +/* @end */ + +caption { + font-weight: bold; +} + +div.qindex, div.navpath, div.navtab{ + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #153788; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #1b77c5; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code { +} + +a.codeRef { +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: monospace, fixed; + font-size: 105%; +} + +pre.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + padding: 4px 6px; + margin: 4px 8px 4px 2px; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} + +td.indexkey { + background-color: #e8eef2; + font-weight: bold; + border: 1px solid #CCCCCC; + margin: 2px 0px 2px 0; + padding: 2px 10px; +} + +td.indexvalue { + background-color: #e8eef2; + border: 1px solid #CCCCCC; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #f0f0f0; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +/* @end */ + +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} + +th.dirtab { + background: #e8eef2; + font-weight: bold; +} + +hr { + height: 0; + border: none; + border-top: 1px solid #666; +} + +/* @group Member Descriptions */ + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FAFAFA; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memItemLeft, .memItemRight, .memTemplParams { + border-top: 1px solid #ccc; +} + +.memTemplParams { + color: #606060; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; + margin-left: 3px; +} + +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.memitem { + padding: 0; +} + +.memname { + white-space: nowrap; + font-weight: bold; +} + +.memproto, .memdoc { + border: 1px solid #84b0c7; +} + +.memproto { + padding: 0; + background-color: #d5e1e8; + font-weight: bold; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 8px; +} + +.memdoc { + padding: 2px 5px; + background-color: #eef3f5; + border-top-width: 0; + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; +} + +.memdoc p, .memdoc dl, .memdoc ul { + margin: 6px 0; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} + +/* @end */ + +/* @group Directory (tree) */ + +/* for the tree view */ + +.ftvtree { + font-family: sans-serif; + margin: 0.5em; +} + +/* these are for tree view when used as main index */ + +.directory { + font-size: 9pt; + font-weight: bold; +} + +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* +The following two styles can be used to replace the root node title +with an image of your choice. Simply uncomment the next two styles, +specify the name of your image and be sure to set 'height' to the +proper pixel height of your image. +*/ + +/* +.directory h3.swap { + height: 61px; + background-repeat: no-repeat; + background-image: url("yourimage.gif"); +} +.directory h3.swap span { + display: none; +} +*/ + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0px; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0px; +} + +.directory img { + vertical-align: -30%; +} + +/* these are for tree view when not used as main index */ + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0px; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0px; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ + +address { + font-style: normal; + color: #333; +} diff --git a/docs/rsc/footer.html b/docs/rsc/footer.html new file mode 100644 index 000000000..08db8f4ed --- /dev/null +++ b/docs/rsc/footer.html @@ -0,0 +1,4 @@ +
          +Generated on $datetime for $projectname by doxygen $doxygenversion
          + + diff --git a/docs/rsc/header.html b/docs/rsc/header.html new file mode 100644 index 000000000..540648e31 --- /dev/null +++ b/docs/rsc/header.html @@ -0,0 +1,17 @@ + + +$title + + + + + + + + + + + +
          ChibiOS/RT LogoChibiOS/RT

          Architecture - Reference Manual - Guides
          +
          \ No newline at end of file diff --git a/docs/rsc/logo.png b/docs/rsc/logo.png new file mode 100644 index 000000000..7948daefb Binary files /dev/null and b/docs/rsc/logo.png differ diff --git a/docs/rsc/readylist.png b/docs/rsc/readylist.png new file mode 100644 index 000000000..32886ba3e Binary files /dev/null and b/docs/rsc/readylist.png differ diff --git a/docs/rsc/readylist.svg b/docs/rsc/readylist.svg new file mode 100644 index 000000000..afd957236 --- /dev/null +++ b/docs/rsc/readylist.svg @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + 63 + Ready List organization Thread Structure + + + + 62 + + + + + 64 + + + + + 64 + + + + + Header + + + + + + + + + + + + diff --git a/docs/rsc/tabs.css b/docs/rsc/tabs.css new file mode 100644 index 000000000..16b1be0d7 --- /dev/null +++ b/docs/rsc/tabs.css @@ -0,0 +1,102 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : 8px; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : 8px; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI.current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI.current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.navpath +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; +} diff --git a/docs/rsc/workspace.png b/docs/rsc/workspace.png new file mode 100644 index 000000000..689178c0b Binary files /dev/null and b/docs/rsc/workspace.png differ diff --git a/docs/rsc/workspace.svg b/docs/rsc/workspace.svg new file mode 100644 index 000000000..acc5de238 --- /dev/null +++ b/docs/rsc/workspace.svg @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + Workspace base Workspace top + + + Thread Structure intctx Structure Thread Stack Stack Pointer + + + + Thread Local Storage + chThdLS() Stack Limit + + + extctx Structure INT_REQUIRED_STACK + -- cgit v1.2.3 From 75813bcef30adf76c54ab1f7f02203896320b8c5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 7 Mar 2009 10:07:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@809 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 407 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 407 insertions(+) create mode 100644 docs/src/main.dox (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox new file mode 100644 index 000000000..58a96870d --- /dev/null +++ b/docs/src/main.dox @@ -0,0 +1,407 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @mainpage ChibiOS/RT + * @author Giovanni Di Sirio (gdisirio@users.sourceforge.net). + * + *

          Chibi ?

          + * I didn't want a serious name for this project. It is the Japanese word for + * small as in small child. So ChibiOS/RT + * @htmlonly (ちびOS/RT) @endhtmlonly + * means small Real Time Operating System. + * Source Wikipedia. + * + *

          Features

          + * - Free software, GPL3 licensed. Stable releases include a exception clause + * to the GPL. + * - Designed for realtime applications. + * - Easily portable. + * - Preemptive scheduling. + * - 128 priority levels. Multiple threads at the same priority level allowed. + * - Round robin scheduling for threads at the same priority level. + * - Offers threads, virtual timers, semaphores, mutexes, condvars, + * event flags, messages, I/O queues. + * - No static setup at compile time, there is no need to configure a maximum + * number of all the above objects. + * - PC simulator target included, the development can be done on the PC + * using MinGW.
          + * Timers, I/O channels and other HW resources are simulated in a + * Win32 process and the application code does not need to be aware of it. + * MinGW demo available. + * - No *need* for a memory allocator, all the kernel structures are static + * and declaratively allocated. + * - Optional, thread safe, Heap Allocator subsystem. + * - Optional, thread safe, Memory Pools Allocator subsystem. + * - Blocking and non blocking I/O channels with timeout and events generation + * capability. + * - Minimal system requirements: about 8KiB ROM with all options enabled and + * speed optimizations on. The size can shrink under 2KiB by disabling the + * the unused subsystems and optimizing for size. + * - Almost totally written in C with little ASM code required for ports. + * . + *

          Related pages

          + * - @subpage lic_faq + * - @subpage goals + * - @subpage concepts + * - @subpage articles + * . + */ + +/** + * @defgroup Ports Ports + * @{ + * This section describes the technical details for the various supported + * ChibiOS/RT ports. + */ +/** @} */ + +/** + * @defgroup Kernel Kernel + * @{ + */ +/** @} */ + +/** + * @defgroup Config Configuration + * @{ + * In @p chconf.h are defined the required subsystems for your application. + * @ingroup Kernel + */ +/** @} */ + +/** + * @defgroup Core Generic Port Code Templates + * @{ + * Non portable code templates. + * @ingroup Kernel + */ +/** @} */ + +/** + * @defgroup Types Types + * @{ + * System types and macros. + * @ingroup Kernel + */ +/** @} */ + +/** + * @defgroup System System Management + * @{ + * Initialization, Locks, Interrupt Handling, Power Management, Abnormal + * Termination. + * @ingroup Kernel + */ +/** @} */ + +/** + * @defgroup Inline Inline + * @{ + * System inline-able code. + * @ingroup Kernel + */ +/** @} */ + +/** + * @defgroup Debug Debug + * @{ + * Debug APIs and procedures. + * @ingroup Kernel + */ +/** @} */ + +/** + * @defgroup Scheduler Scheduler + * @{ + * ChibiOS/RT scheduler. + * @ingroup Kernel + */ +/** @} */ + +/** + * @defgroup ThreadLists Thread Lists and Queues + * @{ + * ChibiOS/RT thread lists and queues utilities. + * @ingroup Kernel + */ +/** @} */ + +/** + * @defgroup Threads Threads + * @{ + * Threads creation and termination APIs. + */ +/** @} */ + +/** + * @defgroup Time Time and Virtual Timers + * @{ + * Time and Virtual Timers related APIs. + */ +/** @} */ + +/** + * @defgroup Heap Heap + * @{ + * Heap Allocator related APIs. + *

          Operation mode

          + * The heap allocator implements a first-fit strategy and its APIs are + * functionally equivalent to the usual @p malloc() and @p free(). The main + * difference is that the heap APIs are thread safe.
          + * By enabling the @p CH_USE_MALLOC_HEAP option the heap manager will use the + * runtime-provided @p malloc() and @p free() as backend for the heap APIs + * instead of the system provided allocator.
          + * In order to use the heap APIs the @p CH_USE_HEAP option must be specified + * in @p chconf.h. + */ +/** @} */ + +/** + * @defgroup MemoryPools Memory Pools + * @{ + * Memory Pools related APIs. + *

          Operation mode

          + * The Memory Pools APIs allow to allocate/free fixed size objects in + * constant time and reliably without memory fragmentation problems.
          + * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be + * specified in @p chconf.h. + */ +/** @} */ + +/** + * @defgroup Semaphores Semaphores + * @{ + * Semaphores and threads synchronization. + *

          Operation mode

          + * A semaphore is a threads synchronization object, some operations + * are defined on semaphores: + * - Signal: The semaphore counter is increased and if the result + * is non-positive then a waiting thread is removed from the semaphore + * queue and made ready for execution. + * - Wait: The semaphore counter is decreased and if the result + * becomes negative the thread is queued in the semaphore and suspended. + * - Reset: The semaphore counter is reset to a non-negative value + * and all the threads in the queue are released. + * . + * Semaphores can be used as guards for mutual exclusion code zones (note that + * mutexes are recommended for this kind of use) but also have other uses, + * queues guards and counters as example.
          + * Semaphores usually use FIFO queues but it is possible to make them + * order threads by priority by specifying CH_USE_SEMAPHORES_PRIORITY in + * @p chconf.h.
          + * In order to use the Semaphores APIs the @p CH_USE_SEMAPHORES + * option must be specified in @p chconf.h.

          + */ +/** @} */ + +/** + * @defgroup Mutexes Mutexes + * @{ + * Mutexes and threads synchronization. + *

          Operation mode

          + * A mutex is a threads synchronization object, some operations are defined + * on mutexes: + * - Lock: The mutex is checked, if the mutex is not owned by some + * other thread then it is locked else the current thread is queued on the + * mutex in a list ordered by priority. + * - Unlock: The mutex is released by the owner and the highest + * priority thread waiting in the queue, if any, is resumed and made owner + * of the mutex. + * . + * In order to use the Event APIs the @p CH_USE_MUTEXES option must be + * specified in @p chconf.h.
          + * + *

          Constraints

          + * In ChibiOS/RT the Unlock operations are always performed in Lock-reverse + * order. The Unlock API does not even have a parameter, the mutex to unlock + * is taken from an internal stack of owned mutexes. + * This both improves the performance and is required by the priority + * inheritance mechanism. + * + *

          The priority inversion problem

          + * The mutexes in ChibiOS/RT implements the full priority + * inheritance mechanism in order handle the priority inversion problem.
          + * When a thread is queued on a mutex, any thread, directly or indirectly, + * holding the mutex gains the same priority of the waiting thread (if their + * priority was not already equal or higher). The mechanism works with any + * number of nested mutexes and any number of involved threads. The algorithm + * complexity (worst case) is N with N equal to the number of nested mutexes. + */ +/** @} */ + +/** + * @defgroup CondVars Condition Variables + * @{ + * Condition Variables and threads synchronization. + *

          Operation mode

          + * The condition variable is a synchronization object meant to be used inside + * a zone protected by a @p Mutex. Mutexes and CondVars together can implement + * a Monitor construct.
          + * In order to use the Condition Variables APIs the @p CH_USE_CONDVARS + * option must be specified in @p chconf.h.

          + */ +/** @} */ + +/** + * @defgroup Events Events + * @{ + * Event Sources and Event Listeners. + *

          Operation mode

          + * An Event Source is a special object that can be signaled by a thread or + * an interrupt service routine. Signaling an Event Source has the effect + * that all the threads registered on the Event Source will receive + * and serve the event.
          + * An unlimited number of Event Sources can exists in a system and each + * thread can listen on an unlimited number of them.
          + * Note that the events can be asynchronously generated but are synchronously + * served, a thread can serve event by calling a @p chEvtWaitXXX() + * API. If an event is generated while a listening thread is not ready to + * serve it then the event becomes "pending" and will be served as soon the + * thread invokes a @p chEvtWaitXXX().
          + * In order to use the Event APIs the @p CH_USE_EVENTS option must be + * specified in @p chconf.h. + */ +/** @} */ + +/** + * @defgroup Messages Synchronous Messages + * @{ + * Synchronous inter-thread messages. + *

          Operation Mode

          + * Synchronoud messages are an easy to use and fast IPC mechanism, threads + * can both serve messages and send messages to other threads, the mechanism + * allows data to be carried in both directions. Data is not copied between + * the client and server threads but just a pointer passed so the exchange + * is very time efficient.
          + * Messages are usually processed in FIFO order but it is possible to process + * them in priority order by specifying CH_USE_MESSAGES_PRIORITY + * in @p chconf.h.
          + * Threads do not need to allocate space for message queues, the mechanism + * just requires two extra pointers in the @p Thread structure (the message + * queue header).
          + * In order to use the Messages APIs the @p CH_USE_MESSAGES option must be + * specified in @p chconf.h. + */ +/** @} */ + +/** + * @defgroup Mailboxes Mailboxes + * @{ + * Asynchronous messages. + *

          Operation mode

          + * A mailbox is an asynchronous communication mechanism.
          + * The following operations are possible on a mailbox: + * - Post: Posts a message on the mailbox in FIFO order. + * - Post Ahead: Posts a message on the mailbox with high priority. + * - Fetch: A message is fetched from the mailbox and removed from + * the queue. + * - Reset: The mailbox is emptied and all the stored messages lost. + * . + * A message is a variable of type msg_t that is guaranteed to have the + * same size of and be compatible with pointers (an explicit cast is needed). + * If larger messages need to be exchanged then a pointer to a structure can + * be posted in the mailbox but the posting side has no predefined way to + * know when the message has been processed. A possible approach is to + * allocate memory (from a memory pool as example) from the posting side and + * free it on the fetching side. Another approach is to set a "done" flag into + * the structure pointed by the message. + */ +/** @} */ + +/** + * @defgroup IOQueues I/O Queues + * @{ + * ChibiOS/RT supports several kinds of queues. The queues are mostly used + * in serial-like device drivers. The device drivers are usually designed to + * have a lower side (lower driver, it is usually an interrupt service + * routine) and an upper side (upper driver, accessed by the application + * threads).
          + * There are several kind of queues:
          + * - Input queue, unidirectional queue where the writer is the + * lower side and the reader is the upper side. + * - Output queue, unidirectional queue where the writer is the + * upper side and the reader is the lower side. + * - Half duplex queue, bidirectional queue where the buffer is shared + * between a receive and a transmit queues. This means that concurrent + * buffered input and output operations are not possible, this is perfectly + * acceptable for a lot of applications however, as example an RS485 driver. + * - Full duplex queue, bidirectional queue where read and write + * operations can happen at the same time. Full duplex queues + * are implemented by pairing an input queue and an output queue together. + * . + * In order to use the I/O queues the @p CH_USE_QUEUES option must + * be specified in @p chconf.h.
          + * In order to use the half duplex queues the @p CH_USE_QUEUES_HALFDUPLEX + * option must be specified in @p chconf.h. + */ +/** @} */ + +/** + * @defgroup Serial Serial Drivers + * @{ + * This module implements a generic full duplex serial driver and a generic + * half duplex serial driver. It uses the I/O Queues for communication between + * the upper and the lower driver and events to notify the application about + * incoming data, outcoming data and other I/O events. + * The module also contains functions that make the implementation of the + * interrupt service routines much easier.
          + * In order to use the serial full duplex driver the + * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h.
          + * In order to use the serial half duplex driver the + * @p CH_USE_SERIAL_HALFDUPLEX option must be specified in @p chconf.h. + */ +/** @} */ + +/** + * @defgroup utilities_library Utilities Library + * @{ + * @brief Utilities Library. + * @details This is a collection of useful library code that is not part of + * the base kernel services. + *

          Notes

          + * The library code does not follow the same naming convention of the + * system APIs in order to make very clear that it is not "core" code.
          + * The main difference is that library code is not formally tested in the + * test suite but through usage in the various demo applications. + */ +/** @} */ + +/** + * @defgroup CPlusPlusLibrary C++ Wrapper + * @{ + * C++ wrapper module. This module allows to use the ChibiOS/RT functionalities + * from C++ as classes and objects rather the traditional "C" APIs. + * + * @ingroup utilities_library + */ +/** @} */ + +/** + * @defgroup event_timer Events Generator Timer + * @{ + * @brief Event Generator Timer. + * @details This timer generates an event at regular intervals. The + * listening threads can use the event to perform time related activities. + * Multiple threads can listen to the same timer. + * + * @ingroup utilities_library + */ +/** @} */ + -- cgit v1.2.3 From 719cf5fa8d01d6660fa85708c03fcf3cdac8bf37 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 7 Mar 2009 10:54:51 +0000 Subject: Implemented handling for constant TIME_ZERO for timeout specifications. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@811 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 75 +++++++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 32 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 602ff796c..d5204d577 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,87 +1,98 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.0 unstable +Kernel: ChibiOS/RT 1.1.1 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** --------------------------------------------------------------------------- ---- Test Case 1 (Ready List, priority enqueuing test #1) +--- Test Case 1.1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2 (Ready List, priority enqueuing test #2) +--- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, FIFO enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4 (Semaphores, timeout test) +--- Test Case 2.2 (Semaphores, timeout test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5 (Mutexes, priority enqueuing test) +--- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (CondVar, signal test) +--- Test Case 4.1 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (CondVar, broadcast test) +--- Test Case 4.2 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Messages, dispatch test) +--- Test Case 5.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Events, wait and broadcast) +--- Test Case 6.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 17296 bytes, not fragmented +--- Test Case 7.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Memory Pools, allocation and enqueuing test) +--- Test Case 8.1 (Heap, allocation and fragmentation test) +--- Size : 17220 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Dynamic APIs, threads creation from heap) +--- Test Case 9.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Test Case 10.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 216993 msgs/S, 433986 ctxswc/S +--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 178662 msgs/S, 357324 ctxswc/S +--- Test Case 11.1 (Benchmark, context switch #1, optimal) +--- Score : 216992 msgs/S, 433984 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 178662 msgs/S, 357324 ctxswc/S +--- Test Case 11.2 (Benchmark, context switch #2, empty ready list) +--- Score : 178663 msgs/S, 357326 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 164734 threads/S +--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 178663 msgs/S, 357326 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 210634 threads/S +--- Test Case 11.4 (Benchmark, threads creation/termination, worst case) +--- Score : 164735 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Test Case 11.5 (Benchmark, threads creation/termination, optimal) +--- Score : 210633 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) --- Score : 55552 reschedulations/S, 333312 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 22 (Benchmark, I/O Queues throughput) ---- Score : 489476 bytes/S +--- Test Case 11.7 (Benchmark, I/O Queues throughput) +--- Score : 489472 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, virtual timers set/reset) +--- Score : 647110 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, semaphores wait/signal) +--- Score : 823324 wait+signal/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 647106 timers/S +--- Test Case 11.10 (Benchmark, mutexes lock/unlock) +--- Score : 601124 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- -- cgit v1.2.3 From e54758e2d3fb3dc5ba5abc093e8063603c5f33fe Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 7 Mar 2009 16:13:25 +0000 Subject: Small size optimization to the scheduler timeout code. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@814 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index d5204d577..e871e0c13 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -60,7 +60,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, context switch #2, empty ready list) ---- Score : 178663 msgs/S, 357326 ctxswc/S +--- Score : 178664 msgs/S, 357328 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) @@ -72,11 +72,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads creation/termination, optimal) ---- Score : 210633 threads/S +--- Score : 210632 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 55552 reschedulations/S, 333312 ctxswc/S +--- Score : 55551 reschedulations/S, 333306 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From 8588e9642d632d6d84e9c48388cfb566ecd4a36e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 8 Mar 2009 08:15:23 +0000 Subject: Fixes to the documentation, swapped the values of constants TIME_INFINITE and TIME_IMMEDIATE (previously TIME_ZERO). git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@816 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 180 ++---------------------------------------- docs/reports/STM32F103-72.txt | 6 +- 2 files changed, 11 insertions(+), 175 deletions(-) (limited to 'docs') diff --git a/docs/index.html b/docs/index.html index 87ea4e9f8..bf4fe4e3f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,172 +1,8 @@ - - - - ChibiOS/RT embedded RTOS homepage - - - - - - - - - - - -
          -

          ChibiOS/RT embedded RTOS homepage

          -
          Current -Versions
          -1.0.1 stable
          -1.1.0 unstable
          --
          - Project on SourceForge
          - Documentation
          - Downloads
          - Contact me
          --
          - History
          - Description
          Current ports
          - Design
          Performance and Size
          - Future
          --
          - Credits
          -
          - SourceForge.net Logo
          -
          - Support This Project

          - - - - -
          -

          History

          -This RTOS is something I wrote back in 1990 for use on boards -equipped -with M68K processors, the development was made on an Atari ST. The OS -worked well for its intended purpose, Internet was not -widespread at that time so the system had a limited use.
          -Recently I decided to release this system, formerly known as mkRTOS, as Free -Software. I cleaned up the code, improved the documentation, ported it -to more modern architectures and it is finally ready.
          -

          Description

          -ChibiOS/RT is designed for embedded applications and it is meant to be -linked with the application code. The design philosophy is to make it -easy to use so I hope that all the APIs are meaningful, easy to -understand and with the parameters you would expect from them.
          The -system offers threads, semaphores, mutexes, messages, events, virtual -timers, -queues, I/O channels with timeout capability and much more. The -Priority Inheritance algorithm is implemented through the Mutexes -mechaninsm, the implementation supports any number of threads and -nested mutexes.
          -

          Current -ports

          -Currently the ChibiOS/RT is ported to the following architectures:
          -
            -
          • ARM7TDMI-LPC214x, the port to other LPC2000 chips -should be trivial. Both ARM and THUMB modes are supported.
          • -
          • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel -chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with -minimal changes.
          • -
          • ARM Cortex-M3, ST Microelectronics STM32.
          • -
          • Atmel AVR: AT90CAN128 and ATmega128 demos included.
          • -
          • Texas Instruments MSP430.
          • -
          • x86 as a Win32 process, this port allows to write -your application on the PC without the need of a development -board/simulator/emulator. Communication ports are simulated over -sockets, you can telnet on the simulator ports for the debug. I am -considering to create a similar simulator into a Linux process.
          • -
          • M68K, this was the original target but it is -currently removed from the source tree because currently I have no way -to test it, my old Atari ST is long dead. It should be very easy to -revive the port to the M68K or Coldfire CPUs.
          • -
          -In general the port is very easy on architectures that can handle well -linked lists, the kernel is entirely reliant on lists so this -is a -very important efficiency factor. 16 and 32 bits architectures are -always fine, 8 bit architectures should be evaluated case by case but -are not ruled out, something like an H8 would not have problems. You -could port it -to a Z80/Z180 (I considered that too, and made tests using the SDCC -compiler) but the -resulting code is not much efficient because the instruction set is -missing the indirect addressing for 16 bits values that is important -for efficient linked lists traversal. -

          Design

          -The system was designed to be stable and avoid trouble as much as -possible so some rules were set:
          -
            -
          • No arrays or tables, I don't like to have to -configure limits -for data structures, only use lists or other dynamic data structures. -See -the Documentation and -the demos.
          • -
          • No memory allocation inside the kernel, an allocator -can be -troublesome for RT applications. All the data structures are declared -in the application code and not allocated from a shared system heap. -This does not prevent the application code to use an allocator if -needed, it is just the kernel that does not require it.
          • -
          • No weird macros in the user code, everything should -look -and feel like normal C code with a normal main() function.
          • -
          • Encapsulate all the things that need changes while -porting -the OS to new architectures in few template files, fill the code into -the templates and the port is done.

          Performance and Size

          ChibiOS/RT -has a wide set of APIs but all the subsystems can be included or -removed from the memory image by editing the kernel configuration file -chconf.h. On ARM processors, the kernel size starts at just -1.5KiB depending on the included subsystems and the choosen -compiler optimizations.
          As reference, a kernel configured with...
          • System startup code
          • Chip initialization code
          • Multithreading APIs
          • Virtual Timer APIs
          • Semaphore APIs
          • System time + Sleep API
          • Suspend/Resume APIs
          • Small main() program with flashing LEDs demo and 3 threads
          ...just takes 2.11KiB of program space when compiled using THUMB code and space optimizations. Note that this is quite a typical configuration -not a minimal one. A kernel configured with all the options and -optimized for speed takes about 6KiB. See the documentation about the -many available subsystems.

          About performance, on a 48MHz LPC -ARM7 processor the kernel is capable of context switch time ranging -from 3 to 6 microseconds depending on the code type (ARM/THUMB) and the -choosen compiler/kernel optimizations. In the distribution is included -a spreadsheet with the exact values and the various space/time trade -offs.
          The context switch time is *measured* using 2 threads -exchanging messages and doing *real* work, it is not a calculated peak -value. See the demo code, it includes the benchmark. -

          Future

          -Expect:
            - -
          • Documentation improvements.
          • - -
          • Ports to more architectures/boards when I am able to -put my hands on new hardware/tools.
          • -
          • More demos.
          • -
          • Creation of new subsystems.
          • -
          • Integration with -existing other free projects like: TCP/IP stacks, File Systems etc.
          • -
          -

          Credits

          -ChibiOS/RT is 100% proprietary software free and was created using all the following FOSS projects:
          - -
          - - \ No newline at end of file + + + + + + + + diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index e871e0c13..f7f0bcda0 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -60,7 +60,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, context switch #2, empty ready list) ---- Score : 178664 msgs/S, 357328 ctxswc/S +--- Score : 178663 msgs/S, 357326 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) @@ -72,7 +72,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads creation/termination, optimal) ---- Score : 210632 threads/S +--- Score : 210633 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) @@ -92,7 +92,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, mutexes lock/unlock) ---- Score : 601124 lock+unlock/S +--- Score : 601120 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- -- cgit v1.2.3 From 5a176878c4e9ab7adcdab0e28455b22ffde253a2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 8 Mar 2009 09:16:19 +0000 Subject: Updated test reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@817 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 71 ++++++++++++++++++++--------------- docs/reports/LPC2148-48-THUMB.txt | 77 ++++++++++++++++++++++---------------- docs/reports/MSP430F1611-0.75.txt | 59 +++++++++++++++++------------ docs/reports/STM32F103-48.txt | 79 +++++++++++++++++++++------------------ docs/reports/STM32F103-72.txt | 4 +- docs/reports/build.txt | 48 ++++++++++++++++++++++++ docs/reports/kernel.txt | 44 +++++++++++----------- docs/src/main.dox | 2 +- 8 files changed, 236 insertions(+), 148 deletions(-) create mode 100644 docs/reports/build.txt (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index 39e2d19e0..ba4b41fb9 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,87 +1,98 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.0 unstable +Kernel: ChibiOS/RT 1.1.1 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *************************************************************************** --------------------------------------------------------------------------- ---- Test Case 1 (Ready List, priority enqueuing test #1) +--- Test Case 1.1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2 (Ready List, priority enqueuing test #2) +--- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, FIFO enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4 (Semaphores, timeout test) +--- Test Case 2.2 (Semaphores, timeout test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5 (Mutexes, priority enqueuing test) +--- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (CondVar, signal test) +--- Test Case 4.1 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (CondVar, broadcast test) +--- Test Case 4.2 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Messages, dispatch test) +--- Test Case 5.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Events, wait and broadcast) +--- Test Case 6.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 27668 bytes, not fragmented +--- Test Case 7.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Memory Pools, allocation and enqueuing test) +--- Test Case 8.1 (Heap, allocation and fragmentation test) +--- Size : 27500 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Dynamic APIs, threads creation from heap) +--- Test Case 9.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Test Case 10.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 144452 msgs/S, 288904 ctxswc/S +--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 111979 msgs/S, 223958 ctxswc/S +--- Test Case 11.1 (Benchmark, context switch #1, optimal) +--- Score : 144456 msgs/S, 288912 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) +--- Test Case 11.2 (Benchmark, context switch #2, empty ready list) --- Score : 111978 msgs/S, 223956 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 111977 msgs/S, 223954 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, threads creation/termination, worst case) --- Score : 103047 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 141463 threads/S +--- Test Case 11.5 (Benchmark, threads creation/termination, optimal) +--- Score : 141461 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) --- Score : 36006 reschedulations/S, 216036 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 22 (Benchmark, I/O Queues throughput) ---- Score : 341232 bytes/S +--- Test Case 11.7 (Benchmark, I/O Queues throughput) +--- Score : 341228 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, virtual timers set/reset) +--- Score : 309504 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, semaphores wait/signal) +--- Score : 623000 wait+signal/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 309500 timers/S +--- Test Case 11.10 (Benchmark, mutexes lock/unlock) +--- Score : 392752 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index b6cd6ed25..728b58a31 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,87 +1,98 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.0 unstable +Kernel: ChibiOS/RT 1.1.1 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *************************************************************************** --------------------------------------------------------------------------- ---- Test Case 1 (Ready List, priority enqueuing test #1) +--- Test Case 1.1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2 (Ready List, priority enqueuing test #2) +--- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, FIFO enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4 (Semaphores, timeout test) +--- Test Case 2.2 (Semaphores, timeout test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5 (Mutexes, priority enqueuing test) +--- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (CondVar, signal test) +--- Test Case 4.1 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (CondVar, broadcast test) +--- Test Case 4.2 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Messages, dispatch test) +--- Test Case 5.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Events, wait and broadcast) +--- Test Case 6.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 27668 bytes, not fragmented +--- Test Case 7.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Memory Pools, allocation and enqueuing test) +--- Test Case 8.1 (Heap, allocation and fragmentation test) +--- Size : 27500 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Dynamic APIs, threads creation from heap) +--- Test Case 9.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Test Case 10.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 101441 msgs/S, 202882 ctxswc/S +--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 85780 msgs/S, 171560 ctxswc/S +--- Test Case 11.1 (Benchmark, context switch #1, optimal) +--- Score : 102975 msgs/S, 205950 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 85779 msgs/S, 171558 ctxswc/S +--- Test Case 11.2 (Benchmark, context switch #2, empty ready list) +--- Score : 85476 msgs/S, 170952 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 82665 threads/S +--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 85475 msgs/S, 170950 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 116537 threads/S +--- Test Case 11.4 (Benchmark, threads creation/termination, worst case) +--- Score : 83100 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 21 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28871 reschedulations/S, 173226 ctxswc/S +--- Test Case 11.5 (Benchmark, threads creation/termination, optimal) +--- Score : 113766 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 22 (Benchmark, I/O Queues throughput) ---- Score : 243632 bytes/S +--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28629 reschedulations/S, 171774 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 273044 timers/S +--- Test Case 11.7 (Benchmark, I/O Queues throughput) +--- Score : 262112 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, virtual timers set/reset) +--- Score : 302468 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, semaphores wait/signal) +--- Score : 350724 wait+signal/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, mutexes lock/unlock) +--- Score : 249208 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 42d8dda1d..1c0c7a160 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,88 +1,99 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.0 unstable +Kernel: ChibiOS/RT 1.1.1 unstable Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz *************************************************************************** --------------------------------------------------------------------------- ---- Test Case 1 (Ready List, priority enqueuing test #1) +--- Test Case 1.1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2 (Ready List, priority enqueuing test #2) +--- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, FIFO enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4 (Semaphores, timeout test) +--- Test Case 2.2 (Semaphores, timeout test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5 (Mutexes, priority enqueuing test) +--- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (CondVar, signal test) +--- Test Case 4.1 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (CondVar, broadcast test) +--- Test Case 4.2 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Messages, dispatch test) +--- Test Case 5.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Events, wait and broadcast) +--- Test Case 6.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Heap, allocation and fragmentation test) +--- Test Case 7.1 (Events, wait and broadcast) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 8.1 (Heap, allocation and fragmentation test) --- Size : 508 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Memory Pools, allocation and enqueuing test) +--- Test Case 9.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Dynamic APIs, threads creation from heap) +--- Test Case 10.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, context switch #1, optimal) +--- Test Case 11.1 (Benchmark, context switch #1, optimal) --- Score : 1942 msgs/S, 3884 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, context switch #2, empty ready list) +--- Test Case 11.2 (Benchmark, context switch #2, empty ready list) --- Score : 1611 msgs/S, 3222 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) +--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) --- Score : 1611 msgs/S, 3222 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, threads creation/termination, worst case) +--- Test Case 11.4 (Benchmark, threads creation/termination, worst case) --- Score : 1334 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, threads creation/termination, optimal) +--- Test Case 11.5 (Benchmark, threads creation/termination, optimal) --- Score : 1720 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) --- Score : 498 reschedulations/S, 2988 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 22 (Benchmark, I/O Queues throughput) +--- Test Case 11.7 (Benchmark, I/O Queues throughput) --- Score : 5432 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 23 (Benchmark, virtual timers set/reset) +--- Test Case 11.8 (Benchmark, virtual timers set/reset) --- Score : 5632 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, semaphores wait/signal) +--- Score : 13920 wait+signal/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, mutexes lock/unlock) +--- Score : 7380 lock+unlock/S +--- Result: SUCCESS +--------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 3e4411385..cfe85c3b8 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -1,91 +1,98 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 final +Kernel: ChibiOS/RT 1.1.1 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=48, ACR=0x11 (1 wait state) *************************************************************************** -***************************** -*** ChibiOS/RT test suite *** -***************************** - --------------------------------------------------------------------------- ---- Test Case 1 (Ready List, priority enqueuing test #1) +--- Test Case 1.1 (Ready List, priority enqueuing test #1) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2 (Ready List, priority enqueuing test #2) +--- Test Case 2.1 (Semaphores, FIFO enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Test Case 2.2 (Semaphores, timeout test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4 (Semaphores, timeout test) +--- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5 (Mutexes, priority enqueuing test) +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Test Case 4.1 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (CondVar, signal test) +--- Test Case 4.2 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (CondVar, broadcast test) +--- Test Case 5.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Messages, dispatch test) +--- Test Case 6.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Events, wait and broadcast) +--- Test Case 7.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 17284 bytes, not fragmented +--- Test Case 8.1 (Heap, allocation and fragmentation test) +--- Size : 17220 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Memory Pools, allocation and enqueuing test) +--- Test Case 9.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Dynamic APIs, threads creation from heap) +--- Test Case 10.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 160572 msgs/S, 321144 ctxswc/S +--- Test Case 11.1 (Benchmark, context switch #1, optimal) +--- Score : 160570 msgs/S, 321140 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 134029 msgs/S, 268058 ctxswc/S +--- Test Case 11.2 (Benchmark, context switch #2, empty ready list) +--- Score : 134030 msgs/S, 268060 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 134029 msgs/S, 268058 ctxswc/S +--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 134030 msgs/S, 268060 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 119936 threads/S +--- Test Case 11.4 (Benchmark, threads creation/termination, worst case) +--- Score : 122385 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 151423 threads/S +--- Test Case 11.5 (Benchmark, threads creation/termination, optimal) +--- Score : 155364 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 21 (Benchmark, mass reschedulation, 5 threads) +--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) --- Score : 42162 reschedulations/S, 252972 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 22 (Benchmark, I/O Queues throughput) ---- Score : 377572 bytes/S +--- Test Case 11.7 (Benchmark, I/O Queues throughput) +--- Score : 377568 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, virtual timers set/reset) +--- Score : 525902 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, semaphores wait/signal) +--- Score : 676444 wait+signal/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 525896 timers/S +--- Test Case 11.10 (Benchmark, mutexes lock/unlock) +--- Score : 489620 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index f7f0bcda0..7af64a3d4 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -60,7 +60,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, context switch #2, empty ready list) ---- Score : 178663 msgs/S, 357326 ctxswc/S +--- Score : 178664 msgs/S, 357328 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) @@ -92,7 +92,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, mutexes lock/unlock) ---- Score : 601120 lock+unlock/S +--- Score : 601124 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/build.txt b/docs/reports/build.txt new file mode 100644 index 000000000..0e3da2eeb --- /dev/null +++ b/docs/reports/build.txt @@ -0,0 +1,48 @@ +Default maximum settings + * Building...OK + * Testing...OK +CH_OPTIMIZE_SPEED=FALSE + * Building...OK + * Testing...OK +CH_USE_NESTED_LOCKS=TRUE + * Building...OK + * Testing...OK +CH_USE_ROUNDROBIN=FALSE + * Building...OK + * Testing...OK +CH_USE_SEMAPHORES_PRIORITY=TRUE + * Building...OK + * Testing...OK +CH_USE_SEMAPHORES_TIMEOUT=FALSE + * Building...OK + * Testing...OK +CH_USE_CONDVARS_TIMEOUT=FALSE + * Building...OK + * Testing...OK +CH_USE_EVENTS_TIMEOUT=FALSE + * Building...OK + * Testing...OK +CH_USE_MESSAGES_PRIORITY=TRUE + * Building...OK + * Testing...OK +CH_USE_DYNAMIC=FALSE + * Building...OK + * Testing...OK +CH_DBG_ENABLE_CHECKS=TRUE + * Building...OK + * Testing...OK +CH_DBG_ENABLE_ASSERTS=TRUE + * Building...OK + * Testing...OK +CH_DBG_ENABLE_TRACE=TRUE + * Building...OK + * Testing...OK +CH_DBG_ENABLE_STACK_CHECK=TRUE + * Building...OK + * Testing...OK +CH_DBG_FILL_THREADS=TRUE + * Building...OK + * Testing...OK +CH_DBG_THREADS_PROFILING=TRUE + * Building...OK + * Testing...OK diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 9014c2418..a6a2a6fb6 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,131 +2,131 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -Kernel Size = 5648 +Kernel Size = 6016 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -Kernel Size = 1296 +Kernel Size = 1280 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -Kernel Size = 5408 +Kernel Size = 5760 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -Kernel Size = 1344 +Kernel Size = 1312 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 5056 +Kernel Size = 5408 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1264 +Kernel Size = 1248 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -Kernel Size = 8192 +Kernel Size = 8656 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -Kernel Size = 2000 +Kernel Size = 1968 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -Kernel Size = 7808 +Kernel Size = 8288 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -Kernel Size = 1904 +Kernel Size = 1872 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 7328 +Kernel Size = 7792 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1856 +Kernel Size = 1840 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5376 +Kernel Size = 5680 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1376 +Kernel Size = 1360 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5152 +Kernel Size = 5488 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1344 +Kernel Size = 1312 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4832 +Kernel Size = 5152 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1280 +Kernel Size = 1264 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 5696 +Kernel Size = 6092 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1136 +Kernel Size = 1116 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 5680 +Kernel Size = 6076 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1136 +Kernel Size = 1116 diff --git a/docs/src/main.dox b/docs/src/main.dox index 58a96870d..a17c4e008 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -37,7 +37,7 @@ * - 128 priority levels. Multiple threads at the same priority level allowed. * - Round robin scheduling for threads at the same priority level. * - Offers threads, virtual timers, semaphores, mutexes, condvars, - * event flags, messages, I/O queues. + * event flags, messages, mailboxes, I/O queues. * - No static setup at compile time, there is no need to configure a maximum * number of all the above objects. * - PC simulator target included, the development can be done on the PC -- cgit v1.2.3 From d730c17bf29d98d28969a02c6e98364c4815cdf2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 8 Mar 2009 15:14:11 +0000 Subject: Added architecture diagram to the documentation resources. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@819 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/arch.png | Bin 0 -> 28446 bytes docs/rsc/arch.svg | 483 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 483 insertions(+) create mode 100644 docs/rsc/arch.png create mode 100644 docs/rsc/arch.svg (limited to 'docs') diff --git a/docs/rsc/arch.png b/docs/rsc/arch.png new file mode 100644 index 000000000..4b075d80e Binary files /dev/null and b/docs/rsc/arch.png differ diff --git a/docs/rsc/arch.svg b/docs/rsc/arch.svg new file mode 100644 index 000000000..5af8bd4fa --- /dev/null +++ b/docs/rsc/arch.svg @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + Hardware + + + + Port Code + + + + Threads + + + + Mutexes Condvars + + + + Virtual Timers + + + + Messages + + + + Mailboxes + + + + Semaphores + + + + I/O Queues + + + + Event Flags + + + + Scheduler + + + + Interrupts Handling + + + + Device Drivers and Application Code + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From 773f580e37e9248096bc25eb0e64af292a5f53bd Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 8 Mar 2009 15:58:28 +0000 Subject: Added architecture diagram to the concepts page. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@820 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/concepts.dox | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 360e5f4f2..d8d874bac 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -18,9 +18,19 @@ */ /** - * @page concepts Concepts + * @page concepts Concepts and Architecture * @{ * @brief ChibiOS/RT Concepts and Architecture + * - @ref naming + * - @ref api_suffixes + * - @ref interrupt_classes + * - @ref system_states + * - @ref scheduling + * - @ref thread_states + * - @ref priority + * - @ref warea + * - @ref architecture + * . * @section naming Naming Conventions * ChibiOS/RT APIs are all named following this convention: * @a ch\\\(). @@ -218,7 +228,7 @@ * (inclusive) are reserved. This is the highest numerical value of the * priorities space. * . - * @section warea Thread Working Area + * @section warea Threads Working Area * Each thread has its own stack, a Thread structure and some preemption * areas. All the structures are allocated into a "Thread Working Area", * a thread private heap, usually statically declared in your code. @@ -237,5 +247,18 @@ * . * See the @ref Core documentation for details, the area may change on * the various ports and some structures may not be present (or be zero-sized). + * + * @section architecture Architectural Diagram + * The following diagram shows the relationships among the hardware, the + * various ChibiOS/RT subsystems and the application code. + *

          + * @image html arch.png + *
          + * In this diagram the device drivers are at the same level of the application + * code because both have access to the system services and can directly + * access the hardware.
          + * Of course it is possible to create in the application architecture several + * extra layers, this is just not part of the kernel architecture but part of + * the overall system design. */ /** @} */ -- cgit v1.2.3 From 18a4e9013ef9d822c9b6a35cbac4cd3eea20eb51 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 8 Mar 2009 20:13:58 +0000 Subject: Updated architecture diagram. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@824 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/arch.png | Bin 28446 -> 31749 bytes docs/rsc/arch.svg | 64 ++++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 48 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/rsc/arch.png b/docs/rsc/arch.png index 4b075d80e..4a0551e44 100644 Binary files a/docs/rsc/arch.png and b/docs/rsc/arch.png differ diff --git a/docs/rsc/arch.svg b/docs/rsc/arch.svg index 5af8bd4fa..a7be589e0 100644 --- a/docs/rsc/arch.svg +++ b/docs/rsc/arch.svg @@ -71,7 +71,7 @@ inkscape:pageshadow="2" inkscape:zoom="2.5" inkscape:cx="381.19461" - inkscape:cy="372.32275" + inkscape:cy="184.85357" inkscape:document-units="px" inkscape:current-layer="layer1" inkscape:window-width="1150" @@ -102,7 +102,8 @@ inkscape:groupmode="layer" id="layer1"> + id="g4793" + transform="translate(0.5385284,49.997253)"> Hardware + id="g3242"> Port Code + id="tspan2259" + y="880.0741" + x="304.2749" + sodipodi:role="line">System Abstraction Layer + d="M 200,582.36218 L 200,527.36218 L 590,527.36218 L 590,942.36218 L 560,942.36218 L 560,582.36218 L 200,582.36218 z " + style="fill:#d5d5ff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="ccccccc" /> + + + Port Code + + + -- cgit v1.2.3 From da4f9beaee8f1f8f344012b4d9a122462a6c802e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 10 Mar 2009 15:31:58 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@827 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/concepts.dox | 6 +++--- docs/src/timing.dox | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index d8d874bac..8ef626c01 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -34,9 +34,9 @@ * @section naming Naming Conventions * ChibiOS/RT APIs are all named following this convention: * @a ch\\\(). - * The possible groups are: @a Sys, @a Sch, @a VT, @a Thd, @a Sem, @a Mtx, - * @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a HQ, @a FDD, @a HDD, @a Dbg, - * @a Heap, @a Pool. + * The possible groups are: @a Sys, @a Sch, @a Time @a VT, @a Thd, @a Sem, + * @a Mtx, @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a HQ, @a FDD, @a HDD, + * @a Dbg, @a Heap, @a Pool. * * @section api_suffixes API Names Suffixes * The suffix can be one of the following: diff --git a/docs/src/timing.dox b/docs/src/timing.dox index 9fd19545d..7732bef0b 100644 --- a/docs/src/timing.dox +++ b/docs/src/timing.dox @@ -46,7 +46,7 @@ msg_t my_thread(void *param) { * @code msg_t my_thread(void *param) { - systick_t time = chSysGetTime(); /* T0 */ + systick_t time = chTimeNow(); /* T0 */ while (TRUE) { time += MS2ST(1000); /* Next deadline */ do_something(); -- cgit v1.2.3 From 89788b3234417d8aea3d5e34d78bf24c4e1da444 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 11 Mar 2009 14:24:02 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@831 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 1 + docs/src/design.dox | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 docs/src/design.dox (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index a0426f41c..66268f9d7 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -29,6 +29,7 @@ * - @subpage article_jitter * - @subpage article_timing * - @subpage article_portguide + * - @subpage article_design * . */ /** @} */ diff --git a/docs/src/design.dox b/docs/src/design.dox new file mode 100644 index 000000000..4b6780a7a --- /dev/null +++ b/docs/src/design.dox @@ -0,0 +1,112 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_design Designing an embedded application + * @{ + * ChibiOS/RT offers a variety of mechanisms and primitives, often it is + * better to focus on a single approach for the system design and use only + * part of the available subsystems.
          + * When designing your application you may choose among several design + * alternatives: + * - @ref nothreads + * - @ref messpass + * - @ref thdshared + * - @ref thdmixed + * . + * @section nothreads Single threaded superloop + * Correct, single thread, it is not mandatory to use the multithreading + * features of the OS. You may choose to implements everything as a complex + * state machine handled in the main thread alone. In this scenario the OS + * still offers a variety of useful mechanisms: + * - Interrupt handling. + * - Virtual Timers, very useful in state machines in order to handle time + * triggered state transitions. + * - Power management. + * - Event Flags and/or Semaphores as communication mechanism between + * interrupt handlers and the main. + * - I/O queues. + * - Memory allocation. + * - System time. + * . + * In this configuration the kernel size is really minimal, everything else + * is disabled and takes no space. You always have the option to use more + * threads at a later time in order to perform separate tasks. + * + * @section messpass Message Passing + * In this scenario there are multiple threads in the system that never + * share data, everything is done by exchanging messages. Each thread + * represents a service, the other threads can request the service by sending + * a message.
          + * In this scenario the following subsystems can be used: + * - Synchronous Messages. + * - Mailboxes (asynchronous message queues). + * . + * The advantage of this approach is to not have to deal with mutual exclusion, + * each functionality is encapsulated into a server thread that sequentially + * serves all the requests. As example, you can have the following scenario: + * - A buffers allocator server. + * - A disk driver server. + * - A file system server. + * - One or more client threads. + * . + * Example: + *

          + * @dot + digraph example { + rankdir="RL"; + node [shape=rectangle, fontname=Helvetica, fontsize=8, fixedsize="true", + width="1.2", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + disk [label="Server Thread\nDisk Driver"]; + buf [label="Server Thread\nBuffers Allocator"]; + fs [label="Client&Server Thread\nFile System"]; + cl1 [label="Client Thread"]; + cl2 [label="Client Thread"]; + cl3 [label="Client Thread"]; + fs -> disk [label="I/O request", constraint=false]; + disk -> fs [label="status", style="dotted", constraint=false]; + fs -> buf [label="buffer request"]; + buf -> fs [label="buffer", style="dotted"]; + cl1 -> fs [label="FS transaction"]; + fs -> cl1 [label="result", style="dotted"]; + cl2 -> fs [label="FS transaction"]; + fs -> cl2 [label="result", style="dotted"]; + cl3 -> fs [label="FS transaction"]; + fs -> cl3 [label="result", style="dotted"]; + } + * @enddot + *

          + * Note that the threads should not exchange complex messages but just + * pointers to data structures in order to optimize the performance. + * Also note that a thread can be both client and server at the same + * time, the FS service in the previous scenario as example. + * + * @section thdshared Threads sharing data + * This is the most common scenario, several threads have access to both their + * private data and shared data. Synchronization happens with one of the + * mechanisms described in the @ref article_mutual_exclusion article.
          + * + * @section thdmixed Mixed + * All the above approaches can be freely mixed in a single application but + * usually I prefer to choose a way and consistently design the system around + * it. The OS is a toolbox that offers a lot of tools but you don't have + * to use them all necessarily. + */ +/** @} */ -- cgit v1.2.3 From b437b25dd0697cc8352f81cc695f033f850b57e2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 11 Mar 2009 20:33:17 +0000 Subject: Updated version number. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@832 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 81066b6c9..c0b582028 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.1.1unstable +PROJECT_NUMBER = 1.1.2unstable # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From f43dbdc61b885a617a0e8d73bf565e48ee4d96ba Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 12 Mar 2009 18:46:53 +0000 Subject: Cortex-M3 optimization. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@834 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 49 +++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 23 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 7af64a3d4..b8e323b18 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -27,71 +27,74 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.1 (CondVar, signal test) +--- Test Case 3.4 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.2 (CondVar, broadcast test) +--- Test Case 3.5 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5.1 (Messages, dispatch test) +--- Test Case 3.6 (CondVar, inheritance boost test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6.1 (Mailboxes, queuing and timeouts) +--- Test Case 4.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7.1 (Events, wait and broadcast) +--- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8.1 (Heap, allocation and fragmentation test) ---- Size : 17220 bytes, not fragmented +--- Test Case 6.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9.1 (Memory Pools, allocation and enqueuing test) +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Size : 17236 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.1 (Dynamic APIs, threads creation from heap) +--- Test Case 8.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, context switch #1, optimal) +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.1 (Benchmark, context switch #1, optimal) --- Score : 216992 msgs/S, 433984 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, context switch #2, empty ready list) ---- Score : 178664 msgs/S, 357328 ctxswc/S +--- Test Case 10.2 (Benchmark, context switch #2, empty ready list) +--- Score : 178663 msgs/S, 357326 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) --- Score : 178663 msgs/S, 357326 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, threads creation/termination, worst case) ---- Score : 164735 threads/S +--- Test Case 10.4 (Benchmark, threads creation/termination, worst case) +--- Score : 168598 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads creation/termination, optimal) ---- Score : 210633 threads/S +--- Test Case 10.5 (Benchmark, threads creation/termination, optimal) +--- Score : 216994 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) +--- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) --- Score : 55551 reschedulations/S, 333306 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, I/O Queues throughput) +--- Test Case 10.7 (Benchmark, I/O Queues throughput) --- Score : 489472 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, virtual timers set/reset) +--- Test Case 10.8 (Benchmark, virtual timers set/reset) --- Score : 647110 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, semaphores wait/signal) +--- Test Case 10.9 (Benchmark, semaphores wait/signal) --- Score : 823324 wait+signal/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, mutexes lock/unlock) +--- Test Case 10.10 (Benchmark, mutexes lock/unlock) --- Score : 601124 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- -- cgit v1.2.3 From a93e28fe3ded7af8deca9da9dea8d718e2d3a993 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 14 Mar 2009 13:33:28 +0000 Subject: Documentation fixes. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@850 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index c0b582028..17e5f2ccf 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1311,6 +1311,7 @@ PREDEFINED = __DOXYGEN__ \ CH_USE_MESSAGES_EVENT=1 \ CH_USE_DYNAMIC=1 \ CH_DBG_ENABLE_ASSERTS=1 \ + CH_DBG_ENABLE_CHECKS=1 \ CH_DBG_ENABLE_TRACE=1 \ CH_DBG_ENABLE_STACK_CHECK=1 \ CH_DBG_FILL_THREADS=1 \ -- cgit v1.2.3 From 07e6ae3a59c7191facaaada4b4549587ae5ed0fa Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 18 Mar 2009 19:53:33 +0000 Subject: Fixed bug 2692510 and some other small documentation errors. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@852 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/concepts.dox | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 8ef626c01..cc768052e 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -62,7 +62,7 @@ * subject to jitter, see @ref article_jitter. Such sources are not * supported on all the architectures.
          * Fast interrupts are not allowed to invoke any operating system API from - * within their handlers. Fast interrupt sources may however pend a lower + * within their handlers. Fast interrupt sources may, however, pend a lower * priority regular interrupt where access to the operating system is * possible. * - Non Maskable Interrupts. Non maskable interrupt sources are @@ -110,7 +110,7 @@ * and an error is detected or after explicitly invoking * @p chSysHalt(). * . - * Note that the above state are just Logical States that may have no + * Note that the above states are just Logical States that may have no * real associated machine state on some architectures. The following diagram * shows the possible transitions between the states: * -- cgit v1.2.3 From 6ac877739b18230c6630f82da3265c8d98a766a2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 19 Mar 2009 09:42:03 +0000 Subject: Updated test reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@855 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 78 +++++++++++++++++++++++---------------- docs/reports/LPC2148-48-ARM.txt | 67 +++++++++++++++++---------------- docs/reports/LPC2148-48-THUMB.txt | 65 ++++++++++++++++---------------- docs/reports/MSP430F1611-0.75.txt | 61 +++++++++++++++--------------- docs/reports/STM32F103-48.txt | 59 +++++++++++++++-------------- docs/reports/STM32F103-72.txt | 18 ++++----- docs/reports/kernel.txt | 36 +++++++++--------- 7 files changed, 205 insertions(+), 179 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 157fcd613..2c89d832b 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -1,87 +1,101 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 final +Kernel: ChibiOS/RT 1.1.2 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *************************************************************************** --------------------------------------------------------------------------- ---- Test Case 1 (Ready List, priority enqueuing test #1) +--- Test Case 1.1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2 (Ready List, priority enqueuing test #2) +--- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4 (Semaphores, timeout test) +--- Test Case 2.2 (Semaphores, timeout test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5 (Mutexes, priority enqueuing test) +--- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (CondVar, signal test) +--- Test Case 3.4 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (CondVar, broadcast test) +--- Test Case 3.5 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Messages, dispatch test) +--- Test Case 3.6 (CondVar, inheritance boost test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Events, wait and broadcast) +--- Test Case 4.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 62272 bytes, not fragmented +--- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Memory Pools, allocation and enqueuing test) +--- Test Case 6.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Dynamic APIs, threads creation from heap) +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Size : 62260 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Test Case 8.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 114945 msgs/S, 229890 ctxswc/S +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 90221 msgs/S, 180442 ctxswc/S +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 90221 msgs/S, 180442 ctxswc/S +--- Test Case 10.1 (Benchmark, context switch #1, optimal) +--- Score : 115500 msgs/S, 231000 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 76508 threads/S +--- Test Case 10.2 (Benchmark, context switch #2, empty ready list) +--- Score : 90222 msgs/S, 180444 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 103055 threads/S +--- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 90222 msgs/S, 180444 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 21 (Benchmark, mass reschedulation, 5 threads) ---- Score : 27964 reschedulations/S, 167784 ctxswc/S +--- Test Case 10.4 (Benchmark, threads creation/termination, worst case) +--- Score : 79431 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 22 (Benchmark, I/O Queues throughput) +--- Test Case 10.5 (Benchmark, threads creation/termination, optimal) +--- Score : 108923 threads/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28045 reschedulations/S, 168270 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.7 (Benchmark, I/O Queues throughput) --- Score : 240464 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 264208 timers/S +--- Test Case 10.8 (Benchmark, virtual timers set/reset) +--- Score : 264212 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.9 (Benchmark, semaphores wait/signal) +--- Score : 466552 wait+signal/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.10 (Benchmark, mutexes lock/unlock) +--- Score : 322036 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index ba4b41fb9..fc77356eb 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.1 unstable +Kernel: ChibiOS/RT 1.1.2 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -12,7 +12,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 2.2 (Semaphores, timeout test) @@ -27,72 +27,75 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.1 (CondVar, signal test) +--- Test Case 3.4 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.2 (CondVar, broadcast test) +--- Test Case 3.5 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5.1 (Messages, dispatch test) +--- Test Case 3.6 (CondVar, inheritance boost test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6.1 (Mailboxes, queuing and timeouts) +--- Test Case 4.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7.1 (Events, wait and broadcast) +--- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8.1 (Heap, allocation and fragmentation test) ---- Size : 27500 bytes, not fragmented +--- Test Case 6.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9.1 (Memory Pools, allocation and enqueuing test) +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Size : 27516 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.1 (Dynamic APIs, threads creation from heap) +--- Test Case 8.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, context switch #1, optimal) ---- Score : 144456 msgs/S, 288912 ctxswc/S +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, context switch #2, empty ready list) ---- Score : 111978 msgs/S, 223956 ctxswc/S +--- Test Case 10.1 (Benchmark, context switch #1, optimal) +--- Score : 145329 msgs/S, 290658 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 111977 msgs/S, 223954 ctxswc/S +--- Test Case 10.2 (Benchmark, context switch #2, empty ready list) +--- Score : 112506 msgs/S, 225012 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, threads creation/termination, worst case) ---- Score : 103047 threads/S +--- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 112507 msgs/S, 225014 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads creation/termination, optimal) ---- Score : 141461 threads/S +--- Test Case 10.4 (Benchmark, threads creation/termination, worst case) +--- Score : 103493 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36006 reschedulations/S, 216036 ctxswc/S +--- Test Case 10.5 (Benchmark, threads creation/termination, optimal) +--- Score : 142303 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, I/O Queues throughput) ---- Score : 341228 bytes/S +--- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) +--- Score : 36169 reschedulations/S, 217014 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, virtual timers set/reset) ---- Score : 309504 timers/S +--- Test Case 10.7 (Benchmark, I/O Queues throughput) +--- Score : 341232 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, semaphores wait/signal) ---- Score : 623000 wait+signal/S +--- Test Case 10.8 (Benchmark, virtual timers set/reset) +--- Score : 309730 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, mutexes lock/unlock) ---- Score : 392752 lock+unlock/S +--- Test Case 10.9 (Benchmark, semaphores wait/signal) +--- Score : 622992 wait+signal/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.10 (Benchmark, mutexes lock/unlock) +--- Score : 386404 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 728b58a31..b8756436d 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.1 unstable +Kernel: ChibiOS/RT 1.1.2 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -12,7 +12,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 2.2 (Semaphores, timeout test) @@ -27,72 +27,75 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.1 (CondVar, signal test) +--- Test Case 3.4 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.2 (CondVar, broadcast test) +--- Test Case 3.5 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5.1 (Messages, dispatch test) +--- Test Case 3.6 (CondVar, inheritance boost test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6.1 (Mailboxes, queuing and timeouts) +--- Test Case 4.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7.1 (Events, wait and broadcast) +--- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8.1 (Heap, allocation and fragmentation test) ---- Size : 27500 bytes, not fragmented +--- Test Case 6.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9.1 (Memory Pools, allocation and enqueuing test) +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Size : 27516 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.1 (Dynamic APIs, threads creation from heap) +--- Test Case 8.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, context switch #1, optimal) ---- Score : 102975 msgs/S, 205950 ctxswc/S +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, context switch #2, empty ready list) ---- Score : 85476 msgs/S, 170952 ctxswc/S +--- Test Case 10.1 (Benchmark, context switch #1, optimal) +--- Score : 103643 msgs/S, 207286 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 85475 msgs/S, 170950 ctxswc/S +--- Test Case 10.2 (Benchmark, context switch #2, empty ready list) +--- Score : 86249 msgs/S, 172498 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, threads creation/termination, worst case) ---- Score : 83100 threads/S +--- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 86250 msgs/S, 172500 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads creation/termination, optimal) ---- Score : 113766 threads/S +--- Test Case 10.4 (Benchmark, threads creation/termination, worst case) +--- Score : 83828 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28629 reschedulations/S, 171774 ctxswc/S +--- Test Case 10.5 (Benchmark, threads creation/termination, optimal) +--- Score : 114584 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, I/O Queues throughput) ---- Score : 262112 bytes/S +--- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28819 reschedulations/S, 172914 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, virtual timers set/reset) ---- Score : 302468 timers/S +--- Test Case 10.7 (Benchmark, I/O Queues throughput) +--- Score : 262116 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, semaphores wait/signal) +--- Test Case 10.8 (Benchmark, virtual timers set/reset) +--- Score : 302458 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.9 (Benchmark, semaphores wait/signal) --- Score : 350724 wait+signal/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, mutexes lock/unlock) ---- Score : 249208 lock+unlock/S +--- Test Case 10.10 (Benchmark, mutexes lock/unlock) +--- Score : 249212 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 1c0c7a160..c81394d34 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.1 unstable +Kernel: ChibiOS/RT 1.1.2 unstable Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz @@ -12,7 +12,7 @@ Settings: MCLK=DCOCLK 750Khz --- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 2.2 (Semaphores, timeout test) @@ -27,72 +27,75 @@ Settings: MCLK=DCOCLK 750Khz --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.1 (CondVar, signal test) +--- Test Case 3.4 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.2 (CondVar, broadcast test) +--- Test Case 3.5 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5.1 (Messages, dispatch test) +--- Test Case 3.6 (CondVar, inheritance boost test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6.1 (Mailboxes, queuing and timeouts) +--- Test Case 4.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7.1 (Events, wait and broadcast) +--- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8.1 (Heap, allocation and fragmentation test) +--- Test Case 6.1 (Events, wait and broadcast) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) --- Size : 508 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9.1 (Memory Pools, allocation and enqueuing test) +--- Test Case 8.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.1 (Dynamic APIs, threads creation from heap) +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, context switch #1, optimal) ---- Score : 1942 msgs/S, 3884 ctxswc/S +--- Test Case 10.1 (Benchmark, context switch #1, optimal) +--- Score : 1937 msgs/S, 3874 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, context switch #2, empty ready list) ---- Score : 1611 msgs/S, 3222 ctxswc/S +--- Test Case 10.2 (Benchmark, context switch #2, empty ready list) +--- Score : 1604 msgs/S, 3208 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 1611 msgs/S, 3222 ctxswc/S +--- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 1604 msgs/S, 3208 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, threads creation/termination, worst case) ---- Score : 1334 threads/S +--- Test Case 10.4 (Benchmark, threads creation/termination, worst case) +--- Score : 1329 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads creation/termination, optimal) ---- Score : 1720 threads/S +--- Test Case 10.5 (Benchmark, threads creation/termination, optimal) +--- Score : 1716 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 498 reschedulations/S, 2988 ctxswc/S +--- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) +--- Score : 494 reschedulations/S, 2964 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, I/O Queues throughput) +--- Test Case 10.7 (Benchmark, I/O Queues throughput) --- Score : 5432 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, virtual timers set/reset) ---- Score : 5632 timers/S +--- Test Case 10.8 (Benchmark, virtual timers set/reset) +--- Score : 5636 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, semaphores wait/signal) +--- Test Case 10.9 (Benchmark, semaphores wait/signal) --- Score : 13920 wait+signal/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, mutexes lock/unlock) ---- Score : 7380 lock+unlock/S +--- Test Case 10.10 (Benchmark, mutexes lock/unlock) +--- Score : 7768 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index cfe85c3b8..3c9d32967 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.1 unstable +Kernel: ChibiOS/RT 1.1.2 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=48, ACR=0x11 (1 wait state) @@ -12,7 +12,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 2.2 (Semaphores, timeout test) @@ -27,71 +27,74 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.1 (CondVar, signal test) +--- Test Case 3.4 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4.2 (CondVar, broadcast test) +--- Test Case 3.5 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5.1 (Messages, dispatch test) +--- Test Case 3.6 (CondVar, inheritance boost test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6.1 (Mailboxes, queuing and timeouts) +--- Test Case 4.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7.1 (Events, wait and broadcast) +--- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8.1 (Heap, allocation and fragmentation test) ---- Size : 17220 bytes, not fragmented +--- Test Case 6.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9.1 (Memory Pools, allocation and enqueuing test) +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Size : 17236 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.1 (Dynamic APIs, threads creation from heap) +--- Test Case 8.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10.2 (Dynamic APIs, threads creation from memory pool) +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, context switch #1, optimal) ---- Score : 160570 msgs/S, 321140 ctxswc/S +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, context switch #2, empty ready list) ---- Score : 134030 msgs/S, 268060 ctxswc/S +--- Test Case 10.1 (Benchmark, context switch #1, optimal) +--- Score : 161113 msgs/S, 322226 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 134030 msgs/S, 268060 ctxswc/S +--- Test Case 10.2 (Benchmark, context switch #2, empty ready list) +--- Score : 132929 msgs/S, 265858 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, threads creation/termination, worst case) ---- Score : 122385 threads/S +--- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 132929 msgs/S, 265858 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads creation/termination, optimal) ---- Score : 155364 threads/S +--- Test Case 10.4 (Benchmark, threads creation/termination, worst case) +--- Score : 123333 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 42162 reschedulations/S, 252972 ctxswc/S +--- Test Case 10.5 (Benchmark, threads creation/termination, optimal) +--- Score : 158976 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, I/O Queues throughput) +--- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) +--- Score : 41867 reschedulations/S, 251202 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.7 (Benchmark, I/O Queues throughput) --- Score : 377568 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, virtual timers set/reset) +--- Test Case 10.8 (Benchmark, virtual timers set/reset) --- Score : 525902 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, semaphores wait/signal) +--- Test Case 10.9 (Benchmark, semaphores wait/signal) --- Score : 676444 wait+signal/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, mutexes lock/unlock) +--- Test Case 10.10 (Benchmark, mutexes lock/unlock) --- Score : 489620 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index b8e323b18..df1826787 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.1 unstable +Kernel: ChibiOS/RT 1.1.2 unstable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) @@ -12,7 +12,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 2.2 (Semaphores, timeout test) @@ -59,27 +59,27 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 216992 msgs/S, 433984 ctxswc/S +--- Score : 215042 msgs/S, 430084 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 178663 msgs/S, 357326 ctxswc/S +--- Score : 174751 msgs/S, 349502 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 178663 msgs/S, 357326 ctxswc/S +--- Score : 174752 msgs/S, 349504 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 168598 threads/S +--- Score : 165114 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 216994 threads/S +--- Score : 215044 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 55551 reschedulations/S, 333306 ctxswc/S +--- Score : 54747 reschedulations/S, 328482 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.7 (Benchmark, I/O Queues throughput) @@ -95,7 +95,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 601124 lock+unlock/S +--- Score : 601120 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index a6a2a6fb6..5290a18ce 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,73 +2,73 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -Kernel Size = 6016 +Kernel Size = 6048 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -Kernel Size = 1280 +Kernel Size = 1248 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -Kernel Size = 5760 +Kernel Size = 5792 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -Kernel Size = 1312 +Kernel Size = 1264 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 5408 +Kernel Size = 5456 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1248 +Kernel Size = 1216 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -Kernel Size = 8656 +Kernel Size = 8704 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -Kernel Size = 1968 +Kernel Size = 1904 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -Kernel Size = 8288 +Kernel Size = 8320 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -Kernel Size = 1872 +Kernel Size = 1856 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 7792 +Kernel Size = 7856 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1840 +Kernel Size = 1808 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel @@ -80,13 +80,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1360 +Kernel Size = 1328 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5488 +Kernel Size = 5536 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -98,13 +98,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5152 +Kernel Size = 5184 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.3.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1264 +Kernel Size = 1248 Platform : MSP430 OS Setup : Full kernel @@ -116,7 +116,7 @@ Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1116 +Kernel Size = 1084 Platform : MSP430 OS Setup : Full kernel @@ -128,5 +128,5 @@ Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1116 +Kernel Size = 1084 -- cgit v1.2.3 From 6a425508b88520b93ccd56e1c3d11e01580e1cf5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 31 Mar 2009 15:06:38 +0000 Subject: Updated version numbers to 1.1.3. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@860 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 17e5f2ccf..5505c9ff0 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.1.2unstable +PROJECT_NUMBER = 1.1.3unstable # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From fad3a0802ac7f43da5f7dcf68e369dc735de3ed2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 2 Apr 2009 13:41:54 +0000 Subject: Documentation fixes. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@864 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/src/concepts.dox | 2 +- docs/src/interrupts.dox | 2 +- docs/src/saveram.dox | 3 ++- docs/src/timing.dox | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 5505c9ff0..482fae3d9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.1.3unstable +PROJECT_NUMBER = 1.2.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index cc768052e..725be9b52 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -34,7 +34,7 @@ * @section naming Naming Conventions * ChibiOS/RT APIs are all named following this convention: * @a ch\\\(). - * The possible groups are: @a Sys, @a Sch, @a Time @a VT, @a Thd, @a Sem, + * The possible groups are: @a Sys, @a Sch, @a Time, @a VT, @a Thd, @a Sem, * @a Mtx, @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a HQ, @a FDD, @a HDD, * @a Dbg, @a Heap, @a Pool. * diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index 679eb8884..d2dfb70b5 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -20,7 +20,7 @@ /** * @page article_interrupts Writing interrupt handlers under ChibiOS/RT * @{ - * Since version 1.1.0 ChbiOS/RT offers a cross-platform system for writing + * Since version 1.1.0 ChibiOS/RT offers a cross-platform method for writing * interrupt handlers. Port-related and compiler-related details are * encapsulated within standard system macros.
          * An interrupt handler assumes the following general form: diff --git a/docs/src/saveram.dox b/docs/src/saveram.dox index e237da909..7a1f6f662 100644 --- a/docs/src/saveram.dox +++ b/docs/src/saveram.dox @@ -71,7 +71,8 @@ static void MyThread(void *arg) { main() { chSysInit(); ... - chThdCreateStatic(waMyThread, sizeof(waMyThread), NORMALPRIO, MyThread, NULL); + chThdCreateStatic(waMyThread, sizeof(waMyThread), NORMALPRIO, + (tfunc_t)MyThread, NULL); ... } * @endcode diff --git a/docs/src/timing.dox b/docs/src/timing.dox index 7732bef0b..9e013c412 100644 --- a/docs/src/timing.dox +++ b/docs/src/timing.dox @@ -39,7 +39,7 @@ msg_t my_thread(void *param) { * executed at irregular intervals, as example:

          * T0...T0+1000...T0+2002...T0+3002...T0+4005...etc.

          * Also note that the error increases over time and this kind of behavior can - * lead anomalies really hard to debug. + * lead to anomalies really hard to debug. *

          A better solution

          * It is possible to rewrite the above code using absolute deadlines rather * than fixed intervals: -- cgit v1.2.3 From 305418701d0885dd01c0afe253b8cc4ce9c05237 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 3 Apr 2009 21:06:12 +0000 Subject: Re-testing on LPC2148 done. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@866 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 12 ++++++------ docs/reports/LPC2148-48-THUMB.txt | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index fc77356eb..a05e540ad 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.2 unstable +Kernel: ChibiOS/RT 1.2.0 stable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -59,15 +59,15 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 145329 msgs/S, 290658 ctxswc/S +--- Score : 145332 msgs/S, 290664 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 112506 msgs/S, 225012 ctxswc/S +--- Score : 112504 msgs/S, 225008 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 112507 msgs/S, 225014 ctxswc/S +--- Score : 112504 msgs/S, 225008 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.4 (Benchmark, threads creation/termination, worst case) @@ -87,11 +87,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 309730 timers/S +--- Score : 309620 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 622992 wait+signal/S +--- Score : 622996 wait+signal/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.10 (Benchmark, mutexes lock/unlock) diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index b8756436d..9aa5d6394 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.2 unstable +Kernel: ChibiOS/RT 1.2.0 stable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) @@ -67,11 +67,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 86250 msgs/S, 172500 ctxswc/S +--- Score : 86251 msgs/S, 172502 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 83828 threads/S +--- Score : 83827 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.5 (Benchmark, threads creation/termination, optimal) @@ -87,11 +87,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 302458 timers/S +--- Score : 302534 timers/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 350724 wait+signal/S +--- Score : 350728 wait+signal/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.10 (Benchmark, mutexes lock/unlock) -- cgit v1.2.3 From 842ed5833013dd5abb76f2092cfd39c52aaa4621 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 4 Apr 2009 17:39:01 +0000 Subject: Re-tested everything, reports updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@872 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 4 +- docs/reports/AT91SAM7X-48-THUMB.txt | 80 ++++++++++++++++++++++--------------- docs/reports/ATmega128-16.txt | 76 +++++++++++++++++++++-------------- docs/reports/MSP430F1611-0.75.txt | 2 +- docs/reports/STM32F103-48.txt | 4 +- docs/reports/STM32F103-72.txt | 8 ++-- 6 files changed, 101 insertions(+), 73 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 2c89d832b..1b2ad97a3 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.2 unstable +Kernel: ChibiOS/RT 1.2.0 stable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) @@ -59,7 +59,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 115500 msgs/S, 231000 ctxswc/S +--- Score : 115499 msgs/S, 230998 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.2 (Benchmark, context switch #2, empty ready list) diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index 042913e65..9ca95c6e5 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -1,87 +1,101 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 final +Kernel: ChibiOS/RT 1.2.0 stable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *************************************************************************** --------------------------------------------------------------------------- ---- Test Case 1 (Ready List, priority enqueuing test #1) +--- Test Case 1.1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2 (Ready List, priority enqueuing test #2) +--- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4 (Semaphores, timeout test) +--- Test Case 2.2 (Semaphores, timeout test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5 (Mutexes, priority enqueuing test) +--- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (CondVar, signal test) +--- Test Case 3.4 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (CondVar, broadcast test) +--- Test Case 3.5 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Messages, dispatch test) +--- Test Case 3.6 (CondVar, inheritance boost test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Events, wait and broadcast) +--- Test Case 4.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Heap, allocation and fragmentation test) ---- Size : 62272 bytes, not fragmented +--- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Memory Pools, allocation and enqueuing test) +--- Test Case 6.1 (Events, wait and broadcast) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Dynamic APIs, threads creation from heap) +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Size : 62260 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Test Case 8.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 96420 msgs/S, 192840 ctxswc/S +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 83608 msgs/S, 167216 ctxswc/S +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 83608 msgs/S, 167216 ctxswc/S +--- Test Case 10.1 (Benchmark, context switch #1, optimal) +--- Score : 103067 msgs/S, 206134 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 78659 threads/S +--- Test Case 10.2 (Benchmark, context switch #2, empty ready list) +--- Score : 85400 msgs/S, 170800 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 107955 threads/S +--- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 85400 msgs/S, 170800 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 21 (Benchmark, mass reschedulation, 5 threads) ---- Score : 27517 reschedulations/S, 165102 ctxswc/S +--- Test Case 10.4 (Benchmark, threads creation/termination, worst case) +--- Score : 82597 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 22 (Benchmark, I/O Queues throughput) ---- Score : 241244 bytes/S +--- Test Case 10.5 (Benchmark, threads creation/termination, optimal) +--- Score : 113057 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 303650 timers/S +--- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) +--- Score : 27983 reschedulations/S, 167898 ctxswc/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.7 (Benchmark, I/O Queues throughput) +--- Score : 263540 bytes/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.8 (Benchmark, virtual timers set/reset) +--- Score : 323190 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.9 (Benchmark, semaphores wait/signal) +--- Score : 367232 wait+signal/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.10 (Benchmark, mutexes lock/unlock) +--- Score : 263904 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/ATmega128-16.txt b/docs/reports/ATmega128-16.txt index acd00139d..6166b23b3 100644 --- a/docs/reports/ATmega128-16.txt +++ b/docs/reports/ATmega128-16.txt @@ -1,87 +1,101 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.0.0 final +Kernel: ChibiOS/RT 1.2.0 stable Compiler: GCC 4.3.0 (WinAVR 10.06.2008) Options: -O2 Settings: F_CPU=16000000 *************************************************************************** --------------------------------------------------------------------------- ---- Test Case 1 (Ready List, priority enqueuing test #1) +--- Test Case 1.1 (Ready List, priority enqueuing test #1) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 2 (Ready List, priority enqueuing test #2) +--- Test Case 1.2 (Ready List, priority enqueuing test #2) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 3 (Semaphores, FIFO enqueuing test) +--- Test Case 2.1 (Semaphores, enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 4 (Semaphores, timeout test) +--- Test Case 2.2 (Semaphores, timeout test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 5 (Mutexes, priority enqueuing test) +--- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 6 (Mutexes, priority inheritance, simple case) +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 7 (Mutexes, priority inheritance, complex case) +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 8 (CondVar, signal test) +--- Test Case 3.4 (CondVar, signal test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 9 (CondVar, broadcast test) +--- Test Case 3.5 (CondVar, broadcast test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 10 (Messages, dispatch test) +--- Test Case 3.6 (CondVar, inheritance boost test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 11 (Events, wait and broadcast) +--- Test Case 4.1 (Messages, dispatch test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 12 (Heap, allocation and fragmentation test) +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 6.1 (Events, wait and broadcast) +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) --- Size : 508 bytes, not fragmented --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 13 (Memory Pools, allocation and enqueuing test) +--- Test Case 8.1 (Memory Pools, allocation and enqueuing test) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 14 (Dynamic APIs, threads creation from heap) +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 15 (Dynamic APIs, threads creation from memory pool) +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 16 (Benchmark, context switch #1, optimal) ---- Score : 30775 msgs/S, 61550 ctxswc/S +--- Test Case 10.1 (Benchmark, context switch #1, optimal) +--- Score : 30833 msgs/S, 61666 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 17 (Benchmark, context switch #2, empty ready list) ---- Score : 24524 msgs/S, 49048 ctxswc/S +--- Test Case 10.2 (Benchmark, context switch #2, empty ready list) +--- Score : 24601 msgs/S, 49202 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 18 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 24524 msgs/S, 49048 ctxswc/S +--- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) +--- Score : 24601 msgs/S, 49202 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 19 (Benchmark, threads creation/termination, worst case) ---- Score : 20623 threads/S +--- Test Case 10.4 (Benchmark, threads creation/termination, worst case) +--- Score : 20979 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 20 (Benchmark, threads creation/termination, optimal) ---- Score : 26408 threads/S +--- Test Case 10.5 (Benchmark, threads creation/termination, optimal) +--- Score : 26947 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 21 (Benchmark, mass reschedulation, 5 threads) ---- Score : 7724 reschedulations/S, 46344 ctxswc/S +--- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) +--- Score : 7793 reschedulations/S, 46758 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 22 (Benchmark, I/O Queues throughput) +--- Test Case 10.7 (Benchmark, I/O Queues throughput) --- Score : 84048 bytes/S --- Result: SUCCESS --------------------------------------------------------------------------- ---- Test Case 23 (Benchmark, virtual timers set/reset) ---- Score : 81554 timers/S +--- Test Case 10.8 (Benchmark, virtual timers set/reset) +--- Score : 81556 timers/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.9 (Benchmark, semaphores wait/signal) +--- Score : 224416 wait+signal/S +--- Result: SUCCESS +--------------------------------------------------------------------------- +--- Test Case 10.10 (Benchmark, mutexes lock/unlock) +--- Score : 119412 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index c81394d34..a3cf70113 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.2 unstable +Kernel: ChibiOS/RT 1.2.0 stable Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 3c9d32967..7e7169fd3 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.2 unstable +Kernel: ChibiOS/RT 1.2.0 stable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=48, ACR=0x11 (1 wait state) @@ -59,7 +59,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 161113 msgs/S, 322226 ctxswc/S +--- Score : 161114 msgs/S, 322228 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.2 (Benchmark, context switch #2, empty ready list) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index df1826787..631a841b7 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,5 +1,5 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.1.2 unstable +Kernel: ChibiOS/RT 1.2.0 stable Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) @@ -67,11 +67,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 174752 msgs/S, 349504 ctxswc/S +--- Score : 174751 msgs/S, 349502 ctxswc/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 165114 threads/S +--- Score : 165113 threads/S --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.5 (Benchmark, threads creation/termination, optimal) @@ -95,7 +95,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS --------------------------------------------------------------------------- --- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 601120 lock+unlock/S +--- Score : 601124 lock+unlock/S --- Result: SUCCESS --------------------------------------------------------------------------- -- cgit v1.2.3 From 3324f1f5affe52dbe938608e80e5bb8d3b4d41e6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 5 Apr 2009 14:52:11 +0000 Subject: Start of the 1.3.x unstable branch. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@879 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 482fae3d9..d6c461d6c 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.2.0 +PROJECT_NUMBER = 1.3.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 34728efb1629b43e72d5f8ac22093abb3b90db13 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 28 Apr 2009 20:31:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@924 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/goals.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/goals.dox b/docs/src/goals.dox index 13e764802..46c092086 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -57,7 +57,7 @@ * finalized to this objective. Everything you can invoke in the kernel is * designed to not fail unless you pass garbage as parameters, stray pointers * as examples. The APIs are not slowed down by parameter checks, - * parameter checks (and consistency checks) do exists but only when the + * parameter checks (and consistency checks) do exist but only when the * debug switch is activated.
          * All the static core APIs always succeed if correct parameters are passed. * Exception to this are the optional allocators APIs that, of course, -- cgit v1.2.3 From c989a8967cdcbd54109d686678936a3581fd2c70 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 1 May 2009 13:11:26 +0000 Subject: Removed the CH_USE_SERIAL_HALFDUPLEX, CH_USE_QUEUES_TIMEOUT and CH_USE_QUEUES_HALFDUPLEX configuration options. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@927 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 6 ------ 1 file changed, 6 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index a17c4e008..f5870a276 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -338,18 +338,12 @@ * lower side and the reader is the upper side. * - Output queue, unidirectional queue where the writer is the * upper side and the reader is the lower side. - * - Half duplex queue, bidirectional queue where the buffer is shared - * between a receive and a transmit queues. This means that concurrent - * buffered input and output operations are not possible, this is perfectly - * acceptable for a lot of applications however, as example an RS485 driver. * - Full duplex queue, bidirectional queue where read and write * operations can happen at the same time. Full duplex queues * are implemented by pairing an input queue and an output queue together. * . * In order to use the I/O queues the @p CH_USE_QUEUES option must * be specified in @p chconf.h.
          - * In order to use the half duplex queues the @p CH_USE_QUEUES_HALFDUPLEX - * option must be specified in @p chconf.h. */ /** @} */ -- cgit v1.2.3 From 8cfd8aefb69f582c8d658995b6ce7b3f8b024c7e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 2 May 2009 10:13:20 +0000 Subject: Initial documentation for channels. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@932 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 69 ++++++++++++++----------------------------------------- 1 file changed, 17 insertions(+), 52 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index f5870a276..ea30d420f 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -66,100 +66,76 @@ /** * @defgroup Ports Ports - * @{ * This section describes the technical details for the various supported * ChibiOS/RT ports. */ -/** @} */ /** * @defgroup Kernel Kernel - * @{ + * Kernel related subsystems, */ -/** @} */ /** * @defgroup Config Configuration - * @{ * In @p chconf.h are defined the required subsystems for your application. * @ingroup Kernel */ -/** @} */ /** * @defgroup Core Generic Port Code Templates - * @{ * Non portable code templates. * @ingroup Kernel */ -/** @} */ /** * @defgroup Types Types - * @{ * System types and macros. * @ingroup Kernel */ -/** @} */ /** * @defgroup System System Management - * @{ * Initialization, Locks, Interrupt Handling, Power Management, Abnormal * Termination. * @ingroup Kernel */ -/** @} */ /** * @defgroup Inline Inline - * @{ * System inline-able code. * @ingroup Kernel */ -/** @} */ /** * @defgroup Debug Debug - * @{ * Debug APIs and procedures. * @ingroup Kernel */ -/** @} */ /** * @defgroup Scheduler Scheduler - * @{ * ChibiOS/RT scheduler. * @ingroup Kernel */ -/** @} */ /** * @defgroup ThreadLists Thread Lists and Queues - * @{ * ChibiOS/RT thread lists and queues utilities. * @ingroup Kernel */ -/** @} */ /** * @defgroup Threads Threads - * @{ * Threads creation and termination APIs. */ -/** @} */ /** * @defgroup Time Time and Virtual Timers - * @{ * Time and Virtual Timers related APIs. */ -/** @} */ /** * @defgroup Heap Heap - * @{ * Heap Allocator related APIs. *

          Operation mode

          * The heap allocator implements a first-fit strategy and its APIs are @@ -171,11 +147,9 @@ * In order to use the heap APIs the @p CH_USE_HEAP option must be specified * in @p chconf.h. */ -/** @} */ /** * @defgroup MemoryPools Memory Pools - * @{ * Memory Pools related APIs. *

          Operation mode

          * The Memory Pools APIs allow to allocate/free fixed size objects in @@ -183,11 +157,9 @@ * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be * specified in @p chconf.h. */ -/** @} */ /** * @defgroup Semaphores Semaphores - * @{ * Semaphores and threads synchronization. *

          Operation mode

          * A semaphore is a threads synchronization object, some operations @@ -209,11 +181,9 @@ * In order to use the Semaphores APIs the @p CH_USE_SEMAPHORES * option must be specified in @p chconf.h.

          */ -/** @} */ /** * @defgroup Mutexes Mutexes - * @{ * Mutexes and threads synchronization. *

          Operation mode

          * A mutex is a threads synchronization object, some operations are defined @@ -244,11 +214,9 @@ * number of nested mutexes and any number of involved threads. The algorithm * complexity (worst case) is N with N equal to the number of nested mutexes. */ -/** @} */ /** * @defgroup CondVars Condition Variables - * @{ * Condition Variables and threads synchronization. *

          Operation mode

          * The condition variable is a synchronization object meant to be used inside @@ -257,11 +225,9 @@ * In order to use the Condition Variables APIs the @p CH_USE_CONDVARS * option must be specified in @p chconf.h.

          */ -/** @} */ /** * @defgroup Events Events - * @{ * Event Sources and Event Listeners. *

          Operation mode

          * An Event Source is a special object that can be signaled by a thread or @@ -278,11 +244,9 @@ * In order to use the Event APIs the @p CH_USE_EVENTS option must be * specified in @p chconf.h. */ -/** @} */ /** * @defgroup Messages Synchronous Messages - * @{ * Synchronous inter-thread messages. *

          Operation Mode

          * Synchronoud messages are an easy to use and fast IPC mechanism, threads @@ -299,11 +263,9 @@ * In order to use the Messages APIs the @p CH_USE_MESSAGES option must be * specified in @p chconf.h. */ -/** @} */ /** * @defgroup Mailboxes Mailboxes - * @{ * Asynchronous messages. *

          Operation mode

          * A mailbox is an asynchronous communication mechanism.
          @@ -323,11 +285,9 @@ * free it on the fetching side. Another approach is to set a "done" flag into * the structure pointed by the message. */ -/** @} */ /** - * @defgroup IOQueues I/O Queues - * @{ + * @defgroup IOQueues Physical I/O Queues * ChibiOS/RT supports several kinds of queues. The queues are mostly used * in serial-like device drivers. The device drivers are usually designed to * have a lower side (lower driver, it is usually an interrupt service @@ -345,11 +305,22 @@ * In order to use the I/O queues the @p CH_USE_QUEUES option must * be specified in @p chconf.h.
          */ -/** @} */ +/** + * @defgroup Channels Abstract I/O Channels + * This module defines an abstract interface for I/O channels. Note that + * no code is present, I/O channels are just abstract classes-like structures, + * you should look at the systems as to a set of abstract C++ classes (even if + * implemented in C). Specific device drivers can use/extend the interfaces + * and implement them.
          + * This system has the advantage to make the access to the device drivers + * independent from the implementation logic. As example, an I/O channel + * interface can hide the access to a serial driver, to a networking socket + * and so on. + */ + /** * @defgroup Serial Serial Drivers - * @{ * This module implements a generic full duplex serial driver and a generic * half duplex serial driver. It uses the I/O Queues for communication between * the upper and the lower driver and events to notify the application about @@ -361,11 +332,9 @@ * In order to use the serial half duplex driver the * @p CH_USE_SERIAL_HALFDUPLEX option must be specified in @p chconf.h. */ -/** @} */ /** * @defgroup utilities_library Utilities Library - * @{ * @brief Utilities Library. * @details This is a collection of useful library code that is not part of * the base kernel services. @@ -375,21 +344,18 @@ * The main difference is that library code is not formally tested in the * test suite but through usage in the various demo applications. */ -/** @} */ /** * @defgroup CPlusPlusLibrary C++ Wrapper - * @{ - * C++ wrapper module. This module allows to use the ChibiOS/RT functionalities + * @brief C++ wrapper module. + * @details This module allows to use the ChibiOS/RT functionalities * from C++ as classes and objects rather the traditional "C" APIs. * * @ingroup utilities_library */ -/** @} */ /** * @defgroup event_timer Events Generator Timer - * @{ * @brief Event Generator Timer. * @details This timer generates an event at regular intervals. The * listening threads can use the event to perform time related activities. @@ -397,5 +363,4 @@ * * @ingroup utilities_library */ -/** @} */ -- cgit v1.2.3 From 62a6638eb544f2c3d9022bcb34cae181aa8f7aae Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 3 May 2009 09:51:01 +0000 Subject: Added I/O queue checks to the channels, added notes in the readme, improved the FullDuplexDriver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@940 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/concepts.dox | 4 ++-- docs/src/main.dox | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 725be9b52..ed37ed349 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -35,8 +35,8 @@ * ChibiOS/RT APIs are all named following this convention: * @a ch\\\(). * The possible groups are: @a Sys, @a Sch, @a Time, @a VT, @a Thd, @a Sem, - * @a Mtx, @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a HQ, @a FDD, @a HDD, - * @a Dbg, @a Heap, @a Pool. + * @a Mtx, @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a IO, @a FDD, @a Dbg, + * @a Heap, @a Pool. * * @section api_suffixes API Names Suffixes * The suffix can be one of the following: diff --git a/docs/src/main.dox b/docs/src/main.dox index ea30d420f..2e76e0a75 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -313,7 +313,7 @@ * you should look at the systems as to a set of abstract C++ classes (even if * implemented in C). Specific device drivers can use/extend the interfaces * and implement them.
          - * This system has the advantage to make the access to the device drivers + * This system has the advantage to make the access to channels * independent from the implementation logic. As example, an I/O channel * interface can hide the access to a serial driver, to a networking socket * and so on. -- cgit v1.2.3 From aea323e12179301b00e7766fc97dc3d3b51576d9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 7 May 2009 15:24:47 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@949 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 12 ++++-------- docs/src/articles.dox | 2 -- docs/src/atomic.dox | 2 -- docs/src/concepts.dox | 2 -- docs/src/design.dox | 2 -- docs/src/goals.dox | 2 -- docs/src/interrupts.dox | 2 -- docs/src/jitter.dox | 2 -- docs/src/licfaq.dox | 2 -- docs/src/main.dox | 21 +++++++++++++++++++++ docs/src/mutualexcl.dox | 2 -- docs/src/portguide.dox | 2 -- docs/src/saveram.dox | 2 -- docs/src/stacks.dox | 2 -- docs/src/timing.dox | 2 -- 15 files changed, 25 insertions(+), 34 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d6c461d6c..a7ee51445 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -573,10 +573,11 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = ../src/include \ +INPUT = ../docs/src \ + ../src/include \ ../src/templates \ ../src \ - ../docs/src \ + ../test \ ../src/lib \ ../ports/ARM7 \ ../ports/ARM7/crt0.s \ @@ -637,7 +638,7 @@ FILE_PATTERNS = *.c \ # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. -RECURSIVE = YES +RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a @@ -1298,17 +1299,12 @@ PREDEFINED = __DOXYGEN__ \ CH_USE_CONDVARS_TIMEOUT=1 \ CH_USE_EVENTS=1 \ CH_USE_EVENTS_TIMEOUT=1 \ - CH_USE_EXIT_EVENT=1 \ CH_USE_QUEUES=1 \ - CH_USE_QUEUES_TIMEOUT=1 \ - CH_USE_QUEUES_HALFDUPLEX=1 \ CH_USE_SERIAL_FULLDUPLEX=1 \ - CH_USE_SERIAL_HALFDUPLEX=1 \ CH_USE_HEAP=1 \ CH_USE_MEMPOOLS=1 \ CH_USE_MESSAGES=1 \ CH_USE_MAILBOXES=1 \ - CH_USE_MESSAGES_EVENT=1 \ CH_USE_DYNAMIC=1 \ CH_DBG_ENABLE_ASSERTS=1 \ CH_DBG_ENABLE_CHECKS=1 \ diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 66268f9d7..e9849782c 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -19,7 +19,6 @@ /** * @page articles Articles - * @{ * ChibiOS/RT Articles and Code Examples: * - @subpage article_stacks * - @subpage article_mutual_exclusion @@ -32,4 +31,3 @@ * - @subpage article_design * . */ -/** @} */ diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox index 5fb0bc628..5e2fb58cd 100644 --- a/docs/src/atomic.dox +++ b/docs/src/atomic.dox @@ -19,7 +19,6 @@ /** * @page article_atomic Invoking multiple primitives as a single atomic operation - * @{ * It is often necessary to invoke multiple operations involving a * reschedulation as a single atomic operation.
          * ChibiOS/RT already implements APIs that perform complex operations, as @@ -56,4 +55,3 @@ * API. An extra @p chSchRescheduleS() can be present at the very end of the * block, it only reschedules if a reschedulation is still required. */ -/** @} */ diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index ed37ed349..8a7418b53 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -19,7 +19,6 @@ /** * @page concepts Concepts and Architecture - * @{ * @brief ChibiOS/RT Concepts and Architecture * - @ref naming * - @ref api_suffixes @@ -261,4 +260,3 @@ * extra layers, this is just not part of the kernel architecture but part of * the overall system design. */ -/** @} */ diff --git a/docs/src/design.dox b/docs/src/design.dox index 4b6780a7a..bc88edf6f 100644 --- a/docs/src/design.dox +++ b/docs/src/design.dox @@ -19,7 +19,6 @@ /** * @page article_design Designing an embedded application - * @{ * ChibiOS/RT offers a variety of mechanisms and primitives, often it is * better to focus on a single approach for the system design and use only * part of the available subsystems.
          @@ -109,4 +108,3 @@ * it. The OS is a toolbox that offers a lot of tools but you don't have * to use them all necessarily. */ -/** @} */ diff --git a/docs/src/goals.dox b/docs/src/goals.dox index 46c092086..e7a26fb3f 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -19,7 +19,6 @@ /** * @page goals Project Goals - * @{ *

          Another RTOS?

          * The first question to be answered is: there was really the need for YET * ANOTHER RTOS?
          @@ -87,4 +86,3 @@ * code is released as well, all the included demos are capable of executing * the test suite and the OS benchmarks. */ -/** @} */ diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index d2dfb70b5..95bd6c281 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -19,7 +19,6 @@ /** * @page article_interrupts Writing interrupt handlers under ChibiOS/RT - * @{ * Since version 1.1.0 ChibiOS/RT offers a cross-platform method for writing * interrupt handlers. Port-related and compiler-related details are * encapsulated within standard system macros.
          @@ -50,5 +49,4 @@ CH_IRQ_HANDLER(myIRQ) { * please read about it in the ARM7 port section: @ref ARM7_IH * . */ -/** @} */ \ No newline at end of file diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index 747a07a7e..5f4e7ff5e 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -19,7 +19,6 @@ /** * @page article_jitter Response Time and Jitter - * @{ * Response time jitter is one of the most sneaky source of problems when * designing a real time system. When using a RTOS like ChibiOS/RT one must * be aware of what the jitter is and how it can affect the performance of the @@ -134,4 +133,3 @@ * subsystem can improve the overall response time and reduce jitter but it is * not a magic wand, a proper system design comes first. */ -/** @} */ diff --git a/docs/src/licfaq.dox b/docs/src/licfaq.dox index f3bf3c3a1..58e99a2bb 100644 --- a/docs/src/licfaq.dox +++ b/docs/src/licfaq.dox @@ -19,7 +19,6 @@ /** * @page lic_faq License and F.A.Q. - * @{ * ChibiOS/RT is a * GPL3-licensed product but it offers a linking exception in its stable * releases.
          @@ -89,5 +88,4 @@ Program code and other code used in conjunction with the Program except the Non-GPL Code covered by this exception. * */ -/** @} */ \ No newline at end of file diff --git a/docs/src/main.dox b/docs/src/main.dox index 2e76e0a75..bf6eecd54 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -64,6 +64,27 @@ * . */ +/** + * @page TEST_SUITE Tests Description + *

          Descriptions

          + * Most of the ChibiOS/RT demos link a set of software modules (test suite) in + * order to verify the proper working of the kernel, the port and the demo + * itself.
          + * Each Test Module performs a series of tests on a specified subbsystem or + * subsystems and can report a failure/success status and/or a performance + * index as the test suite output.
          + * The test suite is usually activated in the demo applications by pressing a + * button on the target board, see the readme into the various demos + * directories. The test suite output is usually sent through a serial port and + * can be examined by using a terminal emulator program. + * + *

          Test Modules

          + * - @subpage test_threads + * - @subpage test_queues + * - @subpage test_serial + * . + */ + /** * @defgroup Ports Ports * This section describes the technical details for the various supported diff --git a/docs/src/mutualexcl.dox b/docs/src/mutualexcl.dox index ae6f57c0a..69eb65dc8 100644 --- a/docs/src/mutualexcl.dox +++ b/docs/src/mutualexcl.dox @@ -19,7 +19,6 @@ /** * @page article_mutual_exclusion Mutual Exclusion guide - * @{ * The most common problem when writing multithreaded code is the * synchronization on the shared resources/services.
          * ChibiOS/RT offers a rich variety of mechanisms that apparently solve the @@ -209,4 +208,3 @@ * - Requires a dedicated thread as server. * . */ -/** @} */ diff --git a/docs/src/portguide.dox b/docs/src/portguide.dox index 57216885d..14a3c2eca 100644 --- a/docs/src/portguide.dox +++ b/docs/src/portguide.dox @@ -19,7 +19,6 @@ /** * @page article_portguide Porting ChibiOS/RT for Dummies - * @{ * Porting the operating system on a new platform is one of the most common * tasks. The difficulty can range from easy to very difficult depending * on several factors.
          @@ -111,4 +110,3 @@ * the OS template files, the hardest part is decide the correct and efficient * way to implement the context switching. */ -/** @} */ diff --git a/docs/src/saveram.dox b/docs/src/saveram.dox index 7a1f6f662..6682fe0fe 100644 --- a/docs/src/saveram.dox +++ b/docs/src/saveram.dox @@ -19,7 +19,6 @@ /** * @page article_saveram Saving RAM by declaring thread functions "noreturn" - * @{ * One of the problems, when writing embedded multi-threaded applications, * is that the thread functions do save the registers in the function * entry code even if the system does not require it, exiting such @@ -80,4 +79,3 @@ main() { * need to save registers. The code will be a bit less readable and less * portable on other compilers however. */ -/** @} */ diff --git a/docs/src/stacks.dox b/docs/src/stacks.dox index a27c2e1b9..6035e1277 100644 --- a/docs/src/stacks.dox +++ b/docs/src/stacks.dox @@ -19,7 +19,6 @@ /** * @page article_stacks Stacks and stack sizes - * @{ * In a RTOS like ChibiOS/RT there are several dedicated stacks, each stack * has a dedicated RAM space that must have a correctly sized assigned area. *

          The stacks

          @@ -104,4 +103,3 @@ * end of your development cycle. * . */ -/** @} */ diff --git a/docs/src/timing.dox b/docs/src/timing.dox index 9e013c412..a09db8575 100644 --- a/docs/src/timing.dox +++ b/docs/src/timing.dox @@ -19,7 +19,6 @@ /** * @page article_timing Reliable timings using Threads - * @{ * One common task is to have threads do something at regular, scheduled, * intervals. * An obvious solution is to write something like this: @@ -58,4 +57,3 @@ msg_t my_thread(void *param) { * deadline time and the error will not accumulate over time regardless of * the execution time and delays inserted by other threads. */ -/** @} */ -- cgit v1.2.3 From b37209d196026ba07f687c487d53dcbeef1f9223 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 7 May 2009 20:36:26 +0000 Subject: Started adding documentation tags to the test suite. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@950 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index bf6eecd54..59b9f3f6d 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -61,16 +61,17 @@ * - @subpage goals * - @subpage concepts * - @subpage articles + * - @subpage testsuite * . */ /** - * @page TEST_SUITE Tests Description - *

          Descriptions

          + * @page testsuite Tests Suite + *

          Description

          * Most of the ChibiOS/RT demos link a set of software modules (test suite) in * order to verify the proper working of the kernel, the port and the demo * itself.
          - * Each Test Module performs a series of tests on a specified subbsystem or + * Each Test Module performs a series of tests on a specified subsystem or * subsystems and can report a failure/success status and/or a performance * index as the test suite output.
          * The test suite is usually activated in the demo applications by pressing a @@ -82,6 +83,7 @@ * - @subpage test_threads * - @subpage test_queues * - @subpage test_serial + * - @subpage test_benchmarks * . */ -- cgit v1.2.3 From 3d2fd8eb545182334b672c52acd7b8a06193bedf Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 8 May 2009 14:06:45 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@951 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 59b9f3f6d..184bfab11 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -81,8 +81,13 @@ * *

          Test Modules

          * - @subpage test_threads + * - @subpage test_dynamic + * - @subpage test_msg + * - @subpage test_events + * - @subpage test_mbox * - @subpage test_queues * - @subpage test_serial + * - @subpage test_heap * - @subpage test_benchmarks * . */ -- cgit v1.2.3 From 824e30be80c79d866ac444b4eed7f4df0cf154c1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 9 May 2009 13:06:30 +0000 Subject: Fixed bugs 2789377 and 2789383. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@956 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 184bfab11..f4e638ca7 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -83,6 +83,7 @@ * - @subpage test_threads * - @subpage test_dynamic * - @subpage test_msg + * - @subpage test_mtx * - @subpage test_events * - @subpage test_mbox * - @subpage test_queues @@ -230,8 +231,8 @@ * In ChibiOS/RT the Unlock operations are always performed in Lock-reverse * order. The Unlock API does not even have a parameter, the mutex to unlock * is taken from an internal stack of owned mutexes. - * This both improves the performance and is required by the priority - * inheritance mechanism. + * This both improves the performance and is required by an efficient + * implementation of the priority inheritance mechanism. * *

          The priority inversion problem

          * The mutexes in ChibiOS/RT implements the full priority -- cgit v1.2.3 From f3ca042618b9b1f5fa877b68e89ec31fe66497eb Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 9 May 2009 14:42:26 +0000 Subject: Added more documentation to the test suite. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@957 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index f4e638ca7..d7366acdc 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -66,7 +66,7 @@ */ /** - * @page testsuite Tests Suite + * @page testsuite Test Suite *

          Description

          * Most of the ChibiOS/RT demos link a set of software modules (test suite) in * order to verify the proper working of the kernel, the port and the demo -- cgit v1.2.3 From 83d50f08219d05f65b55f686e74e5cb4e7352092 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 9 May 2009 16:46:49 +0000 Subject: Finished adding tests documentation to the general documentation. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@963 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index d7366acdc..288cda4c7 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -83,12 +83,14 @@ * - @subpage test_threads * - @subpage test_dynamic * - @subpage test_msg + * - @subpage test_sem * - @subpage test_mtx * - @subpage test_events * - @subpage test_mbox * - @subpage test_queues * - @subpage test_serial * - @subpage test_heap + * - @subpage test_pools * - @subpage test_benchmarks * . */ -- cgit v1.2.3 From d6eb57b8ea6c73a694cff33ded801af9e25ecff7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 24 May 2009 13:38:16 +0000 Subject: Fixed bugs 2796065, 2796069 and 2796081. Updated ARM test reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@987 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 163 ++++++++++++++++++++++-------------- docs/reports/AT91SAM7X-48-THUMB.txt | 163 ++++++++++++++++++++++-------------- docs/reports/LPC2148-48-ARM.txt | 163 ++++++++++++++++++++++-------------- docs/reports/LPC2148-48-THUMB.txt | 163 ++++++++++++++++++++++-------------- docs/reports/STM32F103-48.txt | 163 ++++++++++++++++++++++-------------- docs/reports/STM32F103-72.txt | 163 ++++++++++++++++++++++-------------- 6 files changed, 612 insertions(+), 366 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 1b2ad97a3..91e820138 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM7TDMI +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 62260 bytes, not fragmented +--- Size : 62112 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 115499 msgs/S, 230998 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 115476 msgs/S, 230952 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 90202 msgs/S, 180404 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 90222 msgs/S, 180444 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 90202 msgs/S, 180404 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 90222 msgs/S, 180444 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 394288 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 79431 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 79015 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 108923 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 108154 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28045 reschedulations/S, 168270 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28038 reschedulations/S, 168228 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 240464 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 231100 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 264212 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 264138 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 466552 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 466428 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 322036 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 321944 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index 9ca95c6e5..986d199b0 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM7TDMI +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 62260 bytes, not fragmented +--- Size : 62112 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 103067 msgs/S, 206134 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 103051 msgs/S, 206102 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 85385 msgs/S, 170770 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 85400 msgs/S, 170800 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 85385 msgs/S, 170770 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 85400 msgs/S, 170800 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 398888 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 82597 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 82154 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 113057 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 112237 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 27983 reschedulations/S, 167898 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 27978 reschedulations/S, 167868 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 263540 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 262760 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 323190 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 323120 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 367232 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 367156 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 263904 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 263848 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index a05e540ad..07613c361 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM7TDMI +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 27516 bytes, not fragmented +--- Size : 27360 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 145332 msgs/S, 290664 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 145306 msgs/S, 290612 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 112485 msgs/S, 224970 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 112504 msgs/S, 225008 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 112485 msgs/S, 224970 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 112504 msgs/S, 225008 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 506544 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 103493 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 103028 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 142303 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 141434 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36169 reschedulations/S, 217014 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 36162 reschedulations/S, 216972 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 341232 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 334596 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 309620 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 309448 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 622996 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 622892 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 386404 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 386328 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 9aa5d6394..6723c7c7e 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM7TDMI +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 27516 bytes, not fragmented +--- Size : 27360 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 103643 msgs/S, 207286 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 103620 msgs/S, 207240 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 86227 msgs/S, 172454 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 86249 msgs/S, 172498 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 86227 msgs/S, 172454 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 86251 msgs/S, 172502 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 406992 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 83827 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 83513 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 114584 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 114007 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28819 reschedulations/S, 172914 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 28812 reschedulations/S, 172872 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 262116 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 259552 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 302534 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 302376 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 350728 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 350644 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 249212 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 249148 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 7e7169fd3..8a829998e 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=48, ACR=0x11 (1 wait state) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM Cortex-M3 +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 17236 bytes, not fragmented +--- Size : 17092 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 161114 msgs/S, 322228 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 161093 msgs/S, 322186 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 132900 msgs/S, 265800 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 132929 msgs/S, 265858 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 132900 msgs/S, 265800 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 132929 msgs/S, 265858 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 493248 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 123333 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 123311 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 158976 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 159485 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 41867 reschedulations/S, 251202 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 41861 reschedulations/S, 251166 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 377568 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 365960 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 525902 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 525822 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 676444 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 676360 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 489620 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 489544 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 631a841b7..73e5cd0d8 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.2 (YAGARTO 28.09.2008) Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: ARM Cortex-M3 +*** GCC Version: 4.3.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 17236 bytes, not fragmented +--- Size : 17092 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 215042 msgs/S, 430084 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 215037 msgs/S, 430074 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 174745 msgs/S, 349490 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 174751 msgs/S, 349502 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 174745 msgs/S, 349490 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 174751 msgs/S, 349502 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 676760 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 165113 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 164727 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 215044 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 215680 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 54747 reschedulations/S, 328482 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 54745 reschedulations/S, 328470 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 489472 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 474888 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 647110 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 647072 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 823324 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 823264 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 601124 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 601084 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS -- cgit v1.2.3 From 6a1582eafebdb1cfb94cf57ecac620b0131631d5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 24 May 2009 14:14:24 +0000 Subject: Updated reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@989 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 159 ++++++++++++++++++++++++-------------- docs/reports/build.txt | 5 +- docs/reports/kernel.txt | 80 +++++++++---------- 3 files changed, 141 insertions(+), 103 deletions(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index a3cf70113..9351c310f 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,102 +1,143 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 3.2.3 (MSPGCC) Options: -O2 -fomit-frame-pointer Settings: MCLK=DCOCLK 750Khz *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.0unstable +*** Architecture: MSP430 +*** GCC Version: 3.2.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 7.1 (Heap, allocation and fragmentation test) --- Size : 508 bytes, not fragmented --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 1937 msgs/S, 3874 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Serial driver, synchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Serial driver, asynchronous) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.1 (Benchmark, messages #1) +--- Score : 1934 msgs/S, 3868 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 12.2 (Benchmark, messages #2) +--- Score : 1603 msgs/S, 3206 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 1604 msgs/S, 3208 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.3 (Benchmark, messages #3) +--- Score : 1603 msgs/S, 3206 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 1604 msgs/S, 3208 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 12.4 (Benchmark, context switch) +--- Score : 5936 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 1329 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.5 (Benchmark, threads, full cycle) +--- Score : 1318 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 1716 threads/S +---------------------------------------------------------------------------- +--- Test Case 12.6 (Benchmark, threads, create only) +--- Score : 1699 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) +---------------------------------------------------------------------------- +--- Test Case 12.7 (Benchmark, mass reschedulation, 5 threads) --- Score : 494 reschedulations/S, 2964 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 5432 bytes/S +---------------------------------------------------------------------------- +--- Test Case 12.8 (Benchmark, I/O Queues throughput) +--- Score : 5020 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 5636 timers/S +---------------------------------------------------------------------------- +--- Test Case 12.9 (Benchmark, virtual timers set/reset) +--- Score : 5628 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 13920 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 12.10 (Benchmark, semaphores wait/signal) +--- Score : 13908 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 7768 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 12.11 (Benchmark, mutexes lock/unlock) +--- Score : 7760 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/build.txt b/docs/reports/build.txt index 0e3da2eeb..2374232c1 100644 --- a/docs/reports/build.txt +++ b/docs/reports/build.txt @@ -13,9 +13,6 @@ CH_USE_ROUNDROBIN=FALSE CH_USE_SEMAPHORES_PRIORITY=TRUE * Building...OK * Testing...OK -CH_USE_SEMAPHORES_TIMEOUT=FALSE - * Building...OK - * Testing...OK CH_USE_CONDVARS_TIMEOUT=FALSE * Building...OK * Testing...OK @@ -43,6 +40,6 @@ CH_DBG_ENABLE_STACK_CHECK=TRUE CH_DBG_FILL_THREADS=TRUE * Building...OK * Testing...OK -CH_DBG_THREADS_PROFILING=TRUE +CH_DBG_THREADS_PROFILING=FALSE * Building...OK * Testing...OK diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 5290a18ce..f304fa998 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -1,132 +1,132 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -O2 -mthumb -Kernel Size = 6048 +Kernel Size = 5504 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -O2 -mthumb -Kernel Size = 1248 +Kernel Size = 1232 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -mthumb -Kernel Size = 5792 +Kernel Size = 5296 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -mthumb -Kernel Size = 1264 +Kernel Size = 1248 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 5456 +Kernel Size = 4976 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1216 +Kernel Size = 1200 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -O2 -Kernel Size = 8704 +Kernel Size = 7936 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -O2 -Kernel Size = 1904 +Kernel Size = 1856 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -Kernel Size = 8320 +Kernel Size = 7568 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -Kernel Size = 1856 +Kernel Size = 1824 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 7856 +Kernel Size = 7104 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1808 +Kernel Size = 1776 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5680 +Kernel Size = 5200 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1328 +Kernel Size = 1312 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5536 +Kernel Size = 5056 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1312 +Kernel Size = 1280 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5184 +Kernel Size = 4736 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.3.2 +Compiler : arm-elf-gcc (GCC) 4.3.3 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1248 +Kernel Size = 1216 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 6092 +Kernel Size = 5500 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1084 +Kernel Size = 1068 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 6076 +Kernel Size = 5484 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1084 +Kernel Size = 1068 -- cgit v1.2.3 From 4f34ddf7eb67ca20a919821d684a1614a66fc8c5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 26 May 2009 17:21:52 +0000 Subject: Setup for 1.3.1. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@992 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index a7ee51445..d518c61ac 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3.0 +PROJECT_NUMBER = 1.3.1 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 1508b4c564d1a34a3b06699a212b1faa27607fae Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 14:59:30 +0000 Subject: Removed empty "inline" section from the documentation. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@995 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 6 ------ 1 file changed, 6 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 288cda4c7..377427d0a 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -131,12 +131,6 @@ * @ingroup Kernel */ -/** - * @defgroup Inline Inline - * System inline-able code. - * @ingroup Kernel - */ - /** * @defgroup Debug Debug * Debug APIs and procedures. -- cgit v1.2.3 From b863d01c132a22f752761baa4d4209c17a7fba93 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 15:20:25 +0000 Subject: Documentation sections reorganizations, fixed bug 2799507. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@996 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 377427d0a..0013737df 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -113,8 +113,11 @@ */ /** - * @defgroup Core Generic Port Code Templates - * Non portable code templates. + * @defgroup Core Port Code Templates + * Non portable code templates. The function and the macros defined under this + * section are the non portable part of the kernel. + * @note The port code is not an API, the applications should not invoke it + * directly, use the equivalent system API instead. * @ingroup Kernel */ @@ -132,14 +135,14 @@ */ /** - * @defgroup Debug Debug + * @defgroup Debug Debug Support * Debug APIs and procedures. * @ingroup Kernel */ /** - * @defgroup Scheduler Scheduler - * ChibiOS/RT scheduler. + * @defgroup Scheduler Low Level Scheduler + * ChibiOS/RT scheduler APIs and macros. * @ingroup Kernel */ @@ -151,12 +154,19 @@ /** * @defgroup Threads Threads - * Threads creation and termination APIs. + * Threads related APIs. + * @ingroup Kernel */ /** * @defgroup Time Time and Virtual Timers * Time and Virtual Timers related APIs. + * @ingroup Kernel + */ + +/** + * @defgroup Memory Memory Management + * Memory Management services. */ /** @@ -171,6 +181,7 @@ * instead of the system provided allocator.
          * In order to use the heap APIs the @p CH_USE_HEAP option must be specified * in @p chconf.h. + * @ingroup Memory */ /** @@ -181,6 +192,12 @@ * constant time and reliably without memory fragmentation problems.
          * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be * specified in @p chconf.h. + * @ingroup Memory + */ + +/** + * @defgroup Synchronization Synchronization + * Synchronization services. */ /** @@ -205,6 +222,7 @@ * @p chconf.h.
          * In order to use the Semaphores APIs the @p CH_USE_SEMAPHORES * option must be specified in @p chconf.h.

          + * @ingroup Synchronization */ /** @@ -238,6 +256,7 @@ * priority was not already equal or higher). The mechanism works with any * number of nested mutexes and any number of involved threads. The algorithm * complexity (worst case) is N with N equal to the number of nested mutexes. + * @ingroup Synchronization */ /** @@ -249,6 +268,7 @@ * a Monitor construct.
          * In order to use the Condition Variables APIs the @p CH_USE_CONDVARS * option must be specified in @p chconf.h.

          + * @ingroup Synchronization */ /** @@ -268,6 +288,7 @@ * thread invokes a @p chEvtWaitXXX().
          * In order to use the Event APIs the @p CH_USE_EVENTS option must be * specified in @p chconf.h. + * @ingroup Synchronization */ /** @@ -287,6 +308,7 @@ * queue header).
          * In order to use the Messages APIs the @p CH_USE_MESSAGES option must be * specified in @p chconf.h. + * @ingroup Synchronization */ /** @@ -309,6 +331,12 @@ * allocate memory (from a memory pool as example) from the posting side and * free it on the fetching side. Another approach is to set a "done" flag into * the structure pointed by the message. + * @ingroup Synchronization + */ + +/** + * @defgroup IO I/O Support + * I/O related services. */ /** @@ -329,6 +357,7 @@ * . * In order to use the I/O queues the @p CH_USE_QUEUES option must * be specified in @p chconf.h.
          + * @ingroup IO */ /** @@ -342,6 +371,7 @@ * independent from the implementation logic. As example, an I/O channel * interface can hide the access to a serial driver, to a networking socket * and so on. + * @ingroup IO */ /** @@ -356,6 +386,7 @@ * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h.
          * In order to use the serial half duplex driver the * @p CH_USE_SERIAL_HALFDUPLEX option must be specified in @p chconf.h. + * @ingroup IO */ /** @@ -380,8 +411,8 @@ */ /** - * @defgroup event_timer Events Generator Timer - * @brief Event Generator Timer. + * @defgroup event_timer Periodic Events Timer + * @brief Periodic Event Timer. * @details This timer generates an event at regular intervals. The * listening threads can use the event to perform time related activities. * Multiple threads can listen to the same timer. -- cgit v1.2.3 From 67f44fadd6eeac97843259481aaa4bc286496785 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 15:47:29 +0000 Subject: Improved event flags documentation. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@997 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 0013737df..e1852342e 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -272,20 +272,30 @@ */ /** - * @defgroup Events Events - * Event Sources and Event Listeners. + * @defgroup Events Event Flags + * @brief Event Flags, Event Sources and Event Listeners. *

          Operation mode

          - * An Event Source is a special object that can be signaled by a thread or - * an interrupt service routine. Signaling an Event Source has the effect - * that all the threads registered on the Event Source will receive - * and serve the event.
          + * Each thread has a mask of pending event flags inside its Thread structure. + * Several operations are defined: + * - Wait, the invoking thread goes to sleep until a certain AND/OR + * combination of event flags becomes pending. + * - Clear, a mask of event flags is cleared from the pending events + * mask, the cleared event flags mask is returned (only the flags that were + actually pending and then cleared). + * - Signal, an event mask is directly ORed to the mask of the signaled + * thread. + * - Broadcast, each thread registered on an Event Source is signaled + * with the event flags specified in its Event Listener. + * - Dispatch, an events mask is scanned and for each bit set to one + * an associated handler function is invoked. Bit masks are scanned from bit + * zero upward. + * . + * An Event Source is a special object that can be "broadcasted" by a thread or + * an interrupt service routine. Broadcasting an Event Source has the effect + * that all the threads registered on the Event Source will be signaled with + * and events mask.
          * An unlimited number of Event Sources can exists in a system and each - * thread can listen on an unlimited number of them.
          - * Note that the events can be asynchronously generated but are synchronously - * served, a thread can serve event by calling a @p chEvtWaitXXX() - * API. If an event is generated while a listening thread is not ready to - * serve it then the event becomes "pending" and will be served as soon the - * thread invokes a @p chEvtWaitXXX().
          + * thread can listen on an unlimited number of them.

          * In order to use the Event APIs the @p CH_USE_EVENTS option must be * specified in @p chconf.h. * @ingroup Synchronization @@ -295,7 +305,7 @@ * @defgroup Messages Synchronous Messages * Synchronous inter-thread messages. *

          Operation Mode

          - * Synchronoud messages are an easy to use and fast IPC mechanism, threads + * Synchronous messages are an easy to use and fast IPC mechanism, threads * can both serve messages and send messages to other threads, the mechanism * allows data to be carried in both directions. Data is not copied between * the client and server threads but just a pointer passed so the exchange -- cgit v1.2.3 From 120ed882b18dd550d9776dacff49d37783742c9b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 16:01:41 +0000 Subject: Improvements to the I/O section documentation. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@998 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index e1852342e..289e7ab55 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -350,10 +350,11 @@ */ /** - * @defgroup IOQueues Physical I/O Queues - * ChibiOS/RT supports several kinds of queues. The queues are mostly used - * in serial-like device drivers. The device drivers are usually designed to - * have a lower side (lower driver, it is usually an interrupt service + * @defgroup IOQueues I/O Queues + * @brief I/O queues. + * @details ChibiOS/RT supports several kinds of queues. The queues are mostly + * used in serial-like device drivers. The device drivers are usually designed + * to have a lower side (lower driver, it is usually an interrupt service * routine) and an upper side (upper driver, accessed by the application * threads).
          * There are several kind of queues:
          @@ -372,11 +373,12 @@ /** * @defgroup Channels Abstract I/O Channels - * This module defines an abstract interface for I/O channels. Note that - * no code is present, I/O channels are just abstract classes-like structures, - * you should look at the systems as to a set of abstract C++ classes (even if - * implemented in C). Specific device drivers can use/extend the interfaces - * and implement them.
          + * @brief Abstract I/O Channels. + * @details This module defines an abstract interface for I/O channels. Note + * that no code is present, I/O channels are just abstract classes-like + * structures, you should look at the systems as to a set of abstract C++ + * classes (even if implemented in C). Specific device drivers can use/extend + * the interfaces and implement them.
          * This system has the advantage to make the access to channels * independent from the implementation logic. As example, an I/O channel * interface can hide the access to a serial driver, to a networking socket @@ -386,10 +388,12 @@ /** * @defgroup Serial Serial Drivers - * This module implements a generic full duplex serial driver and a generic - * half duplex serial driver. It uses the I/O Queues for communication between - * the upper and the lower driver and events to notify the application about - * incoming data, outcoming data and other I/O events. + * @brief Generic Serial Drivers. + * @details This module implements a generic full duplex serial driver. The + * driver implements a @p FullDuplexDriver interface and uses I/O Queues for + * communication between the upper and the lower driver. Event flags are used + * to notify the application about incoming data, outgoing data and other I/O + * events.
          * The module also contains functions that make the implementation of the * interrupt service routines much easier.
          * In order to use the serial full duplex driver the -- cgit v1.2.3 From 811227694ff5fdbdb2ee60c083e8e1fcac34e4e9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 16:02:22 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@999 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 2 -- 1 file changed, 2 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 289e7ab55..a3b9a453b 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -399,8 +399,6 @@ * In order to use the serial full duplex driver the * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h.
          * In order to use the serial half duplex driver the - * @p CH_USE_SERIAL_HALFDUPLEX option must be specified in @p chconf.h. - * @ingroup IO */ /** -- cgit v1.2.3 From 38c77daa8b81bc55fc391d5ebcf320d5cd3aba18 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 16:04:06 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1000 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index a3b9a453b..2cc656107 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -397,8 +397,7 @@ * The module also contains functions that make the implementation of the * interrupt service routines much easier.
          * In order to use the serial full duplex driver the - * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h.
          - * In order to use the serial half duplex driver the + * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h. */ /** -- cgit v1.2.3 From c94601bac37911295d3945cdd4041c52d42e0e80 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 16:11:08 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1001 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 2cc656107..2c9b63d21 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -346,7 +346,12 @@ /** * @defgroup IO I/O Support - * I/O related services. + * @brief I/O related services. + * @details This section contains the I/O related services. Note that no + * specific drivers are documented here, all the listed modules are abstract + * interfaces or kernel APIs that the device drivers should implement/use.
          + * The use of common I/O interfaces allow for a certain degree of portability + * for the ChibiOS/RT application among very different MCUs. */ /** @@ -398,6 +403,7 @@ * interrupt service routines much easier.
          * In order to use the serial full duplex driver the * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h. + * @ingroup IO */ /** -- cgit v1.2.3 From a83063db261921df93594ae43bd9d568298f3361 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 16:13:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1002 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 2c9b63d21..0bcd4969f 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -382,7 +382,7 @@ * @details This module defines an abstract interface for I/O channels. Note * that no code is present, I/O channels are just abstract classes-like * structures, you should look at the systems as to a set of abstract C++ - * classes (even if implemented in C). Specific device drivers can use/extend + * classes (even if written in C). Specific device drivers can use/extend * the interfaces and implement them.
          * This system has the advantage to make the access to channels * independent from the implementation logic. As example, an I/O channel -- cgit v1.2.3 From 0da4e6e067db019f455b43a3391a1510f517d2cf Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 17:52:34 +0000 Subject: Added abstract I/O ports driver header file and documentation. Implementations are missing. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1003 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 80 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 65 insertions(+), 15 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 0bcd4969f..a969854f4 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -354,6 +354,69 @@ * for the ChibiOS/RT application among very different MCUs. */ +/** + * @defgroup IOPorts Abstract I/O Ports + * @brief Abstract digital I/O ports. + * @details This module defines an abstract interface for digital I/O ports. + * Note that no code is present, I/O ports are just a set of macros that must + * be implemented by a low level I/O port driver.
          + * Currently the I/O ports interface does not handle physical port programming + * like direction, pull up/down resistors etc. The interface only allows input + * and output operations but this may change in future releases. + * This system has the advantage to make the access to I/O ports platform + * independent from the implementation logic. + * + *

          Implementation Rules

          + * In implementing an I/O port low level driver there are some rules that + * should be respected. + * + *

          Write on input pads

          + * The behavior is not specified but there are implementations better than + * others, this is the list of possible implementations, preferred options + * are on top: + * -# The written value is not actually output but latched, should the pads + * be reprogrammed as outputs the value would be in effect. + * -# The write operation is ignored. + * -# The write operation has side effects, as example disabling/enabling + * pull up/down resistors or changing the pad direction. This scenario is + * discouraged, please try to avoid this scenario. + * . + *

          Read from output pads

          + * The behavior is not specified but there are implementations better than + * others, this is the list of possible implementations, preferred options + * are on top: + * -# The actual pads states are read (not the output latch). + * -# The output latch value is read (regardless of the actual pads states). + * -# Unspecified, please try to avoid this scenario. + * . + *

          Writing unused or unimplemented port bits

          + * The behavior is not specified. + * + *

          Reading from unused or unimplemented port bits

          + * The behavior is not specified. + * + *

          Reading or writing on pins associated to other functionalities

          + * The behavior is not specified. + * + * @ingroup IO + */ + +/** + * @defgroup Channels Abstract I/O Channels + * @brief Abstract I/O Channels. + * @details This module defines an abstract interface for I/O channels. Note + * that no code is present, I/O channels are just abstract classes-like + * structures, you should look at the systems as to a set of abstract C++ + * classes (even if written in C). Specific device drivers can use/extend + * the interfaces and implement them.
          + * This system has the advantage to make the access to channels + * independent from the implementation logic. As example, an I/O channel + * interface can hide the access to a serial driver, to a networking socket + * and so on. + * + * @ingroup IO + */ + /** * @defgroup IOQueues I/O Queues * @brief I/O queues. @@ -373,24 +436,10 @@ * . * In order to use the I/O queues the @p CH_USE_QUEUES option must * be specified in @p chconf.h.
          + * * @ingroup IO */ -/** - * @defgroup Channels Abstract I/O Channels - * @brief Abstract I/O Channels. - * @details This module defines an abstract interface for I/O channels. Note - * that no code is present, I/O channels are just abstract classes-like - * structures, you should look at the systems as to a set of abstract C++ - * classes (even if written in C). Specific device drivers can use/extend - * the interfaces and implement them.
          - * This system has the advantage to make the access to channels - * independent from the implementation logic. As example, an I/O channel - * interface can hide the access to a serial driver, to a networking socket - * and so on. - * @ingroup IO - */ - /** * @defgroup Serial Serial Drivers * @brief Generic Serial Drivers. @@ -403,6 +452,7 @@ * interrupt service routines much easier.
          * In order to use the serial full duplex driver the * @p CH_USE_SERIAL_FULLDUPLEX option must be specified in @p chconf.h. + * * @ingroup IO */ -- cgit v1.2.3 From 080e6abe804c5404c4d81614cf130b4ce332efcd Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 18:35:07 +0000 Subject: Added I/O ports low level driver template. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1006 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index a969854f4..d62ebda3e 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -401,6 +401,15 @@ * @ingroup IO */ +/** + * @defgroup IOPortsLLD I/O Ports Low Level Driver + * @brief Digital I/O ports low level driver template. + * @details This file is a template for an I/O port low level driver. This + * file implements the prysical layer of an I/O port driver. + * + * @ingroup IOPorts + */ + /** * @defgroup Channels Abstract I/O Channels * @brief Abstract I/O Channels. -- cgit v1.2.3 From 6d9146901cd9503180ec272f5b3af12e08553277 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 19:50:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1007 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index d62ebda3e..f38920462 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -359,7 +359,7 @@ * @brief Abstract digital I/O ports. * @details This module defines an abstract interface for digital I/O ports. * Note that no code is present, I/O ports are just a set of macros that must - * be implemented by a low level I/O port driver.
          + * be implemented by an @ref IOPortsLLD.
          * Currently the I/O ports interface does not handle physical port programming * like direction, pull up/down resistors etc. The interface only allows input * and output operations but this may change in future releases. @@ -367,10 +367,10 @@ * independent from the implementation logic. * *

          Implementation Rules

          - * In implementing an I/O port low level driver there are some rules that + * In implementing an @ref IOPortsLLD there are some rules/behaviors that * should be respected. * - *

          Write on input pads

          + *

          Writing on input pads

          * The behavior is not specified but there are implementations better than * others, this is the list of possible implementations, preferred options * are on top: @@ -381,7 +381,7 @@ * pull up/down resistors or changing the pad direction. This scenario is * discouraged, please try to avoid this scenario. * . - *

          Read from output pads

          + *

          Reading from output pads

          * The behavior is not specified but there are implementations better than * others, this is the list of possible implementations, preferred options * are on top: -- cgit v1.2.3 From 4a4940c5b1a87c2b9541a6015dc121f27cef72b4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 1 Jun 2009 20:54:39 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1008 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index f38920462..6eda34beb 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -360,11 +360,14 @@ * @details This module defines an abstract interface for digital I/O ports. * Note that no code is present, I/O ports are just a set of macros that must * be implemented by an @ref IOPortsLLD.
          + * This system has the advantage to make the access to I/O ports platform + * independent from the implementation logic.
          * Currently the I/O ports interface does not handle physical port programming * like direction, pull up/down resistors etc. The interface only allows input - * and output operations but this may change in future releases. - * This system has the advantage to make the access to I/O ports platform - * independent from the implementation logic. + * and output operations but this may change in future releases.
          + * Note that the @ref IOPortsLLD may also offer non standard macro and + * functions in order to support specific features but, of course, the use of + * such interfaces would not be portable. * *

          Implementation Rules

          * In implementing an @ref IOPortsLLD there are some rules/behaviors that -- cgit v1.2.3 From 8ada44e092e20e825b78c3d25ee016861cf886a9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 2 Jun 2009 09:33:11 +0000 Subject: Modified the STM32 demo to use the new I/O port driver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1010 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 6eda34beb..fee2af8e5 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -401,6 +401,11 @@ *

          Reading or writing on pins associated to other functionalities

          * The behavior is not specified. * + *

          Usage

          + * The use of I/O ports requires the inclusion of the header file @p ioports.h, + * this file is not automatically included @o ch.h like the other header + * files. + * * @ingroup IO */ -- cgit v1.2.3 From 10ff25a6d35e23728ebb5f42788975452d8978a4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 2 Jun 2009 09:54:57 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1013 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index fee2af8e5..bfe6f036c 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -403,7 +403,7 @@ * *

          Usage

          * The use of I/O ports requires the inclusion of the header file @p ioports.h, - * this file is not automatically included @o ch.h like the other header + * this file is not automatically included @p ch.h like the other header * files. * * @ingroup IO -- cgit v1.2.3 From 9148fd36b23a5ffcdd2f358627370a697fb49cef Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 3 Jun 2009 20:32:28 +0000 Subject: Added default implementations for I/O ports functions in ioports.h. Adjusted the documentation accordingly. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1017 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index bfe6f036c..c92192fff 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -358,10 +358,14 @@ * @defgroup IOPorts Abstract I/O Ports * @brief Abstract digital I/O ports. * @details This module defines an abstract interface for digital I/O ports. - * Note that no code is present, I/O ports are just a set of macros that must - * be implemented by an @ref IOPortsLLD.
          - * This system has the advantage to make the access to I/O ports platform - * independent from the implementation logic.
          + * Note that I/O ports functions are just a set of macros. The macros + * have default software implementation that can be redefined by an + * @ref IOPortsLLD if the target hardware supports special features like, as + * example, atomic bit set/reset/masking. Please refer to the documentation + * of the low level drivers for each port.
          + * This abstraction system has the advantage to make the access to the I/O + * ports platform independent and still be optimized for the specific + * architecture.
          * Currently the I/O ports interface does not handle physical port programming * like direction, pull up/down resistors etc. The interface only allows input * and output operations but this may change in future releases.
          -- cgit v1.2.3 From 4fc5b696fad6b10620dcd49149bf64b829e38f77 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 7 Jun 2009 10:27:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1019 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index c92192fff..24d7acda1 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -355,26 +355,25 @@ */ /** - * @defgroup IOPorts Abstract I/O Ports - * @brief Abstract digital I/O ports. + * @defgroup PAL I/O Ports Abstraction Layer (PAL) + * @brief I/O Ports Abstraction Layer * @details This module defines an abstract interface for digital I/O ports. * Note that I/O ports functions are just a set of macros. The macros - * have default software implementation that can be redefined by an - * @ref IOPortsLLD if the target hardware supports special features like, as - * example, atomic bit set/reset/masking. Please refer to the documentation - * of the low level drivers for each port.
          - * This abstraction system has the advantage to make the access to the I/O - * ports platform independent and still be optimized for the specific - * architecture.
          + * have default software implementations that can be redefined in a + * @ref PAL_LLD if the target hardware supports special features like, as + * example, atomic bit set/reset/masking. Please refer to the ports specific + * documentation for details.
          + * The @ref PAL has the advantage to make the access to the I/O ports platform + * independent and still be optimized for the specific architectures.
          * Currently the I/O ports interface does not handle physical port programming * like direction, pull up/down resistors etc. The interface only allows input * and output operations but this may change in future releases.
          - * Note that the @ref IOPortsLLD may also offer non standard macro and - * functions in order to support specific features but, of course, the use of - * such interfaces would not be portable. + * Note that the @ref PAL_LLD may also offer non standard macro and functions + * in order to support specific features but, of course, the use of such + * interfaces would not be portable. * *

          Implementation Rules

          - * In implementing an @ref IOPortsLLD there are some rules/behaviors that + * In implementing an @ref PAL_LLD there are some rules/behaviors that * should be respected. * *

          Writing on input pads

          @@ -406,7 +405,7 @@ * The behavior is not specified. * *

          Usage

          - * The use of I/O ports requires the inclusion of the header file @p ioports.h, + * The use of I/O ports requires the inclusion of the header file @p pal.h, * this file is not automatically included @p ch.h like the other header * files. * @@ -414,12 +413,12 @@ */ /** - * @defgroup IOPortsLLD I/O Ports Low Level Driver - * @brief Digital I/O ports low level driver template. + * @defgroup PAL_LLD PAL Low Level Driver + * @brief @ref PAL low level driver template. * @details This file is a template for an I/O port low level driver. This - * file implements the prysical layer of an I/O port driver. + * file implements the physical layer of an I/O port driver. * - * @ingroup IOPorts + * @ingroup PAL */ /** -- cgit v1.2.3 From a5df28e309adbccff162d67cfb9f55c653c73f7b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 7 Jun 2009 15:44:03 +0000 Subject: Revised port abstraction layer (PAL), STM32 support adjusted. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1023 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 24d7acda1..3a38d7115 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -358,7 +358,7 @@ * @defgroup PAL I/O Ports Abstraction Layer (PAL) * @brief I/O Ports Abstraction Layer * @details This module defines an abstract interface for digital I/O ports. - * Note that I/O ports functions are just a set of macros. The macros + * Note that most I/O ports functions are just macros. The macros * have default software implementations that can be redefined in a * @ref PAL_LLD if the target hardware supports special features like, as * example, atomic bit set/reset/masking. Please refer to the ports specific -- cgit v1.2.3 From be1e6b03d4a49b6fa16c3368435089f8706fb566 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 7 Jun 2009 17:53:23 +0000 Subject: Adjusted PAL support for LPC214x. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1026 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 62 +++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 3a38d7115..fecca64f9 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -164,37 +164,6 @@ * @ingroup Kernel */ -/** - * @defgroup Memory Memory Management - * Memory Management services. - */ - -/** - * @defgroup Heap Heap - * Heap Allocator related APIs. - *

          Operation mode

          - * The heap allocator implements a first-fit strategy and its APIs are - * functionally equivalent to the usual @p malloc() and @p free(). The main - * difference is that the heap APIs are thread safe.
          - * By enabling the @p CH_USE_MALLOC_HEAP option the heap manager will use the - * runtime-provided @p malloc() and @p free() as backend for the heap APIs - * instead of the system provided allocator.
          - * In order to use the heap APIs the @p CH_USE_HEAP option must be specified - * in @p chconf.h. - * @ingroup Memory - */ - -/** - * @defgroup MemoryPools Memory Pools - * Memory Pools related APIs. - *

          Operation mode

          - * The Memory Pools APIs allow to allocate/free fixed size objects in - * constant time and reliably without memory fragmentation problems.
          - * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be - * specified in @p chconf.h. - * @ingroup Memory - */ - /** * @defgroup Synchronization Synchronization * Synchronization services. @@ -344,6 +313,37 @@ * @ingroup Synchronization */ +/** + * @defgroup Memory Memory Management + * Memory Management services. + */ + +/** + * @defgroup Heap Heap + * Heap Allocator related APIs. + *

          Operation mode

          + * The heap allocator implements a first-fit strategy and its APIs are + * functionally equivalent to the usual @p malloc() and @p free(). The main + * difference is that the heap APIs are thread safe.
          + * By enabling the @p CH_USE_MALLOC_HEAP option the heap manager will use the + * runtime-provided @p malloc() and @p free() as backend for the heap APIs + * instead of the system provided allocator.
          + * In order to use the heap APIs the @p CH_USE_HEAP option must be specified + * in @p chconf.h. + * @ingroup Memory + */ + +/** + * @defgroup MemoryPools Memory Pools + * Memory Pools related APIs. + *

          Operation mode

          + * The Memory Pools APIs allow to allocate/free fixed size objects in + * constant time and reliably without memory fragmentation problems.
          + * In order to use the Time APIs the @p CH_USE_MEMPOOLS option must be + * specified in @p chconf.h. + * @ingroup Memory + */ + /** * @defgroup IO I/O Support * @brief I/O related services. -- cgit v1.2.3 From b972ff53d26b0e37ec3a430a5bc12b3be489c667 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 7 Jun 2009 17:55:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1027 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/rsc/header.html b/docs/rsc/header.html index 540648e31..f79857920 100644 --- a/docs/rsc/header.html +++ b/docs/rsc/header.html @@ -9,7 +9,7 @@
          ChibiOS/RT LogoChibiOS/RT

          Architecture - Reference Manual - Guides
          ChibiOS/RT

          Architecture - Reference Manual - Guides
          + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
          + * Subsystem + * + * Free capable + * + * Constant time + * + * Safe + * + * From IRQ + * + * Notes + *
          + * Static Objects + * N/AN/AYESYES + * Preferred solution for safety applications. + *
          + * Core Memory Manager + * NOYESYESYES + * Fast and safe but unable to free allocated memory. + *
          + * Heap Allocator + * YESNONONO + * Unsafe because fragmentation and not constant time, cannot be used + * from IRQ handlers. + *
          + * Memory Pools + * YESYESYESYES + * Fast and safe but it can handle fixed size objects only, you may have + * multiple memory pools however. + *
          + * C-Runtime + * YESNONONO + * Unsafe because fragmentation, not constant time, cannot be used + * from IRQ handlers and not thread safe. The C runtime must also be + * modified in order to work with the other allocators. + *
          + *
          + * When designing a system it is recommended to proceed as follow: + * -# Use static objects and initializers whenever possible. + * -# Where dynamic allocation is required without have to free the allocated + * memory then use the Core Memory Manager allocation APIs. + * -# Where dynamic allocation is required evaluate if one or more memory + * pools can be used. + * -# If all the above points do not satisfy your requirements then use the + * heap allocator. + * -# Consider the C-runtime allocator only for legacy code. + * . + */ + \ No newline at end of file -- cgit v1.2.3 From 5ccb308ed861f6f7a42b7d826e939fd8efa68bac Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 27 Oct 2009 19:07:17 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1257 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 808975cf9..00c357794 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3.3 +PROJECT_NUMBER = 1.3.4 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 89a9bbf48fe87a6d76226e80723930617380c369 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 15 Nov 2009 13:03:13 +0000 Subject: Fixed MMC driver states graph, changed version numbers. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1306 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 00c357794..d46f442fd 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3.4 +PROJECT_NUMBER = 1.3.5 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From aa2f5af6f01de0e2083c2c92bc4ae2fedeac847d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 16 Nov 2009 16:39:22 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1309 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d46f442fd..f67e920cd 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -890,21 +890,21 @@ DOCSET_BUNDLE_ID = org.doxygen.Project # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. -GENERATE_HTMLHELP = NO +GENERATE_HTMLHELP = YES # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. -CHM_FILE = +CHM_FILE = ../ChibiOS_RT.chm # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. -HHC_LOCATION = +HHC_LOCATION = "\"C:/Program Files/HTML Help Workshop/hhc.exe\"" # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that -- cgit v1.2.3 From 9b10a6c67a38fa040eb62e63190aed0880ead8ec Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 26 Nov 2009 21:55:56 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1332 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index f67e920cd..c01a26e0a 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -588,7 +588,7 @@ INPUT = ../docs/src \ ../os/ports/GCC/AVR \ ../os/io \ ../os/io/templates \ - ../os/io/platforms/AT91SAM7X \ + ../os/io/platforms/AT91SAM7 \ ../os/io/platforms/AVR \ ../os/io/platforms/LPC214x \ ../os/io/platforms/MSP430 \ -- cgit v1.2.3 From bd50dd065001e4534356b7eee1e67cb1c486cb04 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 29 Nov 2009 08:05:56 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1340 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index c01a26e0a..3c9227521 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -586,13 +586,15 @@ INPUT = ../docs/src \ ../os/ports/GCC/ARMCM3/crt0.s \ ../os/ports/GCC/MSP430 \ ../os/ports/GCC/AVR \ - ../os/io \ - ../os/io/templates \ - ../os/io/platforms/AT91SAM7 \ - ../os/io/platforms/AVR \ - ../os/io/platforms/LPC214x \ - ../os/io/platforms/MSP430 \ - ../os/io/platforms/STM32 \ + ../os/hal \ + ../os/hal/include \ + ../os/hal/src \ + ../os/hal/templates \ + ../os/hal/platforms/AT91SAM7 \ + ../os/hal/platforms/AVR \ + ../os/hal/platforms/LPC214x \ + ../os/hal/platforms/MSP430 \ + ../os/hal/platforms/STM32 \ ../os/various \ ../test @@ -650,7 +652,7 @@ RECURSIVE = NO # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = ../os/io/platforms/STM32/stm32f10x.h +EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded -- cgit v1.2.3 From 2f505cf183ad47f6b25677e864e2f426b28c7f6f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 5 Dec 2009 09:07:21 +0000 Subject: MSP430 HAL integration git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1375 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 2 +- docs/reports/MSP430F1611-8.txt | 153 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 docs/reports/MSP430F1611-8.txt (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index 49dd375b1..ad619d833 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -1,6 +1,6 @@ *************************************************************************** Options: -O2 -fomit-frame-pointer -Settings: MCLK=DCOCLK 750Khz +Settings: MCLK=DCOCLK 750KHz *************************************************************************** *** ChibiOS/RT test suite diff --git a/docs/reports/MSP430F1611-8.txt b/docs/reports/MSP430F1611-8.txt new file mode 100644 index 000000000..854954383 --- /dev/null +++ b/docs/reports/MSP430F1611-8.txt @@ -0,0 +1,153 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer +Settings: MCLK=XT2CLK 8MHz +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.5unstable +*** Architecture: MSP430 +*** GCC Version: 3.2.3 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 20960 msgs/S, 41920 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 17361 msgs/S, 34722 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 17361 msgs/S, 34722 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 64272 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 14284 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 18397 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 5347 reschedulations/S, 32082 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 46344 reschedulations/S, 46344 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 54360 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 60944 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 150640 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 84048 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 202 bytes +--- Thread: 30 bytes +--- Timer : 10 bytes +--- Semaph: 6 bytes +--- EventS: 2 bytes +--- EventL: 6 bytes +--- Mutex : 8 bytes +--- CondV.: 4 bytes +--- Queue : 16 bytes +--- MailB.: 20 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 646d8a2376e3d476a3d00edb665770596fb252f6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 5 Dec 2009 14:59:37 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1376 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 06e35a4a8..7f8556c86 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,9 +5,9 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.3unstable +*** Kernel: 1.3.5unstable *** Architecture: ARM Cortex-M3 -*** GCC Version: 4.4.1 +*** GCC Version: 4.4.2 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) -- cgit v1.2.3 From 03ee1dcc181977a44af9a43906fb1d41055ab713 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 8 Dec 2009 15:33:39 +0000 Subject: Updated reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1395 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 6 +- docs/reports/AT91SAM7X-48-THUMB.txt | 4 +- docs/reports/ATmega128-16.txt | 193 +++++++++++++++++++++++------------- docs/reports/LPC2148-48-ARM.txt | 16 +-- docs/reports/LPC2148-48-THUMB.txt | 18 ++-- docs/reports/STM32F103-48.txt | 8 +- 6 files changed, 148 insertions(+), 97 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 477e05a4b..ad122d674 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,9 +5,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.3unstable +*** Kernel: 1.3.5unstable *** Architecture: ARM7TDMI -*** GCC Version: 4.4.1 +*** GCC Version: 4.4.2 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -117,7 +117,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 258040 reschedulations/S, 258040 ctxswc/S +--- Score : 258028 reschedulations/S, 258028 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index dcc5aaf91..5dc43e3e9 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -5,9 +5,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.3unstable +*** Kernel: 1.3.5unstable *** Architecture: ARM7TDMI -*** GCC Version: 4.4.1 +*** GCC Version: 4.4.2 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) diff --git a/docs/reports/ATmega128-16.txt b/docs/reports/ATmega128-16.txt index 6166b23b3..ff5a4a97d 100644 --- a/docs/reports/ATmega128-16.txt +++ b/docs/reports/ATmega128-16.txt @@ -1,102 +1,153 @@ *************************************************************************** -Kernel: ChibiOS/RT 1.2.0 stable -Compiler: GCC 4.3.0 (WinAVR 10.06.2008) Options: -O2 Settings: F_CPU=16000000 *************************************************************************** ---------------------------------------------------------------------------- ---- Test Case 1.1 (Ready List, priority enqueuing test #1) +*** ChibiOS/RT test suite +*** +*** Kernel: 1.3.5unstable +*** Architecture: AVR +*** GCC Version: 4.3.0 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 1.2 (Ready List, priority enqueuing test #2) +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout test) +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.1 (Mutexes, priority enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.2 (Mutexes, priority inheritance, simple case) ---- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.3 (Mutexes, priority inheritance, complex case) +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.4 (CondVar, signal test) +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.5 (CondVar, broadcast test) ---- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, inheritance boost test) ---- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, dispatch test) +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 5.1 (Mailboxes, queuing and timeouts) +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 6.1 (Events, wait and broadcast) +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Size : 508 bytes, not fragmented +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, allocation and enqueuing test) +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.1 (Benchmark, context switch #1, optimal) ---- Score : 30833 msgs/S, 61666 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.2 (Benchmark, context switch #2, empty ready list) ---- Score : 24601 msgs/S, 49202 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.3 (Benchmark, context switch #3, 4 threads in ready list) ---- Score : 24601 msgs/S, 49202 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.4 (Benchmark, threads creation/termination, worst case) ---- Score : 20979 threads/S +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.5 (Benchmark, threads creation/termination, optimal) ---- Score : 26947 threads/S +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.6 (Benchmark, mass reschedulation, 5 threads) ---- Score : 7793 reschedulations/S, 46758 ctxswc/S +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.7 (Benchmark, I/O Queues throughput) ---- Score : 84048 bytes/S +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.8 (Benchmark, virtual timers set/reset) ---- Score : 81556 timers/S +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.9 (Benchmark, semaphores wait/signal) ---- Score : 224416 wait+signal/S +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 10.10 (Benchmark, mutexes lock/unlock) ---- Score : 119412 lock+unlock/S +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 30808 msgs/S, 61616 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 24579 msgs/S, 49158 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 24579 msgs/S, 49158 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 88608 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 20741 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 26561 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 7786 reschedulations/S, 46716 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 67756 reschedulations/S, 67756 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 82224 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 81482 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 224224 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 119304 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 220 bytes +--- Thread: 27 bytes +--- Timer : 10 bytes +--- Semaph: 5 bytes +--- EventS: 2 bytes +--- EventL: 5 bytes +--- Mutex : 8 bytes +--- CondV.: 4 bytes +--- Queue : 15 bytes +--- MailB.: 18 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- Final result: SUCCESS diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index fc5a2e21a..d7a98a68e 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,9 +5,9 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.3unstable +*** Kernel: 1.3.5unstable *** Architecture: ARM7TDMI -*** GCC Version: 4.4.1 +*** GCC Version: 4.4.2 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -89,7 +89,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 144428 msgs/S, 288856 ctxswc/S +--- Score : 144427 msgs/S, 288854 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -105,11 +105,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 107672 threads/S +--- Score : 107671 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 150332 threads/S +--- Score : 150334 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) @@ -117,11 +117,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 340840 reschedulations/S, 340840 ctxswc/S +--- Score : 340828 reschedulations/S, 340828 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 357096 bytes/S +--- Score : 357104 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) @@ -133,7 +133,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 380192 lock+unlock/S +--- Score : 380196 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index a61a299ca..436ae860b 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -5,9 +5,9 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.3unstable +*** Kernel: 1.3.5unstable *** Architecture: ARM7TDMI -*** GCC Version: 4.4.1 +*** GCC Version: 4.4.2 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -89,7 +89,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 104990 msgs/S, 209980 ctxswc/S +--- Score : 104991 msgs/S, 209982 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -101,11 +101,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 410504 ctxswc/S +--- Score : 410488 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 87174 threads/S +--- Score : 87176 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) @@ -121,19 +121,19 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 265332 bytes/S +--- Score : 265328 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 303350 timers/S +--- Score : 303348 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 353240 wait+signal/S +--- Score : 353248 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 249160 lock+unlock/S +--- Score : 249168 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index bfab849f9..d57a1da73 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -5,9 +5,9 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.3unstable +*** Kernel: 1.3.5unstable *** Architecture: ARM Cortex-M3 -*** GCC Version: 4.4.1 +*** GCC Version: 4.4.2 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -109,7 +109,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 162821 threads/S +--- Score : 162820 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) @@ -125,7 +125,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 526066 timers/S +--- Score : 526068 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) -- cgit v1.2.3 From 8b165fe3e29168a029d48cd8089a3f2c836e7ee3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 12 Dec 2009 07:42:09 +0000 Subject: Updated reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1421 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/coverage.txt | 8 +++-- docs/reports/kernel.txt | 80 +++++++++++++++++++++++------------------------ 2 files changed, 46 insertions(+), 42 deletions(-) (limited to 'docs') diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index d7af0c3e9..14827ff18 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -1,5 +1,7 @@ +mkdir gcov +gcov -u ..\..\os\kernel\src\chsys.c ..\..\os\kernel\src\chdebug.c ..\..\os\kernel\src\chlists.c ..\..\os\kernel\src\chvt.c ..\..\os\kernel\src\chschd.c ..\..\os\kernel\src\chthreads.c ..\..\os\kernel\src\chsem.c ..\..\os\kernel\src\chmtx.c ..\..\os\kernel\src\chcond.c ..\..\os\kernel\src\chevents.c ..\..\os\kernel\src\chmsg.c ..\..\os\kernel\src\chmboxes.c ..\..\os\kernel\src\chqueues.c ..\..\os\kernel\src\chmemcore.c ..\..\os\kernel\src\chheap.c ..\..\os\kernel\src\chmempools.c File `../../os/kernel/src/chsys.c' -Lines executed:100.00% of 28 +Lines executed:100.00% of 26 ../../os/kernel/src/chsys.c:creating `chsys.c.gcov' File `../../os/kernel/src/chdebug.c' @@ -51,7 +53,7 @@ Lines executed:100.00% of 96 ../../os/kernel/src/chqueues.c:creating `chqueues.c.gcov' File `../../os/kernel/src/chmemcore.c' -Lines executed:100.00% of 17 +Lines executed:100.00% of 18 ../../os/kernel/src/chmemcore.c:creating `chmemcore.c.gcov' File `../../os/kernel/src/chheap.c' @@ -61,3 +63,5 @@ Lines executed:100.00% of 79 File `../../os/kernel/src/chmempools.c' Lines executed:96.43% of 28 ../../os/kernel/src/chmempools.c:creating `chmempools.c.gcov' + +mv -f *.gcov ./gcov diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 888f18253..05e75aa86 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -1,132 +1,132 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 5168 +Kernel Size = 5280 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 1280 +Kernel Size = 1332 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 4960 +Kernel Size = 5048 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 1216 +Kernel Size = 1284 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 4704 +Kernel Size = 4768 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1184 +Kernel Size = 1236 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -Kernel Size = 7760 +Kernel Size = 7976 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -Kernel Size = 1856 +Kernel Size = 1956 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -Kernel Size = 7536 +Kernel Size = 7700 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -Kernel Size = 1808 +Kernel Size = 1908 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 7104 +Kernel Size = 7276 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1744 +Kernel Size = 1844 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5008 +Kernel Size = 5100 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1296 +Kernel Size = 1336 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4816 +Kernel Size = 4940 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1264 +Kernel Size = 1316 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4560 +Kernel Size = 4680 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.1 +Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1216 +Kernel Size = 1272 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 5324 +Kernel Size = 5416 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1068 +Kernel Size = 1156 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 5308 +Kernel Size = 5424 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1068 +Kernel Size = 1156 -- cgit v1.2.3 From 6716159ba1186d9360d80b4b2313b3a047055295 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 13 Dec 2009 13:37:06 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1423 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 3c9227521..1f6e18f13 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3.5 +PROJECT_NUMBER = 1.3.6 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 453515ab5cc9139ca123151c29d2ddc3ef1e4a44 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 21 Dec 2009 08:55:31 +0000 Subject: Updated GPL exception text in the documentation. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1452 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/licfaq.dox | 50 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 11 deletions(-) (limited to 'docs') diff --git a/docs/src/licfaq.dox b/docs/src/licfaq.dox index 58e99a2bb..33f9de5e2 100644 --- a/docs/src/licfaq.dox +++ b/docs/src/licfaq.dox @@ -33,8 +33,18 @@ * - Am I forced to release the source code of my product?
          * The exception to the GPL allows you to use ChibiOS/RT in your commercial * application without have to release your source code under certains - * conditions. See the exception text under "Approved Interfaces" for + * conditions. See the @ref exception_text under "Approved Interfaces" for * details. + * - What I have to contribute back?
          + * In general you have to offer changes done on existing files (where + * allowed) or new developments done using the OS template files. As example: + * - Ports to new architectures because a new port uses copyrighted OS + * template files. + * - New, HAL-style, device drivers because device drivers use copyrighted + * template files. + * - Improvements on modifiable OS code as described in the + * "approved interfaces" section of the @ref exception_text. + * . * - Is the exception applicable to any ChibiOS/RT version ?
          * The exception is valid only for ChibiOS/RT releases marked as @e stable. * Beta or unstable versions are covered by the GPL3 alone because are meant @@ -45,7 +55,7 @@ * . * @section exception_text GPL Exception Text -
          GPL Exception Text
          +
          GPL Exception Text for ChibiOS/RT 1.4.x
          In addition, as a special exception, the copyright holder of ChibiOS/RT, gives You the additional right to link the unmodified code of this Program with @@ -62,23 +72,41 @@ in this paragraph. recipient request it. -# The combined work is not itself an RTOS, scheduler, kernel or related product. - -# The combined work is not itself a library intended for linking into - other software applications. + -# The combined work is not itself a binary library intended for linking + into other software applications. + .
          The Approved Interfaces
          -# The files of Non-GPL Code may include the unmodified ChibiOS/RT - distribution header files contained in ./src/include and ./src/lib + distribution header files contained under: + - ./os/kernel/include + - ./os/hal/include + - ./os/hal/platforms + - ./os/various + . without causing the resulting work to be covered by the GNU General Public License. -# The files of Non-GPL Code may link to the unmodified ChibiOS/RT - distribution files contained under ./src and ./src/lib without - causing the resulting work to be covered by the GNU General Public - License. + distribution files contained under: + - ./os/kernel/src + - ./os/hal/sec + - ./os/hal/platforms + - ./os/various + . + without causing the resulting work to be covered by the GNU General + Public License. -# The files of Non-GPL Code may link to, or include, the modified or - unmodified ChibiOS/RT distribution files contained under ./src/templates - and ./ports and ./demos without causing the resulting work to be - covered by the GNU General Public License. + unmodified ChibiOS/RT distribution files contained under: + - ./os/kernel/templates + - ./os/hal/templates + - ./os/ports + - ./boards + - ./demos + . + without causing the resulting work to be covered by the GNU General + Public License. + . Only the copyright holder of ChibiOS/RT may make changes or additions to the list of Approved Interfaces. -- cgit v1.2.3 From a6c74277befa3b1354aaf4b3bec386eebfdb61f7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 29 Dec 2009 22:59:58 +0000 Subject: Updated version numbers. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1483 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 1f6e18f13..0b8c8a5e1 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3.6 +PROJECT_NUMBER = 1.3.7 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 320a3f140e693a0d8647fd05ec6d2d4cb10c523a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 30 Dec 2009 13:28:10 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1484 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index ee1a2654c..4ce9b64b1 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -40,21 +40,22 @@ * event flags, messages, mailboxes, I/O queues. * - No static setup at compile time, there is no need to configure a maximum * number of all the above objects. - * - PC simulator target included, the development can be done on the PC - * using MinGW.
          + * - PC simulator target included, the development can be done on a PC + * under Linux or Windows.
          * Timers, I/O channels and other HW resources are simulated in a * Win32 process and the application code does not need to be aware of it. - * MinGW demo available. * - No *need* for a memory allocator, all the kernel structures are static * and declaratively allocated. * - Optional, thread safe, Heap Allocator subsystem. * - Optional, thread safe, Memory Pools Allocator subsystem. * - Blocking and non blocking I/O channels with timeout and events generation * capability. - * - Minimal system requirements: about 8KiB ROM with all options enabled and + * - Minimal system requirements: about 6KiB ROM with all options enabled and * speed optimizations on. The size can shrink under 2KiB by disabling the * the unused subsystems and optimizing for size. * - Almost totally written in C with little ASM code required for ports. + * - Optional Hardware Abstraction Layer (HAL) with support for many device + * driver models and device driver implementations. * . *

          Related pages

          * - @subpage lic_faq -- cgit v1.2.3 From f8c40043e469d81f2a9f380d6723b92c79bd30bc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 1 Jan 2010 13:41:31 +0000 Subject: Serial driver enhancements for STM32 and AT91SAM7. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1485 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 26 +++++++++++++------------- docs/reports/STM32F103-72.txt | 26 +++++++++++++------------- 2 files changed, 26 insertions(+), 26 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index ad122d674..15c729aa0 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,7 +5,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.5unstable +*** Kernel: 1.3.7unstable *** Architecture: ARM7TDMI *** GCC Version: 4.4.2 @@ -89,51 +89,51 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 114920 msgs/S, 229840 ctxswc/S +--- Score : 114930 msgs/S, 229860 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 90543 msgs/S, 181086 ctxswc/S +--- Score : 90551 msgs/S, 181102 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 90543 msgs/S, 181086 ctxswc/S +--- Score : 90551 msgs/S, 181102 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 391056 ctxswc/S +--- Score : 391096 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 82563 threads/S +--- Score : 82571 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 115469 threads/S +--- Score : 115480 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28337 reschedulations/S, 170022 ctxswc/S +--- Score : 28340 reschedulations/S, 170040 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 258028 reschedulations/S, 258028 ctxswc/S +--- Score : 258076 reschedulations/S, 258076 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 249164 bytes/S +--- Score : 249188 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 264136 timers/S +--- Score : 264162 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 466428 wait+signal/S +--- Score : 466472 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 317664 lock+unlock/S +--- Score : 317696 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 7f8556c86..428d3df25 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.5unstable +*** Kernel: 1.3.7unstable *** Architecture: ARM Cortex-M3 *** GCC Version: 4.4.2 @@ -89,51 +89,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 221751 msgs/S, 443502 ctxswc/S +--- Score : 221754 msgs/S, 443508 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 185654 msgs/S, 371308 ctxswc/S +--- Score : 185657 msgs/S, 371314 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 185654 msgs/S, 371308 ctxswc/S +--- Score : 185657 msgs/S, 371314 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 696720 ctxswc/S +--- Score : 696728 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 173548 threads/S +--- Score : 173550 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222442 threads/S +--- Score : 222446 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 56936 reschedulations/S, 341616 ctxswc/S +--- Score : 56937 reschedulations/S, 341622 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505120 reschedulations/S, 505120 ctxswc/S +--- Score : 505132 reschedulations/S, 505132 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 474880 bytes/S +--- Score : 474884 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647326 timers/S +--- Score : 647336 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 833164 wait+signal/S +--- Score : 833180 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586596 lock+unlock/S +--- Score : 586604 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 307e9891e40e46b08cd15690da8fff1657172915 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 1 Jan 2010 15:29:17 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1486 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 26 +++++++++++++------------- docs/reports/STM32F103-72.txt | 24 ++++++++++++------------ 2 files changed, 25 insertions(+), 25 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index d7a98a68e..45dc27efa 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,7 +5,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.5unstable +*** Kernel: 1.3.7unstable *** Architecture: ARM7TDMI *** GCC Version: 4.4.2 @@ -89,51 +89,51 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 144427 msgs/S, 288854 ctxswc/S +--- Score : 144470 msgs/S, 288940 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 114644 msgs/S, 229288 ctxswc/S +--- Score : 114678 msgs/S, 229356 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 114644 msgs/S, 229288 ctxswc/S +--- Score : 114678 msgs/S, 229356 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 501240 ctxswc/S +--- Score : 501392 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 107671 threads/S +--- Score : 107703 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 150334 threads/S +--- Score : 150379 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36494 reschedulations/S, 218964 ctxswc/S +--- Score : 36504 reschedulations/S, 219024 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 340828 reschedulations/S, 340828 ctxswc/S +--- Score : 340940 reschedulations/S, 340940 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 357104 bytes/S +--- Score : 357216 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 309452 timers/S +--- Score : 333278 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 622892 wait+signal/S +--- Score : 623080 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 380196 lock+unlock/S +--- Score : 380308 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 428d3df25..abfed08f6 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -89,51 +89,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 221754 msgs/S, 443508 ctxswc/S +--- Score : 221749 msgs/S, 443498 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 185657 msgs/S, 371314 ctxswc/S +--- Score : 185652 msgs/S, 371304 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 185657 msgs/S, 371314 ctxswc/S +--- Score : 185652 msgs/S, 371304 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 696728 ctxswc/S +--- Score : 696712 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 173550 threads/S +--- Score : 173546 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222446 threads/S +--- Score : 222440 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 56937 reschedulations/S, 341622 ctxswc/S +--- Score : 56935 reschedulations/S, 341610 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505132 reschedulations/S, 505132 ctxswc/S +--- Score : 505120 reschedulations/S, 505120 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 474884 bytes/S +--- Score : 474876 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647336 timers/S +--- Score : 647320 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 833180 wait+signal/S +--- Score : 833160 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586604 lock+unlock/S +--- Score : 586588 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 5b7bad7e5fec14a8d4b15b699f85aacfad6befc2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 2 Jan 2010 11:15:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1490 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index abfed08f6..6572ff499 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -89,51 +89,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 221749 msgs/S, 443498 ctxswc/S +--- Score : 221785 msgs/S, 443570 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 185652 msgs/S, 371304 ctxswc/S +--- Score : 185682 msgs/S, 371364 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 185652 msgs/S, 371304 ctxswc/S +--- Score : 185682 msgs/S, 371364 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 696712 ctxswc/S +--- Score : 696832 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 173546 threads/S +--- Score : 173577 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222440 threads/S +--- Score : 222482 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 56935 reschedulations/S, 341610 ctxswc/S +--- Score : 56945 reschedulations/S, 341670 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505120 reschedulations/S, 505120 ctxswc/S +--- Score : 505212 reschedulations/S, 505212 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 474876 bytes/S +--- Score : 474964 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647320 timers/S +--- Score : 647444 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 833160 wait+signal/S +--- Score : 833304 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586588 lock+unlock/S +--- Score : 586700 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 61038954f731debcf474b097a1f7283e4cf198fc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 2 Jan 2010 12:41:56 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1493 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 24 ++++++++++++------------ docs/reports/LPC2148-48-ARM.txt | 24 ++++++++++++------------ 2 files changed, 24 insertions(+), 24 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 15c729aa0..01f6a5afc 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -89,51 +89,51 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 114930 msgs/S, 229860 ctxswc/S +--- Score : 114965 msgs/S, 229930 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 90551 msgs/S, 181102 ctxswc/S +--- Score : 90579 msgs/S, 181158 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 90551 msgs/S, 181102 ctxswc/S +--- Score : 90579 msgs/S, 181158 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 391096 ctxswc/S +--- Score : 391224 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 82571 threads/S +--- Score : 82600 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 115480 threads/S +--- Score : 115522 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28340 reschedulations/S, 170040 ctxswc/S +--- Score : 28350 reschedulations/S, 170100 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 258076 reschedulations/S, 258076 ctxswc/S +--- Score : 258160 reschedulations/S, 258160 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 249188 bytes/S +--- Score : 249280 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 264162 timers/S +--- Score : 264256 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 466472 wait+signal/S +--- Score : 466632 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 317696 lock+unlock/S +--- Score : 317812 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index 45dc27efa..d7dd1c85a 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -89,51 +89,51 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 144470 msgs/S, 288940 ctxswc/S +--- Score : 144491 msgs/S, 288982 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 114678 msgs/S, 229356 ctxswc/S +--- Score : 114693 msgs/S, 229386 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 114678 msgs/S, 229356 ctxswc/S +--- Score : 114693 msgs/S, 229386 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 501392 ctxswc/S +--- Score : 501456 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 107703 threads/S +--- Score : 107717 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 150379 threads/S +--- Score : 150398 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36504 reschedulations/S, 219024 ctxswc/S +--- Score : 36509 reschedulations/S, 219054 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 340940 reschedulations/S, 340940 ctxswc/S +--- Score : 340980 reschedulations/S, 340980 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 357216 bytes/S +--- Score : 357264 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 333278 timers/S +--- Score : 333324 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 623080 wait+signal/S +--- Score : 623180 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 380308 lock+unlock/S +--- Score : 380356 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From bedb87c1e7cc9741c57c299d81d6e24c5e9c59c5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 2 Jan 2010 13:35:55 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1495 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-8.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-8.txt b/docs/reports/MSP430F1611-8.txt index 854954383..8c1d62979 100644 --- a/docs/reports/MSP430F1611-8.txt +++ b/docs/reports/MSP430F1611-8.txt @@ -5,7 +5,7 @@ Settings: MCLK=XT2CLK 8MHz *** ChibiOS/RT test suite *** -*** Kernel: 1.3.5unstable +*** Kernel: 1.3.7unstable *** Architecture: MSP430 *** GCC Version: 3.2.3 @@ -89,27 +89,27 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 20960 msgs/S, 41920 ctxswc/S +--- Score : 20944 msgs/S, 41888 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 17361 msgs/S, 34722 ctxswc/S +--- Score : 17347 msgs/S, 34694 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 17361 msgs/S, 34722 ctxswc/S +--- Score : 17347 msgs/S, 34694 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 64272 ctxswc/S +--- Score : 64224 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 14284 threads/S +--- Score : 14272 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 18397 threads/S +--- Score : 18383 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) @@ -117,23 +117,23 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 46344 reschedulations/S, 46344 ctxswc/S +--- Score : 46308 reschedulations/S, 46308 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 54360 bytes/S +--- Score : 54320 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 60944 timers/S +--- Score : 60896 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 150640 wait+signal/S +--- Score : 150520 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 84048 lock+unlock/S +--- Score : 83980 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 6cb3190f38d34fd4d159c16e2c927f5aeb65c210 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 2 Jan 2010 13:59:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1496 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/build.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/build.txt b/docs/reports/build.txt index 2374232c1..82be3c271 100644 --- a/docs/reports/build.txt +++ b/docs/reports/build.txt @@ -7,7 +7,7 @@ CH_OPTIMIZE_SPEED=FALSE CH_USE_NESTED_LOCKS=TRUE * Building...OK * Testing...OK -CH_USE_ROUNDROBIN=FALSE +CH_TIME_QUANTUM=0 * Building...OK * Testing...OK CH_USE_SEMAPHORES_PRIORITY=TRUE -- cgit v1.2.3 From 1a9cc2599eef7cddca853fc02997dc7543f1bb80 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 3 Jan 2010 08:16:18 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1498 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 6572ff499..8dc298047 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -89,51 +89,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 221785 msgs/S, 443570 ctxswc/S +--- Score : 221821 msgs/S, 443642 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 185682 msgs/S, 371364 ctxswc/S +--- Score : 185713 msgs/S, 371426 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 185682 msgs/S, 371364 ctxswc/S +--- Score : 185713 msgs/S, 371426 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 696832 ctxswc/S +--- Score : 696944 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 173577 threads/S +--- Score : 173605 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222482 threads/S +--- Score : 222517 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 56945 reschedulations/S, 341670 ctxswc/S +--- Score : 56954 reschedulations/S, 341724 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505212 reschedulations/S, 505212 ctxswc/S +--- Score : 505288 reschedulations/S, 505288 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 474964 bytes/S +--- Score : 475040 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647444 timers/S +--- Score : 647548 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 833304 wait+signal/S +--- Score : 833440 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586700 lock+unlock/S +--- Score : 586792 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From de95f94fbeb425a7e36e664181824db6ed021ccc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 3 Jan 2010 12:42:46 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1500 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 0b8c8a5e1..92251a1b8 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3.7 +PROJECT_NUMBER = 1.3.8 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 855fe2391d07c5dab27129ad626541482fe8d782 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 5 Jan 2010 17:14:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1501 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/concepts.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index bab26d064..d6364513b 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -34,7 +34,7 @@ * ChibiOS/RT APIs are all named following this convention: * @a ch\\\(). * The possible groups are: @a Sys, @a Sch, @a Time, @a VT, @a Thd, @a Sem, - * @a Mtx, @a Cond, @a Evt, @a Msg, @a IQ, @a OQ, @a IO, @a Dbg, + * @a Mtx, @a Cond, @a Evt, @a Msg, @a Stream, @a IO, @a IQ, @a OQ, @a Dbg, * @a Core, @a Heap, @a Pool. * * @section api_suffixes API Names Suffixes -- cgit v1.2.3 From 7e4202ae46606be697611dd6f5f867c4915dc046 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 6 Jan 2010 12:55:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1506 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 26 +++++++++++++------------- docs/reports/MSP430F1611-8.txt | 26 +++++++++++++------------- 2 files changed, 26 insertions(+), 26 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index d7dd1c85a..a97145500 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,7 +5,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.7unstable +*** Kernel: 1.3.8unstable *** Architecture: ARM7TDMI *** GCC Version: 4.4.2 @@ -89,51 +89,51 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 144491 msgs/S, 288982 ctxswc/S +--- Score : 144506 msgs/S, 289012 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 114693 msgs/S, 229386 ctxswc/S +--- Score : 114706 msgs/S, 229412 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 114693 msgs/S, 229386 ctxswc/S +--- Score : 114706 msgs/S, 229412 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 501456 ctxswc/S +--- Score : 501520 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 107717 threads/S +--- Score : 107731 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 150398 threads/S +--- Score : 150417 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36509 reschedulations/S, 219054 ctxswc/S +--- Score : 36514 reschedulations/S, 219084 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 340980 reschedulations/S, 340980 ctxswc/S +--- Score : 341020 reschedulations/S, 341020 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 357264 bytes/S +--- Score : 357308 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 333324 timers/S +--- Score : 333360 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 623180 wait+signal/S +--- Score : 623248 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 380356 lock+unlock/S +--- Score : 380408 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/MSP430F1611-8.txt b/docs/reports/MSP430F1611-8.txt index 8c1d62979..891427256 100644 --- a/docs/reports/MSP430F1611-8.txt +++ b/docs/reports/MSP430F1611-8.txt @@ -5,7 +5,7 @@ Settings: MCLK=XT2CLK 8MHz *** ChibiOS/RT test suite *** -*** Kernel: 1.3.7unstable +*** Kernel: 1.3.8unstable *** Architecture: MSP430 *** GCC Version: 3.2.3 @@ -89,51 +89,51 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 20944 msgs/S, 41888 ctxswc/S +--- Score : 20963 msgs/S, 41926 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 17347 msgs/S, 34694 ctxswc/S +--- Score : 17363 msgs/S, 34726 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 17347 msgs/S, 34694 ctxswc/S +--- Score : 17363 msgs/S, 34726 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 64224 ctxswc/S +--- Score : 64288 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 14272 threads/S +--- Score : 14288 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 18383 threads/S +--- Score : 18404 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 5347 reschedulations/S, 32082 ctxswc/S +--- Score : 5350 reschedulations/S, 32100 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 46308 reschedulations/S, 46308 ctxswc/S +--- Score : 46372 reschedulations/S, 46372 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 54320 bytes/S +--- Score : 54380 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 60896 timers/S +--- Score : 60970 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 150520 wait+signal/S +--- Score : 150700 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 83980 lock+unlock/S +--- Score : 84076 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 45272fbc6e762212d19adb9bb910d24b2e4d105e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 6 Jan 2010 12:58:54 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1507 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 8dc298047..c55b20b7d 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.7unstable +*** Kernel: 1.3.8unstable *** Architecture: ARM Cortex-M3 *** GCC Version: 4.4.2 @@ -105,11 +105,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 173605 threads/S +--- Score : 173606 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222517 threads/S +--- Score : 222516 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) @@ -117,7 +117,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505288 reschedulations/S, 505288 ctxswc/S +--- Score : 505284 reschedulations/S, 505284 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From 1eebe078ffbb85c3fb8a14db4d241502b27145bf Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 7 Jan 2010 15:23:38 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1509 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 3 +- docs/src/concepts.dox | 4 +- docs/src/goals.dox | 4 +- docs/src/main.dox | 4 +- docs/src/memory.dox | 2 +- docs/src/wakeup.dox | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 157 insertions(+), 8 deletions(-) create mode 100644 docs/src/wakeup.dox (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index ca35c3f14..caf332d32 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -20,8 +20,9 @@ /** * @page articles Articles and Code Samples * ChibiOS/RT Articles and Code Examples: - * - @subpage article_interrupts * - @subpage article_create_thread + * - @subpage article_interrupts + * - @subpage article_wakeup * - @subpage article_manage_memory * - @subpage article_stacks * - @subpage article_mutual_exclusion diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index d6364513b..49c96b2c8 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -34,8 +34,8 @@ * ChibiOS/RT APIs are all named following this convention: * @a ch\\\(). * The possible groups are: @a Sys, @a Sch, @a Time, @a VT, @a Thd, @a Sem, - * @a Mtx, @a Cond, @a Evt, @a Msg, @a Stream, @a IO, @a IQ, @a OQ, @a Dbg, - * @a Core, @a Heap, @a Pool. + * @a Mtx, @a Cond, @a Evt, @a Msg, @a SequentialStream, @a IO, @a IQ, @a OQ, + * @a Dbg, @a Core, @a Heap, @a Pool. * * @section api_suffixes API Names Suffixes * The suffix can be one of the following: diff --git a/docs/src/goals.dox b/docs/src/goals.dox index bcce60922..e312b526a 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -42,7 +42,7 @@ * *

          Static design

          * Everything in the kernel is static, nowhere memory is allocated or freed, - * there are two allocator subsystems but those are options and not part of + * there are three allocator subsystems but those are options and not part of * core OS. Safety is something you design in, not something you can add later. * *

          No tables, arrays or other fixed structures

          @@ -84,5 +84,5 @@ * committing to use it. Test results on all the supported platforms and * performance metrics are included in each ChibiOS/RT release. The test * code is released as well, all the included demos are capable of executing - * the test suite and the OS benchmarks. + * the test suite and the OS benchmarks, see @ref testsuite. */ diff --git a/docs/src/main.dox b/docs/src/main.dox index 4ce9b64b1..ddf608c3f 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -42,8 +42,8 @@ * number of all the above objects. * - PC simulator target included, the development can be done on a PC * under Linux or Windows.
          - * Timers, I/O channels and other HW resources are simulated in a - * Win32 process and the application code does not need to be aware of it. + * Timers, I/O channels and other HW resources are simulated in a guest OS + * process and the application code does not need to be aware of it. * - No *need* for a memory allocator, all the kernel structures are static * and declaratively allocated. * - Optional, thread safe, Heap Allocator subsystem. diff --git a/docs/src/memory.dox b/docs/src/memory.dox index 727a95b2b..cf8495bcc 100644 --- a/docs/src/memory.dox +++ b/docs/src/memory.dox @@ -35,7 +35,7 @@ * *

          The three subsystems

          * This is a small comparison table regarding the three subsystems, C-runtime - * and static objects are thrown there for comparison:

          + * and static objects are thrown in there for comparison:

          * * diff --git a/docs/src/wakeup.dox b/docs/src/wakeup.dox new file mode 100644 index 000000000..82766932b --- /dev/null +++ b/docs/src/wakeup.dox @@ -0,0 +1,148 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_wakeup How to wake up a thread from an interrupt handler + * Waking up a thread after an hardware event is one of the most common tasks + * that an RTOS must be able to perform efficiently. In ChibiOS/RT there are + * several mechanisms that can be used, often each mechanism is best suited + * in a specific scenario. + * + *

          Synchronously waking up a specific thread

          + * A common situation is to have to synchronously wake up a specific thread. + * This can be accomplished without the use of any specific synchronization + * primitive, it uses the very efficient low level scheduler APIs, note that + * you can also optionally send a simple message from the IRQ handler to + * the thread. + * @code +static Thread *tp = NULL; + +void mythread(void *p) { + + while (TRUE) { + msg_t msg; + + // Waiting for the IRQ to happen. + chSysLock(); + tp = chThdSelf(); + chSchGoSleepS(PRSUSPENDED); + msg = chThdSelf()->p_rdymsg; // Retrieving the message, optional + chSysUnlock(); + // Perform processing here. + } +} + +CH_IRQ_HANDLER(myIRQ) { + CH_IRQ_PROLOGUE(); + + // Wakes up the thread. + chSysLockFromIsr(); + if (tp != NULL) { + tp->p_rdymsg = (msg_t)55; // Sending the message, optional + chSchReadyI(tp); + tp = NULL; + } + chSysUnlockFromIsr(). + + CH_IRQ_EPILOGUE(); +} + * @endcode + * + *

          Synchronously waking up one of the waiting threads

          + * Lets assume you have a queue of waiting threads, you want to wake up + * the threads one by one in FIFO order, if there are no waiting threads + * then nothing happens.
          + * This can be accomplished using a @p Semaphore object initialized to zero: + * @code +CH_IRQ_HANDLER(myIRQ) { + CH_IRQ_PROLOGUE(); + + // If there is at least one waiting thread then signal it. + chSysLockFromIsr(); + if (chSemGetCounterI(&mysem) < 0) + chSemSignalI(&mysem); + chSysUnlockFromIsr(). + + CH_IRQ_EPILOGUE(); +} + * @endcode + * + *

          Synchronously waking up all the waiting threads

          + * In this scenario you want to synchronously wake up all the waiting threads, + * if there are no waiting threads then nothing happens.
          + * This can be accomplished using a @p Semaphore object initialized to zero: + * @code +CH_IRQ_HANDLER(myIRQ) { + CH_IRQ_PROLOGUE(); + + // Wakes up all the threads waiting on the semaphore. + chSysLockFromIsr(); + chSemResetI(&mysem); + chSysUnlockFromIsr(). + + CH_IRQ_EPILOGUE(); +} + * @endcode + * + *

          Asynchronously waking up a specific thread

          + * If you have to asynchronously wake up a specific thread then a simple + * event flags can be used. + * @code +static Thread *tp; + +void mythread(void *p) { + + tp = chThdSelf(); + while (TRUE) { + // Checks if an IRQ happened else wait. + chEvtWaitAny((eventmask_t)1); + // Perform processing here. + } +} + +CH_IRQ_HANDLER(myIRQ) { + CH_IRQ_PROLOGUE(); + + // Wakes up the thread. + chSysLockFromIsr(); + chEvtSignalI(tp, (eventmask_t)1); + chSysUnlockFromIsr(). + + CH_IRQ_EPILOGUE(); +} + * @endcode + * + *

          Asynchronously waking up one or more threads

          + * By using event sources it is possible to asynchronously wake up one or more + * listener threads. The mechanism requires a single initialized + * @p EventSource object, all the threads registered as listeners on the + * event source will be broadcasted. + * @code +CH_IRQ_HANDLER(myIRQ) { + CH_IRQ_PROLOGUE(); + + // Pends an event flag on all the listening threads. + chSysLockFromIsr(); + chEvtBroadcastI(&my_event_source); + chSysUnlockFromIsr(). + + CH_IRQ_EPILOGUE(); +} + * @endcode + */ -- cgit v1.2.3 From ca013cf8e4235a3024361009f21eb1a2d5677acf Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 17 Jan 2010 14:08:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1531 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 92251a1b8..24c925847 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3.8 +PROJECT_NUMBER = 1.5.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From a9fe14933f0a40247e4c21cf9c95becb6c4d008f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 30 Jan 2010 10:33:24 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1553 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 14 +++++++------- docs/reports/kernel.txt | 26 +++++++++++++------------- 2 files changed, 20 insertions(+), 20 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index c55b20b7d..9df015768 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.8unstable +*** Kernel: 1.5.0unstable *** Architecture: ARM Cortex-M3 *** GCC Version: 4.4.2 @@ -89,15 +89,15 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 221821 msgs/S, 443642 ctxswc/S +--- Score : 223893 msgs/S, 447786 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 185713 msgs/S, 371426 ctxswc/S +--- Score : 187652 msgs/S, 375304 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 185713 msgs/S, 371426 ctxswc/S +--- Score : 187652 msgs/S, 375304 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -105,11 +105,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 173606 threads/S +--- Score : 173605 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222516 threads/S +--- Score : 222517 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) @@ -133,7 +133,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586792 lock+unlock/S +--- Score : 644680 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 05e75aa86..db6d927d6 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,7 +2,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 5280 +Kernel Size = 5236 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -14,7 +14,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 5048 +Kernel Size = 5044 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -26,7 +26,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 4768 +Kernel Size = 4844 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -38,7 +38,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -Kernel Size = 7976 +Kernel Size = 7892 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -50,7 +50,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -Kernel Size = 7700 +Kernel Size = 7648 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -62,7 +62,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 7276 +Kernel Size = 7344 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -74,7 +74,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5100 +Kernel Size = 5140 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -86,7 +86,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4940 +Kernel Size = 4968 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -98,7 +98,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4680 +Kernel Size = 4776 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -110,23 +110,23 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 5416 +Kernel Size = 5456 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1156 +Kernel Size = 1160 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 5424 +Kernel Size = 5396 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1156 +Kernel Size = 1160 -- cgit v1.2.3 From 7f8dfe2fd3e770c2e0435e9c56f5db5fd11ed6f7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 31 Jan 2010 09:27:49 +0000 Subject: Implemented thread reference counters and related APIs. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1556 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 24c925847..e0546572b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.0 +PROJECT_NUMBER = 1.5.1 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 4d832fdf1c1ca932d16198df7b3c04dcd083e7e2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 12 Feb 2010 18:51:48 +0000 Subject: Few fixes to the new code after the batch build test. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1592 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 12 ++++++------ docs/reports/kernel.txt | 44 +++++++++++++++++++++---------------------- 2 files changed, 28 insertions(+), 28 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 9df015768..f044cf410 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.0unstable +*** Kernel: 1.5.1unstable *** Architecture: ARM Cortex-M3 *** GCC Version: 4.4.2 @@ -105,11 +105,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 173605 threads/S +--- Score : 146984 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222517 threads/S +--- Score : 203029 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) @@ -117,7 +117,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505284 reschedulations/S, 505284 ctxswc/S +--- Score : 505288 reschedulations/S, 505288 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -137,8 +137,8 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 300 bytes ---- Thread: 60 bytes +--- System: 332 bytes +--- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes --- EventS: 4 bytes diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index db6d927d6..ea3e28c5d 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,131 +2,131 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 5236 +Kernel Size = 5428 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 1332 +Kernel Size = 1468 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 5044 +Kernel Size = 5224 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 1284 +Kernel Size = 1416 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 4844 +Kernel Size = 5028 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1236 +Kernel Size = 1368 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -Kernel Size = 7892 +Kernel Size = 7964 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -Kernel Size = 1956 +Kernel Size = 2160 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -Kernel Size = 7648 +Kernel Size = 7708 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -Kernel Size = 1908 +Kernel Size = 2112 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 7344 +Kernel Size = 7404 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1844 +Kernel Size = 2048 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5140 +Kernel Size = 5220 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1336 +Kernel Size = 1468 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4968 +Kernel Size = 5044 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1316 +Kernel Size = 1448 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4776 +Kernel Size = 4848 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1272 +Kernel Size = 1404 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 5456 +Kernel Size = 5640 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1160 +Kernel Size = 1260 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 5396 +Kernel Size = 5576 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1160 +Kernel Size = 1260 -- cgit v1.2.3 From c690337d17d2964eee62aacd4dd87085c29da2d9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 12 Feb 2010 19:18:25 +0000 Subject: Updated build and coverage reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1595 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/build.txt | 3 +++ docs/reports/coverage.txt | 24 ++++++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) (limited to 'docs') diff --git a/docs/reports/build.txt b/docs/reports/build.txt index 82be3c271..c53040436 100644 --- a/docs/reports/build.txt +++ b/docs/reports/build.txt @@ -10,6 +10,9 @@ CH_USE_NESTED_LOCKS=TRUE CH_TIME_QUANTUM=0 * Building...OK * Testing...OK +CH_USE_REGISTRY=FALSE + * Building...OK + * Testing...OK CH_USE_SEMAPHORES_PRIORITY=TRUE * Building...OK * Testing...OK diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index 14827ff18..a3ed384e7 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -1,5 +1,5 @@ mkdir gcov -gcov -u ..\..\os\kernel\src\chsys.c ..\..\os\kernel\src\chdebug.c ..\..\os\kernel\src\chlists.c ..\..\os\kernel\src\chvt.c ..\..\os\kernel\src\chschd.c ..\..\os\kernel\src\chthreads.c ..\..\os\kernel\src\chsem.c ..\..\os\kernel\src\chmtx.c ..\..\os\kernel\src\chcond.c ..\..\os\kernel\src\chevents.c ..\..\os\kernel\src\chmsg.c ..\..\os\kernel\src\chmboxes.c ..\..\os\kernel\src\chqueues.c ..\..\os\kernel\src\chmemcore.c ..\..\os\kernel\src\chheap.c ..\..\os\kernel\src\chmempools.c +gcov -u ..\..\os\kernel\src\chsys.c ..\..\os\kernel\src\chdebug.c ..\..\os\kernel\src\chlists.c ..\..\os\kernel\src\chvt.c ..\..\os\kernel\src\chschd.c ..\..\os\kernel\src\chthreads.c ..\..\os\kernel\src\chregistry.c ..\..\os\kernel\src\chsem.c ..\..\os\kernel\src\chmtx.c ..\..\os\kernel\src\chcond.c ..\..\os\kernel\src\chevents.c ..\..\os\kernel\src\chmsg.c ..\..\os\kernel\src\chmboxes.c ..\..\os\kernel\src\chqueues.c ..\..\os\kernel\src\chmemcore.c ..\..\os\kernel\src\chheap.c ..\..\os\kernel\src\chmempools.c File `../../os/kernel/src/chsys.c' Lines executed:100.00% of 26 ../../os/kernel/src/chsys.c:creating `chsys.c.gcov' @@ -9,7 +9,7 @@ Lines executed:76.92% of 13 ../../os/kernel/src/chdebug.c:creating `chdebug.c.gcov' File `../../os/kernel/src/chlists.c' -Lines executed:100.00% of 22 +Lines executed:100.00% of 29 ../../os/kernel/src/chlists.c:creating `chlists.c.gcov' File `../../os/kernel/src/chvt.c' @@ -17,31 +17,35 @@ Lines executed:100.00% of 29 ../../os/kernel/src/chvt.c:creating `chvt.c.gcov' File `../../os/kernel/src/chschd.c' -Lines executed:100.00% of 74 +Lines executed:100.00% of 75 ../../os/kernel/src/chschd.c:creating `chschd.c.gcov' File `../../os/kernel/src/chthreads.c' -Lines executed:100.00% of 104 +Lines executed:95.00% of 120 ../../os/kernel/src/chthreads.c:creating `chthreads.c.gcov' +File `../../os/kernel/src/chregistry.c' +Lines executed:0.00% of 18 +../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov' + File `../../os/kernel/src/chsem.c' Lines executed:100.00% of 73 ../../os/kernel/src/chsem.c:creating `chsem.c.gcov' File `../../os/kernel/src/chmtx.c' -Lines executed:100.00% of 94 +Lines executed:100.00% of 96 ../../os/kernel/src/chmtx.c:creating `chmtx.c.gcov' File `../../os/kernel/src/chcond.c' -Lines executed:100.00% of 58 +Lines executed:100.00% of 60 ../../os/kernel/src/chcond.c:creating `chcond.c.gcov' File `../../os/kernel/src/chevents.c' -Lines executed:100.00% of 101 +Lines executed:100.00% of 104 ../../os/kernel/src/chevents.c:creating `chevents.c.gcov' File `../../os/kernel/src/chmsg.c' -Lines executed:100.00% of 31 +Lines executed:100.00% of 32 ../../os/kernel/src/chmsg.c:creating `chmsg.c.gcov' File `../../os/kernel/src/chmboxes.c' @@ -49,11 +53,11 @@ Lines executed:100.00% of 65 ../../os/kernel/src/chmboxes.c:creating `chmboxes.c.gcov' File `../../os/kernel/src/chqueues.c' -Lines executed:100.00% of 96 +Lines executed:100.00% of 110 ../../os/kernel/src/chqueues.c:creating `chqueues.c.gcov' File `../../os/kernel/src/chmemcore.c' -Lines executed:100.00% of 18 +Lines executed:90.00% of 20 ../../os/kernel/src/chmemcore.c:creating `chmemcore.c.gcov' File `../../os/kernel/src/chheap.c' -- cgit v1.2.3 From 95058cdab40e0300cb17a12ea0b50c8ccab3e90b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 14 Feb 2010 10:28:41 +0000 Subject: Fixed bug 2951529. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1607 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index e0546572b..4af466d85 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.1 +PROJECT_NUMBER = 1.5.2 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 5d983fd514b3fcad1f7a27faf74e21789d93e99a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 19 Feb 2010 18:19:00 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1637 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/SPC563M64-80.txt | 153 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 docs/reports/SPC563M64-80.txt (limited to 'docs') diff --git a/docs/reports/SPC563M64-80.txt b/docs/reports/SPC563M64-80.txt new file mode 100644 index 000000000..54888a53d --- /dev/null +++ b/docs/reports/SPC563M64-80.txt @@ -0,0 +1,153 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -msdata=none -falign-functions=16 +Settings: SYSCLK=80, optimal wait states, prefetching enabled +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 1.5.1unstable +*** Architecture: PPC E200Zx +*** GCC Version: 4.4.1 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 276305 msgs/S, 552610 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 224302 msgs/S, 448604 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 224302 msgs/S, 448604 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 878728 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 180662 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 259260 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 73119 reschedulations/S, 438714 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 654412 reschedulations/S, 654412 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 617488 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 1132448 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 1027012 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 871856 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 760 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS \ No newline at end of file -- cgit v1.2.3 From 157b6f9695e7f72f2d54b231c19cb4045710ed01 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 21 Feb 2010 07:24:53 +0000 Subject: Updated license dates. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1646 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 2 +- docs/src/atomic.dox | 2 +- docs/src/concepts.dox | 2 +- docs/src/createthread.dox | 2 +- docs/src/design.dox | 2 +- docs/src/goals.dox | 2 +- docs/src/interrupts.dox | 4 ++-- docs/src/jitter.dox | 2 +- docs/src/licfaq.dox | 4 ++-- docs/src/main.dox | 2 +- docs/src/memory.dox | 4 ++-- docs/src/mutualexcl.dox | 2 +- docs/src/portguide.dox | 2 +- docs/src/saveram.dox | 2 +- docs/src/stacks.dox | 2 +- docs/src/timing.dox | 2 +- docs/src/wakeup.dox | 2 +- 17 files changed, 20 insertions(+), 20 deletions(-) (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index caf332d32..bcdb62b6c 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox index 5e2fb58cd..0e9974ff1 100644 --- a/docs/src/atomic.dox +++ b/docs/src/atomic.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 49c96b2c8..b6a9e8630 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/createthread.dox b/docs/src/createthread.dox index 6ef1a61c5..0774e0e7e 100644 --- a/docs/src/createthread.dox +++ b/docs/src/createthread.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/design.dox b/docs/src/design.dox index bc88edf6f..80a5b8af8 100644 --- a/docs/src/design.dox +++ b/docs/src/design.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/goals.dox b/docs/src/goals.dox index e312b526a..f41308e26 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index b85db6efd..cbebe5d5b 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. @@ -49,4 +49,4 @@ CH_IRQ_HANDLER(myIRQ) { * please read about it in the ARM7 port section: @ref ARM7_IH * . */ - \ No newline at end of file + diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index 5f4e7ff5e..6ac74116e 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/licfaq.dox b/docs/src/licfaq.dox index 33f9de5e2..ff8ccae0d 100644 --- a/docs/src/licfaq.dox +++ b/docs/src/licfaq.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. @@ -116,4 +116,4 @@ Program code and other code used in conjunction with the Program except the Non-GPL Code covered by this exception. * */ - \ No newline at end of file + diff --git a/docs/src/main.dox b/docs/src/main.dox index ddf608c3f..a5ae9a8ca 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/memory.dox b/docs/src/memory.dox index cf8495bcc..1bd39b266 100644 --- a/docs/src/memory.dox +++ b/docs/src/memory.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. @@ -135,4 +135,4 @@ * -# Consider the C-runtime allocator only for legacy code. * . */ - \ No newline at end of file + diff --git a/docs/src/mutualexcl.dox b/docs/src/mutualexcl.dox index 69eb65dc8..7f0b90e21 100644 --- a/docs/src/mutualexcl.dox +++ b/docs/src/mutualexcl.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/portguide.dox b/docs/src/portguide.dox index fe5870732..d7de77485 100644 --- a/docs/src/portguide.dox +++ b/docs/src/portguide.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/saveram.dox b/docs/src/saveram.dox index 6682fe0fe..233c322c6 100644 --- a/docs/src/saveram.dox +++ b/docs/src/saveram.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/stacks.dox b/docs/src/stacks.dox index ddb416596..87c404f7a 100644 --- a/docs/src/stacks.dox +++ b/docs/src/stacks.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/timing.dox b/docs/src/timing.dox index a09db8575..4f61adfeb 100644 --- a/docs/src/timing.dox +++ b/docs/src/timing.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/wakeup.dox b/docs/src/wakeup.dox index 82766932b..b53806b78 100644 --- a/docs/src/wakeup.dox +++ b/docs/src/wakeup.dox @@ -1,5 +1,5 @@ /* - ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. This file is part of ChibiOS/RT. -- cgit v1.2.3 From 18ff8298847960c260546acb70ec3e4bdd2a5213 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 21 Feb 2010 08:23:11 +0000 Subject: Added PowerPC documentation files. Few fixes to the startup file. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1647 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 4af466d85..02ed1edb3 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -584,6 +584,8 @@ INPUT = ../docs/src \ ../os/ports/GCC/ARM7/chcoreasm.s \ ../os/ports/GCC/ARMCM3 \ ../os/ports/GCC/ARMCM3/crt0.s \ + ../os/ports/GCC/PPC \ + ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ ../os/ports/GCC/AVR \ ../os/hal \ -- cgit v1.2.3 From 508b7bc93297fcb74af43b11b1435aa96add3c85 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 25 Feb 2010 16:48:00 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1675 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 4 +- docs/src/architecture.dox | 261 ++++++++++++++++++++++++++++++++++++++++++++++ docs/src/articles.dox | 1 + docs/src/concepts.dox | 26 ++--- docs/src/goals.dox | 2 +- docs/src/lifecycle.dox | 67 ++++++++++++ docs/src/main.dox | 1 + 7 files changed, 340 insertions(+), 22 deletions(-) create mode 100644 docs/src/architecture.dox create mode 100644 docs/src/lifecycle.dox (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 02ed1edb3..1ea40a3b8 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -598,7 +598,8 @@ INPUT = ../docs/src \ ../os/hal/platforms/MSP430 \ ../os/hal/platforms/STM32 \ ../os/various \ - ../test + ../test \ + ../ext/ext.dox # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -1315,6 +1316,7 @@ PREDEFINED = __DOXYGEN__ \ CH_USE_MESSAGES=1 \ CH_USE_MAILBOXES=1 \ CH_USE_DYNAMIC=1 \ + CH_USE_REGISTRY=1 \ CH_DBG_ENABLE_ASSERTS=1 \ CH_DBG_ENABLE_CHECKS=1 \ CH_DBG_ENABLE_TRACE=1 \ diff --git a/docs/src/architecture.dox b/docs/src/architecture.dox new file mode 100644 index 000000000..d9a512b10 --- /dev/null +++ b/docs/src/architecture.dox @@ -0,0 +1,261 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page architecture Architecture + * @brief ChibiOS/RT General Architecture + * - @ref components + * - @ref dependencies + * - @ref kernel_arch + * - @ref hal_arch + * . + * @section components Components + * ChibiOS/RT is composed of several major components, each component can be + * composed of one of more subsystems. The main components are: + * - Kernel, this is the platform independent part of the OS kernel. + * - HAL, this component contains a set of abstract device drivers + * that offer a common I/O API to the application across all the support + * platforms. The HAL code is totally portable across platforms. + * - Port, this is the platform dependent part of the OS kernel. This + * component is responsible of the system startup, interrupts abstraction, + * lock/unlock primitives, context switch related structures and code.
          + * The component usually contains very little code because the OS is very + * portable but the quality of the implementation of the Port component + * affects heavily the performance of the ported OS. It is probably the + * most critical part of the whole OS. + * - Platform, this component contains a set of device drivers + * implementations. + * - Various, a library of various extra components that do not belong + * to any particular component but can make life easier while developing an + * embedded application. + * . + * @section dependencies Dependencies + * The following diagram shows the relationships among the various components + * that compose the system:

          + * @dot + digraph example { + node [shape=rectangle, fontname=Helvetica, fontsize=8, + fixedsize="true", width="1.0", height="0.25"]; + edge [fontname=Helvetica, fontsize=8]; + + Application [label="Application"]; + HAL [label="HAL"]; + Platform [label="Platform"]; + Kernel [label="Kernel"]; + Port [label="Port"]; + HW [label="Hardware", style="filled", width="3.0", height="0.3"]; + + Application -> Kernel; + Application -> HAL; + Application -> HW [label=" (not recommended)"]; + HAL -> Platform; + HAL -> Kernel; + Platform -> Kernel; + Platform -> HW; + Kernel -> Port; + Port -> HW; + } + * @enddot + * + * @section kernel_arch Kernel Architecture + * The kernel itself is very modular and is composed of several subsystems, + * most subsystems are optional and can be switched of in the kernel + * configuration file @p chconf.h.
          + * The current kernel subsystems are divided in five categories: + * - @ref base, this category contains the mandatory kernel + * subsystems: + * - @ref system, low level locks, initialization. + * - @ref time, virtual timers and time APIs. + * - @ref scheduler, scheduler APIs, all the higher level synchronization + * mechanism are implemented through this subsystem, it is very flexible + * but not recommended for direct use in user code. + * - @ref threads, thread-related APIs. + * . + * Base services diagram:

          + * @dot + digraph example { + node [shape=rectangle, fontname=Helvetica, fontsize=8, + fixedsize="true", width="1.0", height="0.25"]; + edge [fontname=Helvetica, fontsize=8]; + + Threads -> Scheduler; + Scheduler-> System; + Scheduler-> Timers; + System-> Timers; + } + * @enddot + * - @ref synchronization, this category contains the synchronization-related + * subsystems, each one of the provided mechanism can be configured out of + * the kernel if not needed. + * - @ref semaphores, counter semaphores subsystem. + * - @ref mutexes, mutexes subsystem with support to the priority inheritance + * algorithm (fully implemented, any depht). + * - @ref condvars, condition variables, together with mutexes the condition + * variables allow the implementation of monitor constructs. + * - @ref events, event sources and event flags with flexible support for + * and/or conditions and automatic dispatching to handler functions. + * - @ref messages, lightweight synchronous messages. + * - @ref mailboxes, asynchronous messages queues. + * . + * All the synchronization mechanisms are built on top of the Scheduler APIs + * except Mailboxes that are build on top of Semaphores and Condition + * Variables that implicitly refer to Mutexes:

          + * @dot + digraph example { + node [shape=rectangle, fontname=Helvetica, fontsize=8, + fixedsize="true", width="1.0", height="0.25"]; + edge [fontname=Helvetica, fontsize=8]; + + Semaphores -> Scheduler; + Mutexes -> Scheduler; + Condvars -> Scheduler; + Condvars -> Mutexes; + Events -> Scheduler; + Messages -> Scheduler; + Mailboxes -> Semaphores; + } + * @enddot + * - @ref memory, memory management, multiple non-alternative schemes are + * available: + * - @ref memcore, centralized core memory manager, this subsystems is used + * by the other allocators in order to get chunks of memory in a consistent + * way. + * - @ref heaps, central heap manager using a first fit strategy, it also + * allow the creation of multiple heaps in order to handle non uniform + * memory areas. + * - @ref pools, very fast fixed size objects allocator. + * - @ref threads (dynamic), usually threads are static objects in ChibiOS/RT + * but there is the option for dynamic threads management, please see the + * article @ref article_lifecycle. + * . + * The various allocators follow a precise hierarchy:

          + * @dot + digraph example { + node [shape=rectangle, fontname=Helvetica, fontsize=8, + fixedsize="true", width="1.0", height="0.25"]; + edge [fontname=Helvetica, fontsize=8]; + + Core [label="Core Allocator"]; + Dynamic [label="Dynamic Threads"]; + Heaps [label="Dynamic Heaps"]; + Pools [label="Memory Pools"]; + C [label="C-runtime"]; + + Dynamic -> Heaps; + Dynamic -> Pools; + Heaps -> Core; + Pools -> Core; + C -> Core; + } + * @enddot + * Please also see the article @ref article_manage_memory. + * - @ref io_support, the kernel also provides mechanisms and abstract data + * interfaces that can be used by non-kernel components, the HAL as example. + * - @ref data_streams, abstract streams interface. + * - @ref io_channels, abstract I/O channels that inherits from the abstract + * stream interface. + * - @ref io_queues, generic, byte wide, I/O queues APIs. + * . + * - @ref debug, debug services and APIs. The @ref registry susystem can be + * seen as part of the debug category even if it finds use in non-debug + * roles. + * . + * @section hal_arch HAL Architecture + * The HAL is a collection of abstract device drivers, it relies on the + * Platform component for the low level implementation on specific + * hardware.
          + * The current internal HAL organization is the following:

          + * @dot + digraph example { + rankdir="LR"; + + node [shape=rectangle, fontname=Helvetica, fontsize=8, + fixedsize="true", width="1.0", height="0.25"]; + edge [fontname=Helvetica, fontsize=8]; + + subgraph cluster_HAL { + node [shape=rectangle, fontname=Helvetica, fontsize=8, + fixedsize="true", width="0.6", height="0.25"]; + ADC [label="ADC"]; + CAN [label="CAN"]; + HAL [label="HAL"]; + MAC [label="MAC"]; + PAL [label="PAL"]; + PWM [label="PWM"]; + SER [label="SER"]; + SPI [label="SPI"]; + MMC_SD [label="MMC/SD"]; + color = blue; + label = "HAL"; + } + + subgraph cluster_Platform { + node [shape=rectangle, fontname=Helvetica, fontsize=8, + fixedsize="true", width="0.6", height="0.25"]; + ADC_LLD [label="ADC_LLD"]; + CAN_LLD [label="CAN_LLD"]; + HAL_LLD [label="HAL_LLD"]; + MAC_LLD [label="MAC_LLD"]; + PAL_LLD [label="PAL_LLD"]; + PWM_LLD [label="PWM_LLD"]; + SER_LLD [label="SER_LLD"]; + SPI_LLD [label="SPI_LLD"]; + color = blue; + label = "Platform"; + } + + node [shape=rectangle, fontname=Helvetica, fontsize=8, + fixedsize="true", width="1", height="0.5"]; + edge [fontname=Helvetica, fontsize=8]; + + Application [label="Application"]; + HW [label="Hardware", style="filled"]; + + ADC -> ADC_LLD; + CAN -> CAN_LLD; + HAL -> HAL_LLD; + MAC -> MAC_LLD; + PAL -> PAL_LLD; + PWM -> PWM_LLD; + SER -> SER_LLD; + SPI -> SPI_LLD; + MMC_SD -> SPI [constraint=false]; + + Application -> ADC; + Application -> CAN; + Application -> HAL; + Application -> MAC; + Application -> PAL; + Application -> PWM; + Application -> SER; + Application -> SPI; + Application -> MMC_SD; + ADC_LLD -> HW; + CAN_LLD -> HW; + HAL_LLD -> HW; + MAC_LLD -> HW; + PAL_LLD -> HW; + PWM_LLD -> HW; + SER_LLD -> HW; + SPI_LLD -> HW; + } + * @enddot + *
          + * See @ref IO for details about the various HAL subsystems. + */ diff --git a/docs/src/articles.dox b/docs/src/articles.dox index bcdb62b6c..f8a40e2f7 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -25,6 +25,7 @@ * - @subpage article_wakeup * - @subpage article_manage_memory * - @subpage article_stacks + * - @subpage article_lifecycle * - @subpage article_mutual_exclusion * - @subpage article_atomic * - @subpage article_saveram diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index b6a9e8630..e1d5f6156 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -18,8 +18,8 @@ */ /** - * @page concepts Concepts and Architecture - * @brief ChibiOS/RT Concepts and Architecture + * @page concepts Kernel Concepts + * @brief ChibiOS/RT Kernel Concepts * - @ref naming * - @ref api_suffixes * - @ref interrupt_classes @@ -28,7 +28,6 @@ * - @ref thread_states * - @ref priority * - @ref warea - * - @ref architecture * . * @section naming Naming Conventions * ChibiOS/RT APIs are all named following this convention: @@ -52,10 +51,10 @@ * @section interrupt_classes Interrupt Classes * In ChibiOS/RT there are three logical interrupt classes: * - Regular Interrupts. Maskable interrupt sources that cannot - * preempt the kernel code and are thus able to invoke operating system APIs - * from within their handlers. The interrupt handlers belonging to this class - * must be written following some rules. See the @ref system APIs group and - * @ref article_interrupts. + * preempt (small parts of) the kernel code and are thus able to invoke + * operating system APIs from within their handlers. The interrupt handlers + * belonging to this class must be written following some rules. See the + * @ref system APIs group and @ref article_interrupts. * - Fast Interrupts. Maskable interrupt sources with the ability * to preempt the kernel code and thus have a lower latency and are less * subject to jitter, see @ref article_jitter. Such sources are not @@ -246,17 +245,4 @@ * . * See the @ref core documentation for details, the area may change on * the various ports and some structures may not be present (or be zero-sized). - * - * @section architecture Architectural Diagram - * The following diagram shows the relationships among the hardware, the - * various ChibiOS/RT subsystems and the application code. - *

          - * @image html arch.png - *
          - * In this diagram the device drivers are at the same level of the application - * code because both have access to the system services and can directly - * access the hardware.
          - * Of course it is possible to create in the application architecture several - * extra layers, this is just not part of the kernel architecture but part of - * the overall system design. */ diff --git a/docs/src/goals.dox b/docs/src/goals.dox index f41308e26..eb1b2bd81 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -69,7 +69,7 @@ *

          Fast and compact

          * Note, first "fast" then "compact", the focus is on speed and execution * efficiency and then on code size. This does not mean that the OS is large, - * the kernel size with all the subsystems activated is around 5.2KiB + * the kernel size with all the subsystems activated weighs around 5.3KiB * and can shrink down around to 1.2Kib in a minimal configuration * (STM32, Cortex-M3). It would be possible to make something even smaller but: * -# It would be pointless, it is already @a really small. diff --git a/docs/src/lifecycle.dox b/docs/src/lifecycle.dox new file mode 100644 index 000000000..d96795b21 --- /dev/null +++ b/docs/src/lifecycle.dox @@ -0,0 +1,67 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_lifecycle Threads Lifecycle + * In ChibiOS/RT threads are divided in two categories: + * - Static threads. The memory used for static threads is allocated at + * compile time so static threads are always there, there is no management + * to be done. + * - Dynamic threads. Dynamic threads are allocated at runtime from one of + * the available allocators (see @ref heaps, @ref pools). + * . + * Dynamic threads create the problem of who is responsible of releasing + * their memory because a thread cannot dispose its own memory.
          + * This is handled in ChibiOS/RT through the mechanism of "thread references", + * When the @p CH_USE_DYNAMIC option is enabled the threads becomes objects + * with a reference counter. The memory of a thread, if dynamic, is released + * when the last reference to the thread is released while the thread is in + * its @p THD_STATE_FINAL state.
          + * The following diagram explains the mechanism: + * @dot + digraph example { + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + + init [label="No thread", style="bold"]; + alive [label="Alive"]; + final [label="Terminated"]; + detached [label="Detached", style="bold"]; + + init -> alive [label="chThdCreateX()"]; + alive -> alive [label="chThdAddRef()"]; + alive -> alive [label="chThdRelease()\n[ref > 0]"]; + alive -> detached [label="chThdRelease()\n[ref == 0]"]; + alive -> init [label="chThdWait()\n[ref == 0]"]; + alive -> final [label="chThdExit()\nreturn"]; + final -> final [label="chThdAddRef()"]; + final -> final [label="chThdRelease()\nchThdWait()\n[ref > 0]"]; + final -> init [label="chThdRelease()\nchThdWait()\n[ref == 0]"]; + } + * @enddot + *
          + * As you can see the simplest way to ensure that the memory is released is + * that another threads performs a @p chThdWait() on the dynamic thread.
          + * If all the references to the threads are released while the thread is + * still alive then the thread goes in a "detached" state and its memory + * cannot be recovered unless there is a dedicated task in the system that + * scans the threads through the @ref registry subsystem and frees the + * terminated ones. + */ diff --git a/docs/src/main.dox b/docs/src/main.dox index a5ae9a8ca..39601e563 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -60,6 +60,7 @@ *

          Related pages

          * - @subpage lic_faq * - @subpage goals + * - @subpage architecture * - @subpage concepts * - @subpage articles * - @subpage testsuite -- cgit v1.2.3 From 10b1366c43353749a182c60c7dfbe2e9fa2fd567 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 26 Feb 2010 14:03:23 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1676 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/concepts.dox | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index e1d5f6156..6ddc8035f 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -174,7 +174,42 @@ * eligible for execution then they are executed in a round-robin way, the * CPU time slice constant is configurable. The ready list is a double linked * list of threads ordered by priority.

          - * @image html readylist.png + * @dot + digraph example { + rankdir="LR"; + + node [shape=square, fontname=Helvetica, fontsize=8, + fixedsize="true", width="0.6", height="0.5"]; + edge [fontname=Helvetica, fontsize=8]; + + subgraph cluster_running { + node [shape=square, fontname=Helvetica, fontsize=8, + fixedsize="true", width="0.6", height="0.5"]; + currp [label="'currp'\npointer", style="bold"]; + T4 [label="Tuser(4)\nprio=100"]; + label = "Currently Running Thread"; + penwidth = 0; + } + + subgraph cluster_rlist { + node [shape=square, fontname=Helvetica, fontsize=8, + fixedsize="true", width="0.6", height="0.5"]; + rh [label="ready list\nheader\nprio=0", style="bold"]; + Ti [label="Tidle\nprio=1"]; + Tm [label="Tmain\nprio=64"]; + T1 [label="Tuser(1)\nprio=32"]; + T2 [label="Tuser(2)\nprio=32"]; + T3 [label="Tuser(3)\nprio=80"]; + label = "Threads Ready for Execution"; + penwidth = 0; + } + + currp -> T4 + rh -> Ti -> T1 -> T2 -> Tm -> T3 -> rh [label="p_next"]; + rh -> T3 -> Tm -> T2 -> T1 -> Ti -> rh [label="p_prev"]; + } + * @enddot + *
          * Note that the currently running thread is not in the ready list, the list * only contains the threads ready to be executed but still actually waiting. * -- cgit v1.2.3 From bdfdc5f47a507de9c44f28ca794e3b021135ab34 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 27 Feb 2010 09:38:41 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1683 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 13 ++++++++----- docs/reports/kernel.txt | 24 ++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index f044cf410..cd09e95af 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,9 +5,12 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.1unstable -*** Architecture: ARM Cortex-M3 +*** Kernel: 1.5.2unstable *** GCC Version: 4.4.2 +*** Architecture: ARM +*** Core Variant: Cortex-M3 +*** Platform: STM32 +*** Test Board: Olimex STM32-P103 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -109,7 +112,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 203029 threads/S +--- Score : 203030 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) @@ -117,7 +120,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505288 reschedulations/S, 505288 ctxswc/S +--- Score : 505284 reschedulations/S, 505284 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -125,7 +128,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647548 timers/S +--- Score : 647640 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index ea3e28c5d..7772596ac 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -1,3 +1,27 @@ +Platform : PowerPC +OS Setup : Full kernel +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -O2 +Kernel Size = 11052 + +Platform : PowerPC +OS Setup : Minimal kernel +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -O2 +Kernel Size = 2532 + +Platform : PowerPC +OS Setup : Full kernel +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -Os +Kernel Size = 9704 + +Platform : PowerPC +OS Setup : Minimal kernel +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -Os +Kernel Size = 2508 + Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -- cgit v1.2.3 From b013914f64d436aeccd6a524615cbd41c96717a3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Feb 2010 10:16:44 +0000 Subject: Enhanced kernel size report, it is required for another optimizations round. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1686 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/reports/kernel.txt | 166 ++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 141 insertions(+), 27 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 1ea40a3b8..e05f55e79 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.2 +PROJECT_NUMBER = 1.5.3 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 7772596ac..470220444 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -1,156 +1,270 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 -Options : -O2 +Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 11052 +Platform : PowerPC +OS Setup : Full kernel +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 10648 + Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -Kernel Size = 2532 +Kernel Size = 2304 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 -Options : -Os +Options : -Os -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 9704 +Platform : PowerPC +OS Setup : Full kernel +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -Os -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 9236 + Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -Kernel Size = 2508 +Kernel Size = 2328 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -mthumb +Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 5428 +Platform : ARM Cortex-M3 +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 4960 + Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 1468 +Kernel Size = 1412 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb +Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 5224 +Platform : ARM Cortex-M3 +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 4800 + Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 1416 +Kernel Size = 1372 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 5028 +Platform : ARM Cortex-M3 +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 4620 + Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1368 +Kernel Size = 1332 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 +Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 7964 +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 7556 + Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -Kernel Size = 2160 +Kernel Size = 1980 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os +Options : -Os -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 7708 +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 7340 + Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -Kernel Size = 2112 +Kernel Size = 1928 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 7672 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 7280 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Kernel Size = 1912 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 7404 +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 7052 + Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 2048 +Kernel Size = 1880 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5220 +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 5032 + Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1468 +Kernel Size = 1364 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5044 +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4872 + Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1448 +Kernel Size = 1344 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 5076 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4896 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 1324 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 4848 +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4704 + Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1404 +Kernel Size = 1308 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 -Options : -O2 +Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 5640 +Platform : MSP430 +OS Setup : Full kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 5132 + Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1260 +Kernel Size = 1256 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 -Options : -Os +Options : -Os -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 5576 +Platform : MSP430 +OS Setup : Full kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -Os -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 5088 + Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1260 +Kernel Size = 1256 -- cgit v1.2.3 From 59a45f97cae33cf164171a3c9b460dba1f091e4f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Feb 2010 12:34:11 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1687 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 470220444..26740c62b 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -8,7 +8,7 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10648 +Kernel Size = 10616 Platform : PowerPC OS Setup : Minimal kernel @@ -26,7 +26,7 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9236 +Kernel Size = 9228 Platform : PowerPC OS Setup : Minimal kernel @@ -92,7 +92,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7964 +Kernel Size = 7968 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -110,7 +110,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7708 +Kernel Size = 7712 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -128,7 +128,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7672 +Kernel Size = 7676 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -146,7 +146,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7404 +Kernel Size = 7408 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -170,7 +170,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5032 +Kernel Size = 5028 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -188,7 +188,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4872 +Kernel Size = 4868 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -242,7 +242,7 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5132 +Kernel Size = 5128 Platform : MSP430 OS Setup : Minimal kernel @@ -260,7 +260,7 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5088 +Kernel Size = 5084 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 370bbe3477b7f156b5da5b60764e31a0d8c4b4e6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Feb 2010 12:43:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1688 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 50 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 26740c62b..3800bf736 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11052 +Kernel Size = 11044 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10616 +Kernel Size = 10608 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9704 +Kernel Size = 9696 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9228 +Kernel Size = 9220 Platform : PowerPC OS Setup : Minimal kernel @@ -38,7 +38,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5428 +Kernel Size = 5424 Platform : ARM Cortex-M3 OS Setup : Full kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5224 +Kernel Size = 5220 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4800 +Kernel Size = 4796 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -74,13 +74,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5028 +Kernel Size = 5032 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4620 +Kernel Size = 4624 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7968 +Kernel Size = 7964 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7556 +Kernel Size = 7552 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7712 +Kernel Size = 7708 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7340 +Kernel Size = 7336 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7676 +Kernel Size = 7684 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7280 +Kernel Size = 7284 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7408 +Kernel Size = 7412 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7052 +Kernel Size = 7056 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -182,13 +182,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5044 +Kernel Size = 5040 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4868 +Kernel Size = 4864 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -218,13 +218,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4848 +Kernel Size = 4852 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4704 +Kernel Size = 4708 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5640 +Kernel Size = 5636 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5128 +Kernel Size = 5124 Platform : MSP430 OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5576 +Kernel Size = 5572 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5084 +Kernel Size = 5080 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 7d9957e5ef13c814dfe08c10502492178a88794f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Feb 2010 12:47:06 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1689 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 3800bf736..16362d899 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -8,7 +8,7 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10608 +Kernel Size = 10592 Platform : PowerPC OS Setup : Minimal kernel @@ -26,7 +26,7 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9220 +Kernel Size = 9216 Platform : PowerPC OS Setup : Minimal kernel @@ -44,7 +44,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4960 +Kernel Size = 4956 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -62,7 +62,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4796 +Kernel Size = 4792 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -80,7 +80,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4624 +Kernel Size = 4620 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,7 +92,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7964 +Kernel Size = 7968 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -110,7 +110,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7708 +Kernel Size = 7712 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -128,7 +128,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7684 +Kernel Size = 7688 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -146,7 +146,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7412 +Kernel Size = 7416 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -170,7 +170,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5028 +Kernel Size = 5024 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -188,7 +188,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4864 +Kernel Size = 4860 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -206,7 +206,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4896 +Kernel Size = 4892 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -224,7 +224,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4708 +Kernel Size = 4704 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -242,7 +242,7 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5124 +Kernel Size = 5120 Platform : MSP430 OS Setup : Minimal kernel @@ -260,7 +260,7 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5080 +Kernel Size = 5076 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 1aad9e4509193ea3726a2d021beb2421adca0a93 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Feb 2010 13:26:02 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1691 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 16362d899..b21f6bd97 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -236,13 +236,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5636 +Kernel Size = 5632 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5120 +Kernel Size = 5116 Platform : MSP430 OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5572 +Kernel Size = 5568 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5076 +Kernel Size = 5072 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 15637527154ac52316efcdd81734342fa65718d1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Feb 2010 13:32:45 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1692 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index b21f6bd97..116210ac4 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11044 +Kernel Size = 11036 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10592 +Kernel Size = 10580 Platform : PowerPC OS Setup : Minimal kernel @@ -26,7 +26,7 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9216 +Kernel Size = 9212 Platform : PowerPC OS Setup : Minimal kernel @@ -38,7 +38,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5424 +Kernel Size = 5432 Platform : ARM Cortex-M3 OS Setup : Full kernel @@ -62,7 +62,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4792 +Kernel Size = 4788 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -80,7 +80,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4620 +Kernel Size = 4616 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,7 +92,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7968 +Kernel Size = 7972 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7688 +Kernel Size = 7692 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7284 +Kernel Size = 7280 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -152,7 +152,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7056 +Kernel Size = 7052 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -170,7 +170,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5024 +Kernel Size = 5020 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -188,7 +188,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4860 +Kernel Size = 4856 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5076 +Kernel Size = 5068 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4892 +Kernel Size = 4884 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -218,13 +218,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4852 +Kernel Size = 4848 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4704 +Kernel Size = 4700 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -- cgit v1.2.3 From f1ffe4b7fafdca0e074a2076b194390c2c77d25a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 3 Mar 2010 13:11:51 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1703 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 1 + docs/src/target.dox | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 docs/src/target.dox (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 39601e563..f639682ab 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -60,6 +60,7 @@ *

          Related pages

          * - @subpage lic_faq * - @subpage goals + * - @subpage target * - @subpage architecture * - @subpage concepts * - @subpage articles diff --git a/docs/src/target.dox b/docs/src/target.dox new file mode 100644 index 000000000..8b6fd6493 --- /dev/null +++ b/docs/src/target.dox @@ -0,0 +1,84 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page target Applicative Range + * @brief ChibiOS/RT Applicative Range + * ChibiOS/RT has a well defined Applicative Range: deeply embedded systems + * that range from low/mid-range 8bits MCUs up to complex 32bits SOCs. + * - @ref applications + * - @ref min_requirements + * - @ref desirable_features + * - @ref upper_limit + * . + * @section applications Applicative Scenarios + * ChibiOS/RT is usable in many applicative areas, as example and not limited + * to: + * - Automotive. + * - Robotic Applications. + * - Consumer Electronics. + * - Energy Management. + * - Teaching and Learning. + * - Hobby. + * . + * @section min_requirements Absolute Minimum Requirements + * A certain set of minimum system requirements must be satisfied in order to + * use ChibiOS/RT on a new architecture: + * - 8bits architecture minimum. + * - A "real" stack pointer that can be positioned anywhere in the data address + * space. The OS could be ported to architectures with an hardware stack but + * I wouldn't recommend it because the context switch would become + * ridiculously inefficient. + * - Support for maskable interrupt sources and at least an OS-dedicated timer. + * - Support for standard C89 (C99 supported) language with no + * architecture-related non-standard restrictions. Non standard mandatory + * language extensions or restrictions may result in reduced functionality + * or impossibility of use. + * - 384/512bytes RAM permanently allocated to the kernel and its two mandatory + * threads "idle" and "main", the exact value depends on the architecture. + * This figure is not inclusive of the HAL and device drivers (non mandatory + * components). + * - 8KiB of program space for a full featured kernel scalable down to about + * 1.2KiB for reduced configurations. This figure is not inclusive of the + * HAL and device drivers (non mandatory components). + * . + * @section desirable_features Desirable Features + * - Efficient instruction set for linked lists traversal. The kernel makes + * extensive use of simple and bidirectional linked lists so the performance + * is directly affected by the suported addressing modes, number of registers + * etc. + * - Uniformly sized C pointers. + * - 2KiB RAM. + * - 16KiB ROM/Flash. + * . + * @section upper_limit Upper Applicative Limit + * The application range of ChibiOS/RT ends when one or more of the following + * features are required: + * - Separation between user code space and kernel space, both just logical or + * using a Memory Management/Protection Unit. Applications in ChibiOS/RT are + * supposed to be monolithic and trusted. The kernel and the application + * share the same address space. + * - Multiple applications. ChibiOS/RT supports the single multithreaded + * application model. + * - Multicore SMP architectures. Currently ChibiOS/RT only supports a single + * core unless running multiple distinct and separate OS instances. + * A true multicore kernel is planned for when multicore MCUs will become + * commonly available. + * . + */ -- cgit v1.2.3 From 5976e4f19fe5010d459aa9758c55a60c820a114e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 5 Mar 2010 18:50:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1711 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S208-16.txt | 108 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 docs/reports/STM8S208-16.txt (limited to 'docs') diff --git a/docs/reports/STM8S208-16.txt b/docs/reports/STM8S208-16.txt new file mode 100644 index 000000000..b04ba9f2d --- /dev/null +++ b/docs/reports/STM8S208-16.txt @@ -0,0 +1,108 @@ +*************************************************************************** +Options: Optimized for space (3) +Settings: CPUCLK=16MHz (HSI) +Compiler: Raisonance +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 1.5.1unstable +*** Architecture: STM8 +*** Test Board: Raisonance REva V3 + STM8S208RB + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 32096 msgs/S, 64192 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 25014 msgs/S, 50028 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 25014 msgs/S, 50028 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 111488 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 19540 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 28852 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) +--- Score : 7239 reschedulations/S, 43434 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 72160 reschedulations/S, 72160 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 69160 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 65508 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 200424 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, RAM footprint) +--- System: 173 bytes +--- Thread: 26 bytes +--- Timer : 10 bytes +--- Semaph: 6 bytes +--- EventS: 2 bytes +--- EventL: 5 bytes +--- Queue : 16 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From b69948bc4883423fde36e63e2ef5d2d16f7ec71c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 5 Mar 2010 19:01:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1713 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 4 +++- docs/reports/STM8S208-16.txt | 16 ++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index e05f55e79..b03277073 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -579,6 +579,7 @@ INPUT = ../docs/src \ ../os/kernel/src \ ../os/kernel/templates \ ../os/ports \ + ../os/ports/GCC/AVR \ ../os/ports/GCC/ARM7 \ ../os/ports/GCC/ARM7/crt0.s \ ../os/ports/GCC/ARM7/chcoreasm.s \ @@ -587,7 +588,7 @@ INPUT = ../docs/src \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ - ../os/ports/GCC/AVR \ + ../os/ports/RC/STM8 \ ../os/hal \ ../os/hal/include \ ../os/hal/src \ @@ -597,6 +598,7 @@ INPUT = ../docs/src \ ../os/hal/platforms/LPC214x \ ../os/hal/platforms/MSP430 \ ../os/hal/platforms/STM32 \ + ../os/hal/platforms/STM8 \ ../os/various \ ../test \ ../ext/ext.dox diff --git a/docs/reports/STM8S208-16.txt b/docs/reports/STM8S208-16.txt index b04ba9f2d..b1f37b9ae 100644 --- a/docs/reports/STM8S208-16.txt +++ b/docs/reports/STM8S208-16.txt @@ -1,12 +1,12 @@ *************************************************************************** -Options: Optimized for space (3) +Options: Optimized for speed (3) Settings: CPUCLK=16MHz (HSI) Compiler: Raisonance *************************************************************************** *** ChibiOS/RT test suite *** -*** Kernel: 1.5.1unstable +*** Kernel: 1.5.3unstable *** Architecture: STM8 *** Test Board: Raisonance REva V3 + STM8S208RB @@ -51,15 +51,15 @@ Compiler: Raisonance --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 32096 msgs/S, 64192 ctxswc/S +--- Score : 31903 msgs/S, 63806 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 25014 msgs/S, 50028 ctxswc/S +--- Score : 24897 msgs/S, 49794 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 25014 msgs/S, 50028 ctxswc/S +--- Score : 24897 msgs/S, 49794 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -75,7 +75,7 @@ Compiler: Raisonance --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 7239 reschedulations/S, 43434 ctxswc/S +--- Score : 7322 reschedulations/S, 43932 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) @@ -87,11 +87,11 @@ Compiler: Raisonance --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 65508 timers/S +--- Score : 64842 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 200424 wait+signal/S +--- Score : 200420 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, RAM footprint) -- cgit v1.2.3 From a528517b440c7b45ad4da7e7ae8c66247dc7c2f0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 5 Mar 2010 19:06:22 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1714 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S208-16.txt | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM8S208-16.txt b/docs/reports/STM8S208-16.txt index b1f37b9ae..2046ad681 100644 --- a/docs/reports/STM8S208-16.txt +++ b/docs/reports/STM8S208-16.txt @@ -44,6 +44,18 @@ Compiler: Raisonance --- Test Case 6.3 (Events, timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -51,52 +63,52 @@ Compiler: Raisonance --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 31903 msgs/S, 63806 ctxswc/S +--- Score : 31840 msgs/S, 63680 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24897 msgs/S, 49794 ctxswc/S +--- Score : 24743 msgs/S, 49486 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24897 msgs/S, 49794 ctxswc/S +--- Score : 24743 msgs/S, 49486 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 111488 ctxswc/S +--- Score : 112568 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 19540 threads/S +--- Score : 18457 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 28852 threads/S +--- Score : 28904 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 7322 reschedulations/S, 43932 ctxswc/S +--- Score : 7336 reschedulations/S, 44016 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 72160 reschedulations/S, 72160 ctxswc/S +--- Score : 71920 reschedulations/S, 71920 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 69160 bytes/S +--- Score : 69028 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 64842 timers/S +--- Score : 64712 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 200420 wait+signal/S +--- Score : 201052 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, RAM footprint) ---- System: 173 bytes ---- Thread: 26 bytes +--- System: 179 bytes +--- Thread: 29 bytes --- Timer : 10 bytes --- Semaph: 6 bytes --- EventS: 2 bytes -- cgit v1.2.3 From eb5721207ec3c63c8fcddd39810b851ff72264f6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 7 Mar 2010 08:32:55 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1727 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 4 +-- docs/reports/kernel.txt | 60 +++++++++++++++++++++---------------------- 2 files changed, 32 insertions(+), 32 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index cd09e95af..adfdd40f4 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.2unstable +*** Kernel: 1.5.3unstable *** GCC Version: 4.4.2 *** Architecture: ARM *** Core Variant: Cortex-M3 @@ -92,7 +92,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 223893 msgs/S, 447786 ctxswc/S +--- Score : 223892 msgs/S, 447784 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 116210ac4..6b218fc0a 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11036 +Kernel Size = 11040 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10580 +Kernel Size = 10584 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9696 +Kernel Size = 9700 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9212 +Kernel Size = 9216 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5432 +Kernel Size = 5436 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4956 +Kernel Size = 4960 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5220 +Kernel Size = 5224 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4788 +Kernel Size = 4792 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -74,13 +74,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5032 +Kernel Size = 5036 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4616 +Kernel Size = 4620 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7972 +Kernel Size = 7976 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7552 +Kernel Size = 7556 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7712 +Kernel Size = 7716 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7336 +Kernel Size = 7340 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7692 +Kernel Size = 7696 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7280 +Kernel Size = 7284 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7416 +Kernel Size = 7420 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7052 +Kernel Size = 7056 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -164,13 +164,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5220 +Kernel Size = 5224 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5020 +Kernel Size = 5024 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -182,13 +182,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5040 +Kernel Size = 5044 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4856 +Kernel Size = 4860 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5068 +Kernel Size = 5072 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4884 +Kernel Size = 4888 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -218,13 +218,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4848 +Kernel Size = 4852 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4700 +Kernel Size = 4704 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5632 +Kernel Size = 5636 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5116 +Kernel Size = 5120 Platform : MSP430 OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5568 +Kernel Size = 5572 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5072 +Kernel Size = 5076 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From c25dfcb4c975fe7a43394d69536f80c9ebfee9e9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 7 Mar 2010 08:53:19 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1730 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/target.dox | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/target.dox b/docs/src/target.dox index 8b6fd6493..db4f7d709 100644 --- a/docs/src/target.dox +++ b/docs/src/target.dox @@ -19,9 +19,7 @@ /** * @page target Applicative Range - * @brief ChibiOS/RT Applicative Range - * ChibiOS/RT has a well defined Applicative Range: deeply embedded systems - * that range from low/mid-range 8bits MCUs up to complex 32bits SOCs. + * @brief ChibiOS/RT Applicative Range. * - @ref applications * - @ref min_requirements * - @ref desirable_features -- cgit v1.2.3 From e4fed0ca868ce6365ef6cdf2774b49f83a430d6a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 7 Mar 2010 09:00:26 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1731 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/target.dox | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/src/target.dox b/docs/src/target.dox index db4f7d709..078a0d1cc 100644 --- a/docs/src/target.dox +++ b/docs/src/target.dox @@ -18,14 +18,14 @@ */ /** - * @page target Applicative Range - * @brief ChibiOS/RT Applicative Range. + * @page target Application Range + * @brief ChibiOS/RT Application Range. * - @ref applications * - @ref min_requirements * - @ref desirable_features * - @ref upper_limit * . - * @section applications Applicative Scenarios + * @section applications Application Scenarios * ChibiOS/RT is usable in many applicative areas, as example and not limited * to: * - Automotive. @@ -48,8 +48,8 @@ * architecture-related non-standard restrictions. Non standard mandatory * language extensions or restrictions may result in reduced functionality * or impossibility of use. - * - 384/512bytes RAM permanently allocated to the kernel and its two mandatory - * threads "idle" and "main", the exact value depends on the architecture. + * - 256/512bytes RAM permanently allocated to the kernel and its two mandatory + * threads "idle" and "main", the exact amount depends on the architecture. * This figure is not inclusive of the HAL and device drivers (non mandatory * components). * - 8KiB of program space for a full featured kernel scalable down to about @@ -65,7 +65,7 @@ * - 2KiB RAM. * - 16KiB ROM/Flash. * . - * @section upper_limit Upper Applicative Limit + * @section upper_limit Upper Recommended Limit * The application range of ChibiOS/RT ends when one or more of the following * features are required: * - Separation between user code space and kernel space, both just logical or -- cgit v1.2.3 From 1585e2851cd4d862b4e08efd2b200f0401110133 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 9 Mar 2010 13:43:16 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1733 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index b03277073..9ebf7f47d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.3 +PROJECT_NUMBER = 1.5.4 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 49bc192b747cc5c9a1d91d366af933bdef540d05 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 9 Mar 2010 21:02:41 +0000 Subject: Removed some obsolete documentation files. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1735 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/arch.png | Bin 31749 -> 0 bytes docs/rsc/arch.svg | 515 ------------------------------------------------- docs/rsc/readylist.png | Bin 9766 -> 0 bytes docs/rsc/readylist.svg | 341 -------------------------------- 4 files changed, 856 deletions(-) delete mode 100644 docs/rsc/arch.png delete mode 100644 docs/rsc/arch.svg delete mode 100644 docs/rsc/readylist.png delete mode 100644 docs/rsc/readylist.svg (limited to 'docs') diff --git a/docs/rsc/arch.png b/docs/rsc/arch.png deleted file mode 100644 index 4a0551e44..000000000 Binary files a/docs/rsc/arch.png and /dev/null differ diff --git a/docs/rsc/arch.svg b/docs/rsc/arch.svg deleted file mode 100644 index a7be589e0..000000000 --- a/docs/rsc/arch.svg +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - Hardware - - - - System Abstraction Layer - - - - Threads - - - - Mutexes Condvars - - - - Virtual Timers - - - - Messages - - - - Mailboxes - - - - Semaphores - - - - I/O Queues - - - - Event Flags - - - - Scheduler - - - - Interrupts Handling - - - - Device Drivers and Application Code - - - - - - - - - - - - - - - - - - - - - - - - - - - Port Code - - - - - diff --git a/docs/rsc/readylist.png b/docs/rsc/readylist.png deleted file mode 100644 index 32886ba3e..000000000 Binary files a/docs/rsc/readylist.png and /dev/null differ diff --git a/docs/rsc/readylist.svg b/docs/rsc/readylist.svg deleted file mode 100644 index afd957236..000000000 --- a/docs/rsc/readylist.svg +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - 63 - Ready List organization Thread Structure - - - - 62 - - - - - 64 - - - - - 64 - - - - - Header - - - - - - - - - - - - -- cgit v1.2.3 From f1bb1a01ca40b8c999346c701450fcf0ca74827a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 12 Mar 2010 11:25:52 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1738 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 1 + docs/src/roundrobin.dox | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 docs/src/roundrobin.dox (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index f8a40e2f7..ea471bdb7 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -25,6 +25,7 @@ * - @subpage article_wakeup * - @subpage article_manage_memory * - @subpage article_stacks + * - @subpage article_roundrobin * - @subpage article_lifecycle * - @subpage article_mutual_exclusion * - @subpage article_atomic diff --git a/docs/src/roundrobin.dox b/docs/src/roundrobin.dox new file mode 100644 index 000000000..8158a5c03 --- /dev/null +++ b/docs/src/roundrobin.dox @@ -0,0 +1,50 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_roundrobin Round Robin scheduling explained + * Unlike many other RTOSes, ChibiOS/RT supports multiple threads at the + * same priority level and schedules them using an aggressive + * round-robin strategy.
          + * The strategy is defined as aggressive because any scheduling event + * can cause the round-robin threads to rotate.
          + * A round-robin rotation can happen because of the following events: + * - The currently executed thread voluntarily invokes the @p chThdYield() + * API in order to allow the execution of another thread at the same + * priority level, if any. + * - The currently executed thread voluntarily goes into a sleep state + * (see @ref thread_states), when the thread is waken it goes behind + * all the other threads at the same priority level. + * - The currently executed thread is preempted by an higher priority + * thread, the thread is reinserted in the ready list (see @ref scheduling) + * behind all the other threads at the same priority level. + * - If the @p CH_TIME_QUANTUM configuration constant is set to a value + * greater than zero and if the specified time quantum expired and if + * a thread with equal priority is ready then the currently executing + * thread is automatically reinserted in the ready list behind all the + * other threads at the same priority level. + * . + * As you can see the @p CH_TIME_QUANTUM setting is really useful only if + * there are threads at the same priority level that can run not preempted + * for long periods of time and that do not explicitly yield using + * @p chThdYield(). Because of this you should consider to set + * @p CH_TIME_QUANTUM to zero in your configuration file, this makes the + * kernel much faster and smaller and does not forbid the use of + * multiple threads at the same priority level. + */ -- cgit v1.2.3 From 075b89133ec371480bdcf670d3f412b1cf131b0e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 14 Mar 2010 09:13:21 +0000 Subject: Performance optimization (not complete yet). git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1739 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 29 ++++++++++++++++------------- docs/reports/LPC2148-48-THUMB.txt | 35 +++++++++++++++++++---------------- docs/reports/STM32F103-72.txt | 16 ++++++++-------- 3 files changed, 43 insertions(+), 37 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index a97145500..1ded2925d 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,9 +5,12 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.8unstable -*** Architecture: ARM7TDMI +*** Kernel: 1.5.4unstable *** GCC Version: 4.4.2 +*** Architecture: ARM +*** Core Variant: ARM7TDMI +*** Platform: LPC214x +*** Test Board: Olimex LCP-P2148 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -89,31 +92,31 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 144506 msgs/S, 289012 ctxswc/S +--- Score : 148086 msgs/S, 296172 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 114706 msgs/S, 229412 ctxswc/S +--- Score : 116100 msgs/S, 232200 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 114706 msgs/S, 229412 ctxswc/S +--- Score : 116100 msgs/S, 232200 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 501520 ctxswc/S +--- Score : 509520 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 107731 threads/S +--- Score : 87287 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 150417 threads/S +--- Score : 122334 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36514 reschedulations/S, 219084 ctxswc/S +--- Score : 36238 reschedulations/S, 217428 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) @@ -121,7 +124,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 357308 bytes/S +--- Score : 357312 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) @@ -133,12 +136,12 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 380408 lock+unlock/S +--- Score : 383452 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 324 bytes ---- Thread: 60 bytes +--- System: 356 bytes +--- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes --- EventS: 4 bytes diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 436ae860b..9d841ef60 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -5,9 +5,12 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.5unstable -*** Architecture: ARM7TDMI +*** Kernel: 1.5.4unstable *** GCC Version: 4.4.2 +*** Architecture: ARM +*** Core Variant: ARM7TDMI +*** Platform: LPC214x +*** Test Board: Olimex LCP-P2148 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -89,56 +92,56 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 104991 msgs/S, 209982 ctxswc/S +--- Score : 106455 msgs/S, 212910 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 87494 msgs/S, 174988 ctxswc/S +--- Score : 88190 msgs/S, 176380 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 87494 msgs/S, 174988 ctxswc/S +--- Score : 88190 msgs/S, 176380 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 410488 ctxswc/S +--- Score : 412496 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 87176 threads/S +--- Score : 67800 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 120330 threads/S +--- Score : 100842 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 29561 reschedulations/S, 177366 ctxswc/S +--- Score : 29488 reschedulations/S, 176928 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 257160 reschedulations/S, 257160 ctxswc/S +--- Score : 257308 reschedulations/S, 257308 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 265328 bytes/S +--- Score : 265488 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 303348 timers/S +--- Score : 326324 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 353248 wait+signal/S +--- Score : 353452 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 249168 lock+unlock/S +--- Score : 255980 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 324 bytes ---- Thread: 60 bytes +--- System: 356 bytes +--- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes --- EventS: 4 bytes diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index adfdd40f4..add168a63 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.3unstable +*** Kernel: 1.5.4unstable *** GCC Version: 4.4.2 *** Architecture: ARM *** Core Variant: Cortex-M3 @@ -92,31 +92,31 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 223892 msgs/S, 447784 ctxswc/S +--- Score : 226004 msgs/S, 452008 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 187652 msgs/S, 375304 ctxswc/S +--- Score : 188141 msgs/S, 376282 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 187652 msgs/S, 375304 ctxswc/S +--- Score : 188141 msgs/S, 376282 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 696944 ctxswc/S +--- Score : 707232 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 146984 threads/S +--- Score : 147284 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 203030 threads/S +--- Score : 204767 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 56954 reschedulations/S, 341724 ctxswc/S +--- Score : 57181 reschedulations/S, 343086 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) -- cgit v1.2.3 From c7837bab2ee164d6bb4fb47948ee5fe33162b449 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 14 Mar 2010 09:54:23 +0000 Subject: AVR and simulator still missing. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1740 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 33 ++++++++------- docs/reports/MSP430F1611-8.txt | 29 ++++++++------ docs/reports/kernel.txt | 84 +++++++++++++++++++-------------------- 3 files changed, 76 insertions(+), 70 deletions(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index ad619d833..a1175ee2d 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -5,9 +5,12 @@ Settings: MCLK=DCOCLK 750KHz *** ChibiOS/RT test suite *** -*** Kernel: 1.3.3unstable -*** Architecture: MSP430 +*** Kernel: 1.5.4unstable *** GCC Version: 3.2.3 +*** Architecture: MSP430 +*** Core Variant: MSP430 +*** Platform: MSP430x16x +*** Test Board: Olimex MSP430-P1611 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -89,35 +92,35 @@ Settings: MCLK=DCOCLK 750KHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 1934 msgs/S, 3868 ctxswc/S +--- Score : 1970 msgs/S, 3940 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, messages #2) ---- Score : 1603 msgs/S, 3206 ctxswc/S +--- Test Case 11. (Benchmark, messages #2) +--- Score : 1624 msgs/S, 3248 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 1603 msgs/S, 3206 ctxswc/S +--- Score : 1624 msgs/S, 3248 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 5936 ctxswc/S +--- Score : 5912 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 1319 threads/S +--- Score : 1125 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 1698 threads/S +--- Score : 1511 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 494 reschedulations/S, 2964 ctxswc/S +--- Score : 492 reschedulations/S, 2952 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 4280 reschedulations/S, 4280 ctxswc/S +--- Score : 4256 reschedulations/S, 4256 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -125,7 +128,7 @@ Settings: MCLK=DCOCLK 750KHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 5628 timers/S +--- Score : 5626 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) @@ -133,12 +136,12 @@ Settings: MCLK=DCOCLK 750KHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 7760 lock+unlock/S +--- Score : 7524 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 202 bytes ---- Thread: 30 bytes +--- System: 220 bytes +--- Thread: 36 bytes --- Timer : 10 bytes --- Semaph: 6 bytes --- EventS: 2 bytes diff --git a/docs/reports/MSP430F1611-8.txt b/docs/reports/MSP430F1611-8.txt index 891427256..b94d6f778 100644 --- a/docs/reports/MSP430F1611-8.txt +++ b/docs/reports/MSP430F1611-8.txt @@ -5,9 +5,12 @@ Settings: MCLK=XT2CLK 8MHz *** ChibiOS/RT test suite *** -*** Kernel: 1.3.8unstable -*** Architecture: MSP430 +*** Kernel: 1.5.4unstable *** GCC Version: 3.2.3 +*** Architecture: MSP430 +*** Core Variant: MSP430 +*** Platform: MSP430x16x +*** Test Board: Olimex MSP430-P1611 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -89,35 +92,35 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 20963 msgs/S, 41926 ctxswc/S +--- Score : 21356 msgs/S, 42712 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 17363 msgs/S, 34726 ctxswc/S +--- Score : 17593 msgs/S, 35186 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 17363 msgs/S, 34726 ctxswc/S +--- Score : 17593 msgs/S, 35186 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 64288 ctxswc/S +--- Score : 64024 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 14288 threads/S +--- Score : 12194 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 18404 threads/S +--- Score : 16367 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 5350 reschedulations/S, 32100 ctxswc/S +--- Score : 5329 reschedulations/S, 31974 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 46372 reschedulations/S, 46372 ctxswc/S +--- Score : 46100 reschedulations/S, 46100 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -133,12 +136,12 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 84076 lock+unlock/S +--- Score : 81504 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 202 bytes ---- Thread: 30 bytes +--- System: 220 bytes +--- Thread: 36 bytes --- Timer : 10 bytes --- Semaph: 6 bytes --- EventS: 2 bytes diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 6b218fc0a..b5afe5cff 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,85 +2,85 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11040 +Kernel Size = 11024 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10584 +Kernel Size = 10564 Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -Kernel Size = 2304 +Kernel Size = 2288 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9700 +Kernel Size = 9684 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9216 +Kernel Size = 9196 Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -Kernel Size = 2328 +Kernel Size = 2312 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5436 +Kernel Size = 5432 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4960 +Kernel Size = 4952 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 1412 +Kernel Size = 1408 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5224 +Kernel Size = 5216 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4792 +Kernel Size = 4788 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 1372 +Kernel Size = 1364 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5036 +Kernel Size = 5032 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4620 +Kernel Size = 4616 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,157 +92,157 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7976 +Kernel Size = 7968 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7556 +Kernel Size = 7536 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -Kernel Size = 1980 +Kernel Size = 1972 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7716 +Kernel Size = 7708 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7340 +Kernel Size = 7316 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -Kernel Size = 1928 +Kernel Size = 1916 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7696 +Kernel Size = 7692 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7284 +Kernel Size = 7272 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1912 +Kernel Size = 1904 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7420 +Kernel Size = 7416 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7056 +Kernel Size = 7044 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1880 +Kernel Size = 1872 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5224 +Kernel Size = 5216 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5024 +Kernel Size = 5008 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1364 +Kernel Size = 1356 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5044 +Kernel Size = 5036 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4860 +Kernel Size = 4844 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1344 +Kernel Size = 1336 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5072 +Kernel Size = 5064 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4888 +Kernel Size = 4872 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1324 +Kernel Size = 1316 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4852 +Kernel Size = 4844 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4704 +Kernel Size = 4688 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1308 +Kernel Size = 1300 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5636 +Kernel Size = 5640 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5120 +Kernel Size = 5124 Platform : MSP430 OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5572 +Kernel Size = 5576 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5076 +Kernel Size = 5080 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 3fe6ae7cac5c99c6f4a9e59febaab5a70f116b22 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 15 Mar 2010 09:34:06 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1742 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/SPC563M64-80.txt | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'docs') diff --git a/docs/reports/SPC563M64-80.txt b/docs/reports/SPC563M64-80.txt index 54888a53d..79c34e48b 100644 --- a/docs/reports/SPC563M64-80.txt +++ b/docs/reports/SPC563M64-80.txt @@ -5,9 +5,12 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled *** ChibiOS/RT test suite *** -*** Kernel: 1.5.1unstable -*** Architecture: PPC E200Zx +*** Kernel: 1.5.4unstable *** GCC Version: 4.4.1 +*** Architecture: PowerPC +*** Core Variant: e200z3 +*** Platform: SPC563M64 +*** Test Board: Generic SPC563 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -89,47 +92,47 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 276305 msgs/S, 552610 ctxswc/S +--- Score : 280180 msgs/S, 560360 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 224302 msgs/S, 448604 ctxswc/S +--- Score : 227495 msgs/S, 454990 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 224302 msgs/S, 448604 ctxswc/S +--- Score : 227495 msgs/S, 454990 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 878728 ctxswc/S +--- Score : 898496 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 180662 threads/S +--- Score : 183569 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 259260 threads/S +--- Score : 262670 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 73119 reschedulations/S, 438714 ctxswc/S +--- Score : 73863 reschedulations/S, 443178 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 654412 reschedulations/S, 654412 ctxswc/S +--- Score : 654408 reschedulations/S, 654408 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 617488 bytes/S +--- Score : 618384 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 1132448 timers/S +--- Score : 1093666 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 1027012 wait+signal/S +--- Score : 1027008 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) @@ -150,4 +153,4 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- -Final result: SUCCESS \ No newline at end of file +Final result: SUCCESS -- cgit v1.2.3 From 8cf7b70436de8a93b2a0b3ddaeffbc7bfe4a5666 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 15 Mar 2010 16:04:47 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1743 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/SPC563M64-80.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/reports/SPC563M64-80.txt b/docs/reports/SPC563M64-80.txt index 79c34e48b..2b4930c77 100644 --- a/docs/reports/SPC563M64-80.txt +++ b/docs/reports/SPC563M64-80.txt @@ -92,7 +92,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 280180 msgs/S, 560360 ctxswc/S +--- Score : 280181 msgs/S, 560362 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -116,7 +116,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 73863 reschedulations/S, 443178 ctxswc/S +--- Score : 74206 reschedulations/S, 445236 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) @@ -128,11 +128,11 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 1093666 timers/S +--- Score : 1093662 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 1027008 wait+signal/S +--- Score : 1027012 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) -- cgit v1.2.3 From c7add28f3b906a4c91fd0b5619125760179ae02d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 15 Mar 2010 19:22:27 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1744 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 2 +- docs/reports/kernel.txt | 42 +++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 22 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index add168a63..156def546 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -116,7 +116,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 57181 reschedulations/S, 343086 ctxswc/S +--- Score : 57135 reschedulations/S, 342810 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index b5afe5cff..e5fbb5ecf 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,7 +2,7 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11024 +Kernel Size = 11020 Platform : PowerPC OS Setup : Full kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9684 +Kernel Size = 9680 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9196 +Kernel Size = 9192 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5432 +Kernel Size = 5424 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4952 +Kernel Size = 4948 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5216 +Kernel Size = 5212 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4788 +Kernel Size = 4784 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -74,13 +74,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5032 +Kernel Size = 5028 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4616 +Kernel Size = 4612 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7968 +Kernel Size = 7964 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7536 +Kernel Size = 7532 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7708 +Kernel Size = 7704 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7316 +Kernel Size = 7312 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7692 +Kernel Size = 7688 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7272 +Kernel Size = 7268 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7416 +Kernel Size = 7412 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7044 +Kernel Size = 7040 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5640 +Kernel Size = 5636 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5124 +Kernel Size = 5132 Platform : MSP430 OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5576 +Kernel Size = 5572 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5080 +Kernel Size = 5088 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 0eed163a696d4b6daab19fd8daf05b980058f5f3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 16 Mar 2010 15:43:23 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1745 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/reports/SPC563M64-80.txt | 6 +- docs/rsc/layout.xml | 184 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 188 insertions(+), 4 deletions(-) create mode 100644 docs/rsc/layout.xml (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 9ebf7f47d..6f2187e40 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -511,7 +511,7 @@ FILE_VERSION_FILTER = # file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. -LAYOUT_FILE = +LAYOUT_FILE = ./rsc/layout.xml #--------------------------------------------------------------------------- # configuration options related to warning and progress messages diff --git a/docs/reports/SPC563M64-80.txt b/docs/reports/SPC563M64-80.txt index 2b4930c77..a11669746 100644 --- a/docs/reports/SPC563M64-80.txt +++ b/docs/reports/SPC563M64-80.txt @@ -92,7 +92,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 280181 msgs/S, 560362 ctxswc/S +--- Score : 280180 msgs/S, 560360 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -120,7 +120,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 654408 reschedulations/S, 654408 ctxswc/S +--- Score : 614140 reschedulations/S, 614140 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -128,7 +128,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 1093662 timers/S +--- Score : 1093664 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) diff --git a/docs/rsc/layout.xml b/docs/rsc/layout.xml new file mode 100644 index 000000000..eba6d68b3 --- /dev/null +++ b/docs/rsc/layout.xml @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From ad3d21e81592481539a56e93234f5bf1fa2c0504 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 16 Mar 2010 19:36:21 +0000 Subject: Documentation reorganization. Moved the description from kernel.dox into the source code for ease of editing and reference. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1746 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 90 ++++++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 45 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index e5fbb5ecf..1130f3b5e 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,269 +2,269 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11020 +Kernel Size = 10900 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10564 +Kernel Size = 10436 Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -Kernel Size = 2288 +Kernel Size = 2176 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9680 +Kernel Size = 9560 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9192 +Kernel Size = 9076 Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -Kernel Size = 2312 +Kernel Size = 2200 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5424 +Kernel Size = 5372 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4948 +Kernel Size = 4900 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 1408 +Kernel Size = 1360 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5212 +Kernel Size = 5152 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4784 +Kernel Size = 4736 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 1364 +Kernel Size = 1308 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5028 +Kernel Size = 4964 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4612 +Kernel Size = 4560 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1332 +Kernel Size = 1272 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7964 +Kernel Size = 7852 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7532 +Kernel Size = 7436 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -Kernel Size = 1972 +Kernel Size = 1868 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7704 +Kernel Size = 7600 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7312 +Kernel Size = 7220 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -Kernel Size = 1916 +Kernel Size = 1824 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7688 +Kernel Size = 7572 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7268 +Kernel Size = 7168 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1904 +Kernel Size = 1796 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7412 +Kernel Size = 7304 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7040 +Kernel Size = 6944 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1872 +Kernel Size = 1772 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5216 +Kernel Size = 5168 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5008 +Kernel Size = 4960 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1356 +Kernel Size = 1312 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5036 +Kernel Size = 4988 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4844 +Kernel Size = 4796 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1336 +Kernel Size = 1292 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5064 +Kernel Size = 5012 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4872 +Kernel Size = 4820 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1316 +Kernel Size = 1268 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4844 +Kernel Size = 4792 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4688 +Kernel Size = 4636 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1300 +Kernel Size = 1252 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5636 +Kernel Size = 5548 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5132 +Kernel Size = 5044 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1256 +Kernel Size = 1172 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5572 +Kernel Size = 5484 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5088 +Kernel Size = 5000 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1256 +Kernel Size = 1172 -- cgit v1.2.3 From 392c2fe70d224c4f564ebab5dcd3f0d607a546f0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 17 Mar 2010 13:04:42 +0000 Subject: Fixed bug 2971878 . git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1747 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/SPC563M64-80.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reports/SPC563M64-80.txt b/docs/reports/SPC563M64-80.txt index a11669746..35bbe17a6 100644 --- a/docs/reports/SPC563M64-80.txt +++ b/docs/reports/SPC563M64-80.txt @@ -92,7 +92,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 280180 msgs/S, 560360 ctxswc/S +--- Score : 280181 msgs/S, 560362 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -128,7 +128,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 1093664 timers/S +--- Score : 1093672 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) -- cgit v1.2.3 From cf1b70f486a2696d523d585e91d0e4e5c7b8021c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 18 Mar 2010 16:01:11 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1749 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/atomic.dox | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox index 0e9974ff1..d3bc43ba5 100644 --- a/docs/src/atomic.dox +++ b/docs/src/atomic.dox @@ -20,38 +20,38 @@ /** * @page article_atomic Invoking multiple primitives as a single atomic operation * It is often necessary to invoke multiple operations involving a - * reschedulation as a single atomic operation.
          + * reschedule as a single atomic operation.
          * ChibiOS/RT already implements APIs that perform complex operations, as * example the API @p chSemSignalWait() performs two operations atomically.
          * If more complex operations are required in your application then it is * possible to build macro-operations, see the following example: * @code chSysLock(); - + chSemSignalI(&sem1); chSemSignalI(&sem2); chMtxUnlockS(); chSchRescheduleS(); - + chSysUnlock(); * @endcode * The above example performs a signal operation on two semaphores, unlocks the - * last aquired mutex and finally performs a reschedulation. All the operations + * last acquired mutex and finally performs a reschedule. All the operations * are performed atomically.
          - * An hypotetical @p chSemSignalSignalWait() operation could be implemented as + * An hypothetical @p chSemSignalSignalWait() operation could be implemented as * follow: * @code chSysLock(); - + chSemSignalI(&sem1); chSemSignalI(&sem2); chSemWaitS(&Sem3); /* May reschedule or not. */ chSchRescheduleS(); /* This one reschedules if necessary. */ - + chSysUnlock(); * @endcode * In general multiple @ref I-Class and (non rescheduling) @ref S-Class APIs * can be included and the block is terminated by a rescheduling @ref S-Class * API. An extra @p chSchRescheduleS() can be present at the very end of the - * block, it only reschedules if a reschedulation is still required. + * block, it only reschedules if a reschedule is still required. */ -- cgit v1.2.3 From b83d0b1e83b553f37ea830bfdad749168ab1bc88 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 18 Mar 2010 18:27:14 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1750 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 1130f3b5e..844389895 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 10900 +Kernel Size = 10920 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10436 +Kernel Size = 10468 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9560 +Kernel Size = 9576 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9076 +Kernel Size = 9092 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5372 +Kernel Size = 5360 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4900 +Kernel Size = 4892 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5152 +Kernel Size = 5156 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4736 +Kernel Size = 4740 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7852 +Kernel Size = 7828 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7436 +Kernel Size = 7420 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7600 +Kernel Size = 7596 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7220 +Kernel Size = 7216 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7572 +Kernel Size = 7548 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7168 +Kernel Size = 7152 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7304 +Kernel Size = 7300 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 6944 +Kernel Size = 6940 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -164,13 +164,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5168 +Kernel Size = 5156 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4960 +Kernel Size = 4952 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5012 +Kernel Size = 5000 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4820 +Kernel Size = 4812 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5548 +Kernel Size = 5552 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5044 +Kernel Size = 5040 Platform : MSP430 OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5484 +Kernel Size = 5488 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5000 +Kernel Size = 4996 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 7370e125969d1f5a9808280c507d7ac38d2fc1bc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 18 Mar 2010 18:36:27 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1751 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 844389895..45165a1b6 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 10920 +Kernel Size = 10916 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10468 +Kernel Size = 10464 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9576 +Kernel Size = 9572 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9092 +Kernel Size = 9088 Platform : PowerPC OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7828 +Kernel Size = 7824 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7420 +Kernel Size = 7416 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7596 +Kernel Size = 7592 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7216 +Kernel Size = 7212 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7548 +Kernel Size = 7544 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7152 +Kernel Size = 7148 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7300 +Kernel Size = 7296 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 6940 +Kernel Size = 6936 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5552 +Kernel Size = 5548 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5040 +Kernel Size = 5036 Platform : MSP430 OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5488 +Kernel Size = 5484 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4996 +Kernel Size = 4992 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 05af5534a971e706b6ebde5111cd0fe7c514f63d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 18 Mar 2010 22:03:47 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1754 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/target.dox | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/src/target.dox b/docs/src/target.dox index 078a0d1cc..9904f1426 100644 --- a/docs/src/target.dox +++ b/docs/src/target.dox @@ -59,8 +59,8 @@ * @section desirable_features Desirable Features * - Efficient instruction set for linked lists traversal. The kernel makes * extensive use of simple and bidirectional linked lists so the performance - * is directly affected by the suported addressing modes, number of registers - * etc. + * is directly affected by the supported addressing modes, number of + * registers etc. * - Uniformly sized C pointers. * - 2KiB RAM. * - 16KiB ROM/Flash. -- cgit v1.2.3 From b61fb43e6cc681f9fc53a5efb116accc13e0d35d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 19 Mar 2010 15:45:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1756 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/SPC563M64-80.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'docs') diff --git a/docs/reports/SPC563M64-80.txt b/docs/reports/SPC563M64-80.txt index 35bbe17a6..47de46ff8 100644 --- a/docs/reports/SPC563M64-80.txt +++ b/docs/reports/SPC563M64-80.txt @@ -92,35 +92,35 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 280181 msgs/S, 560362 ctxswc/S +--- Score : 278228 msgs/S, 556456 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 227495 msgs/S, 454990 ctxswc/S +--- Score : 226208 msgs/S, 452416 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 227495 msgs/S, 454990 ctxswc/S +--- Score : 226208 msgs/S, 452416 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 898496 ctxswc/S +--- Score : 895976 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 183569 threads/S +--- Score : 182729 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 262670 threads/S +--- Score : 260954 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 74206 reschedulations/S, 445236 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 74067 reschedules/S, 444402 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 614140 reschedulations/S, 614140 ctxswc/S +--- Score : 614136 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -128,7 +128,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 1093672 timers/S +--- Score : 1093666 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) -- cgit v1.2.3 From 295f370672c3238bc166743261f067bd8fe80cc4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 19 Mar 2010 20:27:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1758 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 156def546..ea962014c 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -115,12 +115,12 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Score : 204767 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 57135 reschedulations/S, 342810 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 57135 reschedules/S, 342810 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505284 reschedulations/S, 505284 ctxswc/S +--- Score : 429720 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -128,7 +128,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647640 timers/S +--- Score : 647548 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) -- cgit v1.2.3 From 195c52c5d0f01dff4b779ba5bdca865a6ee8603d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 21 Mar 2010 10:55:42 +0000 Subject: Added toolchain installation guide. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1767 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/tool001.jpg | Bin 0 -> 22548 bytes docs/rsc/tool002.jpg | Bin 0 -> 47175 bytes docs/src/articles.dox | 1 + docs/src/eclipse.dox | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 165 insertions(+) create mode 100644 docs/rsc/tool001.jpg create mode 100644 docs/rsc/tool002.jpg create mode 100644 docs/src/eclipse.dox (limited to 'docs') diff --git a/docs/rsc/tool001.jpg b/docs/rsc/tool001.jpg new file mode 100644 index 000000000..f4a004fba Binary files /dev/null and b/docs/rsc/tool001.jpg differ diff --git a/docs/rsc/tool002.jpg b/docs/rsc/tool002.jpg new file mode 100644 index 000000000..22cf726bb Binary files /dev/null and b/docs/rsc/tool002.jpg differ diff --git a/docs/src/articles.dox b/docs/src/articles.dox index ea471bdb7..1ab76bbff 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -20,6 +20,7 @@ /** * @page articles Articles and Code Samples * ChibiOS/RT Articles and Code Examples: + * . @subpage article_eclipse * - @subpage article_create_thread * - @subpage article_interrupts * - @subpage article_wakeup diff --git a/docs/src/eclipse.dox b/docs/src/eclipse.dox new file mode 100644 index 000000000..79e60825d --- /dev/null +++ b/docs/src/eclipse.dox @@ -0,0 +1,164 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_eclipse Setting up a free embedded IDE + * @brief Free advanced embedded IDE for ChibiOS/RT + * This article will explain how to setup and use a free toolchain and use it + * with ChibiOS/RT and general embedded development. The IDE will allow you + * to: + * - Edit and reformat your source code. + * - Compile and verify errors. + * - Debug your code on the target board both in high level language and + * assembler. + * - Generate documentation from your source code. + * - Develop embedded applications with or without ChibiOS/RT. + * . + * The guide is meant mainly for Windows users but notes about Linux and + * MAC OSX are present where the setup differs, mostly the toolchain is + * exactly the same. + * + *

          What this guide will not explain

          + * We will not enter in details of common system tasks like and not limited to: + * - Installing applications (unless a special procedure is required). + * - Creating desktop shortcuts. + * - Adding paths to the PATH variable. + * - Creating environment variables. + * - Any other normal PC usage task. + * . + * + *

          Article Index

          + * - @ref required_components + * - @ref install_chibios + * - @ref install_compiler + * - @ref install_eclipse + * - @ref install_zylin + * - @ref install_doxygen + * - @ref install_graphviz + * - @ref install_eclox + * . + * + * @section required_components Required Components + * The first thing to do is to download all the required components, beginners + * should avoid the optional components initially: + * - A JTAG probe supporting GDB and OpenOCD, a list of compatible devices is + * available on the + * OpenOCD home page, more exactly + * here. + * - An STM32 development board (but this guide apply to all the ARM targets + * supported by ChibiOS/RT. This guide describes the Olimex STM32-P103. + * - + * ChibiOS/RT latest stable release. + * - Java runtime, you + * probably already have this installed. + * - Eclipse IDE + * for C/C++ Developers + * - YAGARTO ARM toolchain + * for Windows, note that you need both the compiler and the tools (make + * and binutils). + * - Zylin plugin for on-board debugging, see @ref install_zylin section. + * - OpenOCD binaries for Windows, YAGARTO does not provide those anymore but + * you can download them from here. This guide will describe the use with version + * 3.1 but it should apply to newer releases as well. + * - Optional, MinGW compiler, needed if you want to compile, debug + * and run the simulator from within Eclipse. Linux users do not need this + * one because all Linux distributions include the native GCC. + * - Optional, Doxygen, it is only required if you want to + * generate documentation from source files. + * - Optional, + * Graphwiz, it is only required if you want to generate diagrams + * within documentation from source files. + * - Optional, + * Eclox, it is only required if you want to generate documentation + * from source files from within Eclipse. + * . + * + * @section install_chibios ChibiOS/RT Installation + * Just unzip it into a directory in your home folder, Windows users may + * consider c:@\projects@\chibios. It is strongly suggested to not put version + * numbers into the ChibiOS/RT directory name because Eclipse workspaces + * have absolute paths inside and you don't want to setup everything again + * each time a new ChibiOS/RT version is released, use plain "chibios". + * + * @section install_compiler GCC ARM Compiler Installation + * Simply follow the YAGARTO installation guide. Linux/MACOS users have several + * other options: + * - Download the latest CodeSourcery free Linux package. + * - Build it yourself, Liam recommended a build script here: + * http://github.com/esden/summon-arm-toolchain, it looks interesting. + * . + * Make sure that the compiler binaries directory is listed in the PATH + * variable or Eclipse would not be able to locate it. + * + * @section install_eclipse Eclipse Installation + * Eclipse is distributed into a compressed archive, there is no installation + * procedure: + * - Verify if you have Java installed, if not install the runtime. You may + * verify this using the command: java -version. Make sure you have at + * least version 1.6. + * - Create an eclipse directory in your home and unpack the archive there. + * Windows users may unpack it into c:@\program files@\eclipse. + * - Create a desktop shortcut or other way to launch the Eclipse executable + * easily. + * - Launch Eclipse. + * - Eclipse will ask you a directory for its initial workspace, make it point + * to the ChibiOS/RT root directory (you may have as many workspaces you + * want, keep this for later), make sure to select the check box or it will + * ask you again each time. + * @image html tool001.jpg + * - Now you should see the welcome screen, close it and you will be in the + * normal C/C++ perspective. + * - Unselect "Project->Build Automatically" unless you like insanity. + * - Disable the "usage collector" in Window->Preferences->Usage_Data_Collector + * by unselecting "Enable capture". + * - If you are behind a proxy or firewall (corporate users usually are) + * configure the correct parameters in Window->Preferences->General->Network_Connections. + * - Let Eclipse auto update to the latest version Help->Check_for_Updates. + * . + * + * @section install_zylin Zylin Plugin Installation + * Eclipse requires an hardware debugger component in order to perform on board + * execution and debug. + * - Open Eclipse, then help->Install_New_Software... + * - Press the "Add..." button and put http://opensource.zylin.com/zylincdt + * into the location field, then press OK. The Zylin plugin will appear in the + * available plugins view, select and install it. + * @image html tool002.jpg + * . + * + * @section install_doxygen Doxygen Installation + * Just use the installer, Linux users probably have Doxygen already available + * from the repositories. Make sure that the Doxygen binaries directory + * is listed in the PATH variable or Eclipse would not be able to locate it. + * + * @section install_graphviz Graphviz Installation + * Just use the installer, Linux users probably have Graphviz already available + * from the repositories. Make sure that the Graphviz binaries directory + * is listed in the PATH variable or Doxygen would not be able to locate it. + * + * @section install_eclox Eclox Installation + * Use the same installation steps used for the Zylin plugin except use the + * URL http://download.gna.org/eclox/update. Install "Eclox" not "Eclox Hot". + * After installing Eclox you will be able to compile Doxygen documentation + * using the button with the blue @@ inside. + */ -- cgit v1.2.3 From 51d47eb0795fb2acf0b374c0e348384654d84b17 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 21 Mar 2010 11:11:38 +0000 Subject: Small error. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1768 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 1ab76bbff..c2f9475a2 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -20,7 +20,7 @@ /** * @page articles Articles and Code Samples * ChibiOS/RT Articles and Code Examples: - * . @subpage article_eclipse + * - @subpage article_eclipse * - @subpage article_create_thread * - @subpage article_interrupts * - @subpage article_wakeup -- cgit v1.2.3 From 36f96c9fef7b5670dc9ab1c73c928d66b5bf4492 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 22 Mar 2010 13:39:26 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1771 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 6f2187e40..1a67d8c24 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -583,8 +583,9 @@ INPUT = ../docs/src \ ../os/ports/GCC/ARM7 \ ../os/ports/GCC/ARM7/crt0.s \ ../os/ports/GCC/ARM7/chcoreasm.s \ - ../os/ports/GCC/ARMCM3 \ - ../os/ports/GCC/ARMCM3/crt0.s \ + ../os/ports/GCC/ARMCMx \ + ../os/ports/GCC/ARMCMx/crt0.s \ + ../os/ports/GCC/ARMCMx\STM32F103 \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ -- cgit v1.2.3 From 2732c959eb0435f5f056fd6b6e191395128ea882 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 22 Mar 2010 16:16:52 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1772 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 + docs/readme.txt | 7 +++---- docs/src/eclipse.dox | 19 +++++++++++++------ 3 files changed, 17 insertions(+), 10 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 1a67d8c24..56bb5444e 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -598,6 +598,7 @@ INPUT = ../docs/src \ ../os/hal/platforms/AVR \ ../os/hal/platforms/LPC214x \ ../os/hal/platforms/MSP430 \ + ../os/hal/platforms/SPC56x \ ../os/hal/platforms/STM32 \ ../os/hal/platforms/STM8 \ ../os/various \ diff --git a/docs/readme.txt b/docs/readme.txt index b8ee45e2a..17d5b9136 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -24,12 +24,11 @@ Build procedure: - Normal paragraphs, return rescriptions and notes must start with a capital letter and must be terminated with a dot. - Multiple return values should be listed using the @retval command. -- AUTOBRIEF is enabled but deprecated, gradually convert to the use of explicit - @brief command. +- Parameters direction must be specified. Examples: @note This is a note. @retval RDY_OK is a possible return value. @return The pointer to the created thread is returned. -@param n the number of bytes to be written -@param n the number of bytes to be written. This value can be zero. +@param[in] n the number of bytes to be written +@param[in] n the number of bytes to be written. This value can be zero. diff --git a/docs/src/eclipse.dox b/docs/src/eclipse.dox index 79e60825d..385335d7e 100644 --- a/docs/src/eclipse.dox +++ b/docs/src/eclipse.dox @@ -62,8 +62,6 @@ * OpenOCD home page, more exactly * here. - * - An STM32 development board (but this guide apply to all the ARM targets - * supported by ChibiOS/RT. This guide describes the Olimex STM32-P103. * - * ChibiOS/RT latest stable release. * - Java runtime, you @@ -76,8 +74,8 @@ * - Zylin plugin for on-board debugging, see @ref install_zylin section. * - OpenOCD binaries for Windows, YAGARTO does not provide those anymore but * you can download them from here. This guide will describe the use with version - * 3.1 but it should apply to newer releases as well. + * target="_blank">here. Linux users can try + * here. * - Optional, MinGW compiler, needed if you want to compile, debug * and run the simulator from within Eclipse. Linux users do not need this @@ -125,7 +123,9 @@ * to the ChibiOS/RT root directory (you may have as many workspaces you * want, keep this for later), make sure to select the check box or it will * ask you again each time. + *
          * @image html tool001.jpg + *
          * - Now you should see the welcome screen, close it and you will be in the * normal C/C++ perspective. * - Unselect "Project->Build Automatically" unless you like insanity. @@ -143,9 +143,15 @@ * - Press the "Add..." button and put http://opensource.zylin.com/zylincdt * into the location field, then press OK. The Zylin plugin will appear in the * available plugins view, select and install it. + *
          * @image html tool002.jpg * . * + * @section install_openocd OpenOCD Installation + * Windows users just have to use the installer. Linux user should follow the + * normal installation procedure for deb or rpm packages, of course it is also + * possible to build it from the source code. + * * @section install_doxygen Doxygen Installation * Just use the installer, Linux users probably have Doxygen already available * from the repositories. Make sure that the Doxygen binaries directory @@ -157,8 +163,9 @@ * is listed in the PATH variable or Doxygen would not be able to locate it. * * @section install_eclox Eclox Installation - * Use the same installation steps used for the Zylin plugin except use the - * URL http://download.gna.org/eclox/update. Install "Eclox" not "Eclox Hot". + * Use the same installation steps used for the Zylin plugin except use + * http://download.gna.org/eclox/update as URL. Install "Eclox" not "Eclox + * Hot". * After installing Eclox you will be able to compile Doxygen documentation * using the button with the blue @@ inside. */ -- cgit v1.2.3 From 3039396b6a1b6acb98fa6025bd6c3461d4ee2817 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 22 Mar 2010 19:06:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1773 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/eclipse.dox | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/src/eclipse.dox b/docs/src/eclipse.dox index 385335d7e..77f21720d 100644 --- a/docs/src/eclipse.dox +++ b/docs/src/eclipse.dox @@ -123,7 +123,7 @@ * to the ChibiOS/RT root directory (you may have as many workspaces you * want, keep this for later), make sure to select the check box or it will * ask you again each time. - *
          + *

          * @image html tool001.jpg *
          * - Now you should see the welcome screen, close it and you will be in the @@ -143,7 +143,7 @@ * - Press the "Add..." button and put http://opensource.zylin.com/zylincdt * into the location field, then press OK. The Zylin plugin will appear in the * available plugins view, select and install it. - *
          + *

          * @image html tool002.jpg * . * -- cgit v1.2.3 From b57865fae9e00a5c07d4a63bf519bc0e86ae32f6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 22 Mar 2010 21:37:51 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1774 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/eclipse.dox | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/src/eclipse.dox b/docs/src/eclipse.dox index 77f21720d..09165f6ff 100644 --- a/docs/src/eclipse.dox +++ b/docs/src/eclipse.dox @@ -49,6 +49,7 @@ * - @ref install_compiler * - @ref install_eclipse * - @ref install_zylin + * - @ref install_openocd * - @ref install_doxygen * - @ref install_graphviz * - @ref install_eclox -- cgit v1.2.3 From 2fc7d70a735c84daa85a92a9a0fb23c0997f8355 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 23 Mar 2010 15:45:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1775 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/eclipse003.jpg | Bin 0 -> 42621 bytes docs/rsc/eclipse004.jpg | Bin 0 -> 49163 bytes docs/rsc/eclipse005.jpg | Bin 0 -> 45472 bytes docs/rsc/tool002.jpg | Bin 47175 -> 47193 bytes docs/src/articles.dox | 1 + docs/src/eclipse.dox | 34 ++++---- docs/src/eclipse2.dox | 203 ++++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 219 insertions(+), 19 deletions(-) create mode 100644 docs/rsc/eclipse003.jpg create mode 100644 docs/rsc/eclipse004.jpg create mode 100644 docs/rsc/eclipse005.jpg create mode 100644 docs/src/eclipse2.dox (limited to 'docs') diff --git a/docs/rsc/eclipse003.jpg b/docs/rsc/eclipse003.jpg new file mode 100644 index 000000000..a5cee7998 Binary files /dev/null and b/docs/rsc/eclipse003.jpg differ diff --git a/docs/rsc/eclipse004.jpg b/docs/rsc/eclipse004.jpg new file mode 100644 index 000000000..4d3fc2a85 Binary files /dev/null and b/docs/rsc/eclipse004.jpg differ diff --git a/docs/rsc/eclipse005.jpg b/docs/rsc/eclipse005.jpg new file mode 100644 index 000000000..63ce31e19 Binary files /dev/null and b/docs/rsc/eclipse005.jpg differ diff --git a/docs/rsc/tool002.jpg b/docs/rsc/tool002.jpg index 22cf726bb..c36767ea3 100644 Binary files a/docs/rsc/tool002.jpg and b/docs/rsc/tool002.jpg differ diff --git a/docs/src/articles.dox b/docs/src/articles.dox index c2f9475a2..f6f02e811 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -21,6 +21,7 @@ * @page articles Articles and Code Samples * ChibiOS/RT Articles and Code Examples: * - @subpage article_eclipse + * - @subpage article_eclipse2 * - @subpage article_create_thread * - @subpage article_interrupts * - @subpage article_wakeup diff --git a/docs/src/eclipse.dox b/docs/src/eclipse.dox index 09165f6ff..5b58bf5fe 100644 --- a/docs/src/eclipse.dox +++ b/docs/src/eclipse.dox @@ -19,28 +19,22 @@ /** * @page article_eclipse Setting up a free embedded IDE - * @brief Free advanced embedded IDE for ChibiOS/RT - * This article will explain how to setup and use a free toolchain and use it - * with ChibiOS/RT and general embedded development. The IDE will allow you - * to: - * - Edit and reformat your source code. - * - Compile and verify errors. - * - Debug your code on the target board both in high level language and - * assembler. - * - Generate documentation from your source code. - * - Develop embedded applications with or without ChibiOS/RT. - * . + * @brief Free advanced embedded IDE for ChibiOS/RT. + * details This article will explain how to setup a free toolchain for use with + * ChibiOS/RT and general embedded development.
          * The guide is meant mainly for Windows users but notes about Linux and * MAC OSX are present where the setup differs, mostly the toolchain is * exactly the same. * - *

          What this guide will not explain

          + *

          What this guide does not cover

          * We will not enter in details of common system tasks like and not limited to: * - Installing applications (unless a special procedure is required). * - Creating desktop shortcuts. * - Adding paths to the PATH variable. * - Creating environment variables. * - Any other normal PC usage task. + * - Use of the toolchain, the use is covered by the "@ref article_eclipse2" + * article. * . * *

          Article Index

          @@ -75,7 +69,7 @@ * - Zylin plugin for on-board debugging, see @ref install_zylin section. * - OpenOCD binaries for Windows, YAGARTO does not provide those anymore but * you can download them from here. Linux users can try + * target="_blank">here. Linux users can try * here. * - Optional, MinGW compiler, needed if you want to compile, debug @@ -113,7 +107,7 @@ * Eclipse is distributed into a compressed archive, there is no installation * procedure: * - Verify if you have Java installed, if not install the runtime. You may - * verify this using the command: java -version. Make sure you have at + * verify this using the command: "java -version". Make sure you have at * least version 1.6. * - Create an eclipse directory in your home and unpack the archive there. * Windows users may unpack it into c:@\program files@\eclipse. @@ -130,17 +124,19 @@ * - Now you should see the welcome screen, close it and you will be in the * normal C/C++ perspective. * - Unselect "Project->Build Automatically" unless you like insanity. - * - Disable the "usage collector" in Window->Preferences->Usage_Data_Collector - * by unselecting "Enable capture". + * - Disable the "usage collector" in + * "Window->Preferences->Usage_Data_Collector" by unselecting "Enable + * capture". * - If you are behind a proxy or firewall (corporate users usually are) - * configure the correct parameters in Window->Preferences->General->Network_Connections. - * - Let Eclipse auto update to the latest version Help->Check_for_Updates. + * configure the correct parameters in + * "Window->Preferences->General->Network_Connections". + * - Let Eclipse auto update to the latest version "Help->Check_for_Updates". * . * * @section install_zylin Zylin Plugin Installation * Eclipse requires an hardware debugger component in order to perform on board * execution and debug. - * - Open Eclipse, then help->Install_New_Software... + * - Open Eclipse, then "Help->Install_New_Software...". * - Press the "Add..." button and put http://opensource.zylin.com/zylincdt * into the location field, then press OK. The Zylin plugin will appear in the * available plugins view, select and install it. diff --git a/docs/src/eclipse2.dox b/docs/src/eclipse2.dox new file mode 100644 index 000000000..18c4d565a --- /dev/null +++ b/docs/src/eclipse2.dox @@ -0,0 +1,203 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_eclipse2 Embedded development using Eclipse + * @brief Compiling and debugging ChibiOS/RT applications using Eclipse. + * @details This article will explain how to use an Eclipse based toolchain + * (see @ref article_eclipse) to develop ChibiOS/RT based applications. + * This guide will allow you to: + * - Importing ChibiOS/RT demos into the Eclipse environment. + * - Edit and reformat your source code. + * - Compile and examine errors and warnings. + * - Upload your program on the target board. + * - Debug your code on the target board both in high level language and + * assembler. + * - Develop embedded applications with or without ChibiOS/RT. + * . + * + *

          What this guide does not cover

          + * This guide assumes knowledge in following areas: + * - OpenOCD setup is not covered by this guide because the setup changes + * depending on the JTAG probe used, the target MCU and also the target + * board. The guide will show the setup for a specific JTAG probe and a + * specific target, a valuable source for the OpenOCD setup is the + * + * dedicated forum, most questions you may have about OpenOCD have + * most likely already been answered there. + * - Hardware setup. + * . + * In general this guide is not a replacement for the Eclipse, GCC, Make, + * binutils, newlib, GDB, OpenOCD user manuals, the guide simply aims to + * give you a faster start. + * + *

          Article Index

          + * - @ref eclipse2_requirements + * - @ref eclipse2_importing + * - @ref eclipse2_creating + * - @ref eclipse2_compiling + * - @ref eclipse2_configuring + * - @ref eclipse2_configuring_gdb + * - @ref eclipse2_configuring_openocd + * . + * - @ref eclipse2_debugging + * - @ref eclipse2_debugging_start + * - @ref eclipse2_debugging_stop + * . + * . + * + * @section eclipse2_requirements Required Components + * This guide requires: + * - An Eclipse/GCC/OpenOCD based toolchain, as example the one described in + * the article @ref article_eclipse. + * - An Olimex ARM-USB-OCD JTAG probe, this guide applies to any other ARM + * JTAG probe as long it is supported by OpenOCD. + * - An Olimex STM32-P103 target board, this guide applies to any other ARM + * target except for the OpenOCD setup part. + * - A terminal emulator for capturing the board serial output, Windows users + * may use Hyper Terminal, Linux and MAC OS-X users may use + * CuteCom. + * All ChibiOS/RT demos generate on the serial port a test report when a + * button on the target board is pressed, other demos may activate a command + * shell on the serial port, in both cases a terminal emulator is required. + * . + * + * @section eclipse2_importing Importing existing ChibiOS/RT demos into Eclipse + * The first step is to import a project into the Eclipse environment. + * ChibiOS/RT demos do not include Eclipse project files but just a normal + * Makefile. Eclipse is able to import a Makefile project and create + * its own project file so this is not a problem. This is how it is done: + * - Open you Eclipse environment and select the workspace created into the + * ChibiOS/RT project directory. + * - From within Eclipse select "File->New->C_Project", a dialog box will show. + * - Select "Makefile_project->Empty_Project" in the "Project type:" box. + * - Select "-- Other Toolchain --" in the "Toolchains:" box. + * - Unselect the "Use default location" check box. + * - Select the demo directory using the "Browse..." button. Something like + * "C:\Projects\ChibiOS-RT\demos\ARMCM3-STM32F103-GCC" will appear in the + * "Location:" box. + * - In the project name box put the same name of the directory containing + * the demo, ARMCM3-STM32F103-GCC in this example. + *

          + * @image html eclipse003.jpg + *
          + * - Press the "Finish" button and the project will be created and shown in + * the "Project Explorer". + * - Right click on the imported project and select "Index->Rebuild", this + * will make Eclipse build its internal symbols database. + * - Repeat the above steps for each ChibiOS/RT demo you want to import in + * Eclipse, all the demos that have a makefile can be imported. + * . + * + * @section eclipse2_creating Creating a new ChibiOS/RT application + * If you want to create a new application it is recommended that you create + * a Makefile project first then you can import it into eclipse using the above + * procedure. Makefile projects have the advantage that can be compiled + * everywhere even without Eclipse. Creation steps: + * - Create your own development directory under the ChibiOS/RT installation + * directory, as example "chibios/myprojects". + * - Copy an existing demo, of course choose a demo using your same target, + * under the new directory and rename it, as example + * "chibios/myprojects/myapplication". + * - Customize the Makefile if needed, usually you just need to do this if + * your application is composed by more than one source file. You may also + * want to remove the ChibiOS/RT test code from your application. + * - Once your makefile is ready, import the project under the Eclipse + * workspace using the procedure described in @ref eclipse2_importing. + * . + * + * @section eclipse2_compiling Compiling and Cleaning applications + * Once imported, an application can be compiled by using the "Build All" in + * the toolbar or by right clicking on the project and selecting "Build + * Project". In order to clean a project (removing all the temporary and binary + * files) right click on the project and select "Clean Project". + *

          + * @image html eclipse004.jpg + *
          + * The compilation result is visible as a complete log in the "Console" window, + * the detail of all errors an warnings is available in the "Problems" window. + *

          + * @image html eclipse005.jpg + *
          + * The build process produces the binary files specified in the Makefile, all + * the ChibiOS/RT demos produce binary files named ch.elf, ch.bin and/or + * ch.hex. The image must be loaded on the target board in order to execute + * it. The build process usually creates also some other useful files + * containing details about the built application (usually named ch.map and + * ch.dmp). + * + * @section eclipse2_configuring Preparing for Debug + * In order to debug your application a debug configuration must be created. + * The configuration instructs GDB (the source debugger used by Eclipse) on + * how to load the image, load the symbols and place the initial breakpoint + * in the make function. Note that GDB performs its function by connecting + * to a "GDB server", the DGB server implements the low level communication + * with the target device through the JTAG probe. In our scenario the GDB + * server functionality is performed by OpenOCD, this mean that OpenOCD must + * be running while performing a debug session within Eclipse. + * + * @subsection eclipse2_configuring_gdb Creating a GDB Debug Configuration + * A target specific debug configuration is required in order to: + * - Establish a connection with the GDB server. + * - Stop and reset the target. + * - Upload the binary code in Flash or RAM. + * - Set an initial breakpoint in the main function. + * - Start the target (which will immediately stop on the breakpoint). + * . + * **To be completed** + * + * @subsection eclipse2_configuring_openocd Configuring and running OpenOCD + * OpenOCD must be run, with appropriate parameters, before starting your + * debug session. Please refer to the OpenOCD documentation in order to + * properly launch it for your target. + *
          **To be completed** + * + * @section eclipse2_debugging Debugging + * Now we are ready to debug an application on the target. Note that Eclipse + * have a mechanism called "Perspectives", you edit and compile your source + * code while you are in the "C/C++ perspective" while the debugging is + * performed in the "Debug perspective". You can switch perspective at any + * time, even while there is an active debug session. If you install more of + * the many Eclipse extension plugins (there are thousands) you may have even + * more perspectives available. + * + * @subsection eclipse2_debugging_start Starting a Debug Session + * In order to start a debugging session first make sure that OpenOCD is + * running then press the drop down menu on the right side of the + * debug icon in the toolbar (the small green bug) and select your + * debug configuration (we created just one but you may have multiple + * debug configurations in your project, as example I usually create + * another debug configuration that just starts the target without + * uploading the code).
          + * The debugger will be initialized, you will see the operation in progress on + * the console then Eclipse will switch to the debug perspective and you will + * see your program stopped on the default breakpoint in the main function. + * From there you can perform all the usual debugging tasks, set breakpoints, + * single step execution, variables, memory and registers inspection etc. + * Please refer to the Eclipse documentation about those "normal" operations. + * Note that if the debugging start procedure hangs then there is probably + * an error in your configuration or problems with the target, read the + * console log and/or the OpenOCD output in order to understand where the + * problem is. + * + * @subsection eclipse2_debugging_stop Stopping a Debug Session + * From the debug perspective press the stop button (small red square) in the + * debug window, the target will be stopped and you may both return to the + * C/C++ perspective or start it again. + */ -- cgit v1.2.3 From f38a21493342f3bd2f7e3371508e4ff280f76fb3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 23 Mar 2010 19:09:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1776 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/eclipse006.jpg | Bin 0 -> 15292 bytes docs/rsc/eclipse007.jpg | Bin 0 -> 61644 bytes docs/rsc/eclipse008.jpg | Bin 0 -> 19051 bytes docs/rsc/eclipse009.jpg | Bin 0 -> 33845 bytes docs/rsc/eclipse010.jpg | Bin 0 -> 29039 bytes docs/rsc/eclipse011.jpg | Bin 0 -> 34286 bytes docs/rsc/eclipse012.jpg | Bin 0 -> 12243 bytes docs/rsc/eclipse013.jpg | Bin 0 -> 60847 bytes docs/src/eclipse2.dox | 50 ++++++++++++++++++++++++++++++++++++++++++++++-- 9 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 docs/rsc/eclipse006.jpg create mode 100644 docs/rsc/eclipse007.jpg create mode 100644 docs/rsc/eclipse008.jpg create mode 100644 docs/rsc/eclipse009.jpg create mode 100644 docs/rsc/eclipse010.jpg create mode 100644 docs/rsc/eclipse011.jpg create mode 100644 docs/rsc/eclipse012.jpg create mode 100644 docs/rsc/eclipse013.jpg (limited to 'docs') diff --git a/docs/rsc/eclipse006.jpg b/docs/rsc/eclipse006.jpg new file mode 100644 index 000000000..fd56acdb5 Binary files /dev/null and b/docs/rsc/eclipse006.jpg differ diff --git a/docs/rsc/eclipse007.jpg b/docs/rsc/eclipse007.jpg new file mode 100644 index 000000000..9332d5777 Binary files /dev/null and b/docs/rsc/eclipse007.jpg differ diff --git a/docs/rsc/eclipse008.jpg b/docs/rsc/eclipse008.jpg new file mode 100644 index 000000000..f602fa81e Binary files /dev/null and b/docs/rsc/eclipse008.jpg differ diff --git a/docs/rsc/eclipse009.jpg b/docs/rsc/eclipse009.jpg new file mode 100644 index 000000000..fb8264b11 Binary files /dev/null and b/docs/rsc/eclipse009.jpg differ diff --git a/docs/rsc/eclipse010.jpg b/docs/rsc/eclipse010.jpg new file mode 100644 index 000000000..d92381ba2 Binary files /dev/null and b/docs/rsc/eclipse010.jpg differ diff --git a/docs/rsc/eclipse011.jpg b/docs/rsc/eclipse011.jpg new file mode 100644 index 000000000..1da305279 Binary files /dev/null and b/docs/rsc/eclipse011.jpg differ diff --git a/docs/rsc/eclipse012.jpg b/docs/rsc/eclipse012.jpg new file mode 100644 index 000000000..e40725fa4 Binary files /dev/null and b/docs/rsc/eclipse012.jpg differ diff --git a/docs/rsc/eclipse013.jpg b/docs/rsc/eclipse013.jpg new file mode 100644 index 000000000..bc8441eef Binary files /dev/null and b/docs/rsc/eclipse013.jpg differ diff --git a/docs/src/eclipse2.dox b/docs/src/eclipse2.dox index 18c4d565a..88a222fc8 100644 --- a/docs/src/eclipse2.dox +++ b/docs/src/eclipse2.dox @@ -160,7 +160,47 @@ * - Set an initial breakpoint in the main function. * - Start the target (which will immediately stop on the breakpoint). * . - * **To be completed** + * The first thing to do is to open the "Debug Configurations..." dialog: + *

          + * @image html eclipse006.jpg + *
          + * The configuration dialog will appear, we must create a native Zylin + * configuration: + *

          + * @image html eclipse007.jpg + *
          + * Now we must give the configuration a name, "ARMCM3-STM32F103-GCC (flash and + * run)" in this example, then setup the various configuration pages as follow: + *

          + * The "Main" tab: + * @image html eclipse008.jpg + *

          + * The "Debugger" tab: + * @image html eclipse009.jpg + *

          + * The "Commands" tab: + * @image html eclipse010.jpg + *
          + * Note that the "Commands" tab contains the part that changes depending on + * the target. The complete commands sequence (it is not fully visible in the + * image) for STM32 is: + * @code + * monitor soft_reset_halt + * monitor wait_halt + * monitor poll + * monitor flash probe 0 + * monitor stm32x mass_erase 0 + * monitor flash write_bank 0 ch.bin 0 + * monitor soft_reset_halt + * symbol-file ch.elf + * thbreak main + * continue + * @endcode + *

          + * The "Common" tab: + * @image html eclipse011.jpg + *
          + * Now the debug configuration is complete. * * @subsection eclipse2_configuring_openocd Configuring and running OpenOCD * OpenOCD must be run, with appropriate parameters, before starting your @@ -184,10 +224,16 @@ * debug configuration (we created just one but you may have multiple * debug configurations in your project, as example I usually create * another debug configuration that just starts the target without - * uploading the code).
          + * uploading the code). + *

          + * @image html eclipse012.jpg + *
          * The debugger will be initialized, you will see the operation in progress on * the console then Eclipse will switch to the debug perspective and you will * see your program stopped on the default breakpoint in the main function. + *

          + * @image html eclipse013.jpg + *
          * From there you can perform all the usual debugging tasks, set breakpoints, * single step execution, variables, memory and registers inspection etc. * Please refer to the Eclipse documentation about those "normal" operations. -- cgit v1.2.3 From dea859c252d1ba02aaead3022b004702679712a6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 25 Mar 2010 15:28:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1777 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1373 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 716 insertions(+), 657 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 56bb5444e..e7d12a581 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.5.8 +# Doxyfile 1.6.3 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project @@ -14,76 +14,76 @@ # Project related configuration options #--------------------------------------------------------------------------- -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = ChibiOS/RT -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 1.5.4 -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = . -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, -# Spanish, Swedish, and Ukrainian. +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = "The $name class" \ @@ -98,202 +98,203 @@ ABBREVIATE_BRIEF = "The $name class" \ an \ the -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = NO -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO -# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 2 -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. -ALIASES = +ALIASES = -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration +# Doxygen selects the parser to use depending on the extension of the files it parses. +# With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this tag. +# The format is ext=language, where ext is a file extension, and language is one of +# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, +# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat +# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C. Note that for custom extensions you also need to set +# FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO -# If you use Microsoft's C++/CLI language, you should set this option to YES to +# If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 @@ -302,213 +303,229 @@ SYMBOL_CACHE_SIZE = 0 # Build related configuration options #--------------------------------------------------------------------------- -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO -# If the EXTRACT_STATIC tag is set to YES all static members of a file +# If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = NO -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = YES -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = YES -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = NO -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES -# The ENABLED_SECTIONS tag can be used to enable conditional +# The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. -ENABLED_SECTIONS = +ENABLED_SECTIONS = -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = NO -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by +# doxygen. The layout file controls the global structure of the generated output files +# in an output format independent way. The create the layout file that represents +# doxygen's defaults, run doxygen with the -l option. You can optionally specify a +# file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. LAYOUT_FILE = ./rsc/layout.xml @@ -517,60 +534,60 @@ LAYOUT_FILE = ./rsc/layout.xml # configuration options related to warning and progress messages #--------------------------------------------------------------------------- -# The QUIET tag can be used to turn on/off the messages that are generated +# The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = YES -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = YES -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written # to stderr. -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../docs/src \ @@ -605,19 +622,19 @@ INPUT = ../docs/src \ ../test \ ../ext/ext.dox -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = *.c \ @@ -649,87 +666,87 @@ FILE_PATTERNS = *.c \ *.py \ *.ddf -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* -EXCLUDE_PATTERNS = +EXCLUDE_PATTERNS = -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test -EXCLUDE_SYMBOLS = +EXCLUDE_SYMBOLS = -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = +EXAMPLE_PATH = -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = * -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = ./rsc -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. -INPUT_FILTER = +INPUT_FILTER = -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. -FILTER_PATTERNS = +FILTER_PATTERNS = -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO @@ -738,53 +755,53 @@ FILTER_SOURCE_FILES = NO # configuration options related to source browsing #--------------------------------------------------------------------------- -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES -# Setting the INLINE_SOURCES tag to YES will include the body +# Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = NO -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = NO -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = NO @@ -793,384 +810,435 @@ VERBATIM_HEADERS = NO # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = ./rsc/header.html -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = ./rsc/footer.html -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = ./rsc/custom.css -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. GENERATE_DOCSET = NO -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = YES -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = ../ChibiOS_RT.chm -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = "\"C:/Program Files/HTML Help Workshop/hhc.exe\"" -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO -# The TOC_EXPAND flag can be set to YES to add extra items for group members +# The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER +# are set, an additional index file will be generated that can be used as input for +# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # HTML documentation. GENERATE_QHP = NO -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. -QCH_FILE = +QCH_FILE = -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. +# For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters -QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_NAME = -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see # Qt Help Project / Custom Filters. -QHP_CUST_FILTER_ATTRS = +QHP_CUST_FILTER_ATTRS = -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's +# filter section matches. # Qt Help Project / Filter Attributes. -QHP_SECT_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. -QHG_LOCATION = +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO -# This tag can be used to set the number of enum values (range [1..20]) +# This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. GENERATE_TREEVIEW = YES -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = NO + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. LATEX_CMD_NAME = latex -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. -EXTRA_PACKAGES = +EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! -LATEX_HEADER = +LATEX_HEADER = -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. -RTF_STYLESHEET_FILE = +RTF_STYLESHEET_FILE = -# Set optional variables used in the generation of an rtf document. +# Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. -RTF_EXTENSIONS_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man -# The MAN_EXTENSION tag determines the extension that is added to +# The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO @@ -1179,33 +1247,33 @@ MAN_LINKS = NO # configuration options related to the XML output #--------------------------------------------------------------------------- -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_SCHEMA = +XML_SCHEMA = -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_DTD = +XML_DTD = -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES @@ -1214,10 +1282,10 @@ XML_PROGRAMLISTING = YES # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO @@ -1226,82 +1294,82 @@ GENERATE_AUTOGEN_DEF = NO # configuration options related to the Perl module output #--------------------------------------------------------------------------- -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. -MACRO_EXPANSION = NO +MACRO_EXPANSION = YES -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. -EXPAND_ONLY_PREDEF = NO +EXPAND_ONLY_PREDEF = YES -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by # the preprocessor. -INCLUDE_PATH = +INCLUDE_PATH = -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. -INCLUDE_FILE_PATTERNS = +INCLUDE_FILE_PATTERNS = -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = __DOXYGEN__ \ @@ -1329,60 +1397,60 @@ PREDEFINED = __DOXYGEN__ \ CH_DBG_THREADS_PROFILING=1 \ CH_USE_ROUNDROBIN=1 -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. -SKIP_FUNCTION_MACROS = YES +SKIP_FUNCTION_MACROS = NO #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. -TAGFILES = +TAGFILES = -# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. -GENERATE_TAGFILE = +GENERATE_TAGFILE = -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES -# The PERL_PATH should be the absolute path and name of the perl script +# The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl @@ -1391,201 +1459,192 @@ PERL_PATH = /usr/bin/perl # Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = NO -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. -MSCGEN_PATH = +MSCGEN_PATH = -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 8 -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. -DOT_FONTPATH = +DOT_FONTPATH = -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES -# If set to YES, the inheritance and collaboration graphs will show the +# If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = NO -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = NO -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = YES -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = NO -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png -# The tag DOT_PATH can be used to specify the path where the dot tool can be +# The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. -DOT_PATH = +DOT_PATH = -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the # \dotfile command). -DOTFILE_DIRS = +DOTFILE_DIRS = -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 20 -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 3 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = YES -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = YES -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Options related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO -- cgit v1.2.3 From a6c627641ed547ca3ee968bceb2c366a2dfe263e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 26 Mar 2010 15:08:50 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1784 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 246 ++++-------------------------------------------- 1 file changed, 20 insertions(+), 226 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 45165a1b6..5204ada9a 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -1,270 +1,64 @@ Platform : PowerPC OS Setup : Full kernel -Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 -Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 10916 - +Compiler : Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE +Make failed Platform : PowerPC OS Setup : Full kernel -Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 -Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10464 - +Compiler : Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE +Make failed Platform : PowerPC OS Setup : Minimal kernel -Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 -Options : -O2 -Kernel Size = 2176 - +Compiler : Options : -O2 +Make failed Platform : PowerPC OS Setup : Full kernel -Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 -Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9572 - +Compiler : Options : -Os -DCH_OPTIMIZE_SPEED=TRUE +Make failed Platform : PowerPC OS Setup : Full kernel -Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 -Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9088 - +Compiler : Options : -Os -DCH_OPTIMIZE_SPEED=FALSE +Make failed Platform : PowerPC OS Setup : Minimal kernel -Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 -Options : -Os -Kernel Size = 2200 - +Compiler : Options : -Os +Make failed Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5360 - +Make failed Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4892 - +Make failed Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 1360 - +Make failed Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5156 - +Make failed Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4740 - +Make failed Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 1308 - +Make failed Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4964 - +Make failed Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4560 - -Platform : ARM Cortex-M3 -OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1272 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7824 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7416 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -Kernel Size = 1868 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7592 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7212 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -Kernel Size = 1824 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7544 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7148 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1796 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7296 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 6936 - -Platform : ARM7TDMI (ARM mode) -OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1772 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5156 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4952 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1312 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4988 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4796 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1292 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5000 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4812 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1268 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4792 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4636 - -Platform : ARM7TDMI (THUMB mode) -OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 -Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1252 - -Platform : MSP430 -OS Setup : Full kernel -Compiler : msp430-gcc (GCC) 3.2.3 -Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5548 - -Platform : MSP430 -OS Setup : Full kernel -Compiler : msp430-gcc (GCC) 3.2.3 -Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5036 - -Platform : MSP430 -OS Setup : Minimal kernel -Compiler : msp430-gcc (GCC) 3.2.3 -Options : -O2 -Kernel Size = 1172 - -Platform : MSP430 -OS Setup : Full kernel -Compiler : msp430-gcc (GCC) 3.2.3 -Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5484 - -Platform : MSP430 -OS Setup : Full kernel -Compiler : msp430-gcc (GCC) 3.2.3 -Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4992 - -Platform : MSP430 -OS Setup : Minimal kernel -Compiler : msp430-gcc (GCC) 3.2.3 -Options : -Os -Kernel Size = 1172 - +Make failed -- cgit v1.2.3 From 57413b1a96485c36d09c284834ab37db52bd62a7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 29 Mar 2010 09:12:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1802 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index e7d12a581..e67416a4c 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -600,9 +600,9 @@ INPUT = ../docs/src \ ../os/ports/GCC/ARM7 \ ../os/ports/GCC/ARM7/crt0.s \ ../os/ports/GCC/ARM7/chcoreasm.s \ - ../os/ports/GCC/ARMCMx \ - ../os/ports/GCC/ARMCMx/crt0.s \ - ../os/ports/GCC/ARMCMx\STM32F103 \ + ../os/ports/GCC/ARMCM3 \ + ../os/ports/GCC/ARMCM3/crt0.s \ + ../os/ports/GCC/ARMCM3\STM32F103 \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ -- cgit v1.2.3 From 1134fe2a87e70cad601394793f0f01cfef066b70 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 30 Mar 2010 17:04:51 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1814 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index ea962014c..4d3d89417 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -7,7 +7,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** *** Kernel: 1.5.4unstable *** GCC Version: 4.4.2 -*** Architecture: ARM +*** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: STM32 *** Test Board: Olimex STM32-P103 -- cgit v1.2.3 From 3846f18c1279ab30944e3dd63cc002379be6a5e1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 30 Mar 2010 17:35:00 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1815 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-ALT.txt | 156 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 docs/reports/STM32F103-72-ALT.txt (limited to 'docs') diff --git a/docs/reports/STM32F103-72-ALT.txt b/docs/reports/STM32F103-72-ALT.txt new file mode 100644 index 000000000..6bb59fccc --- /dev/null +++ b/docs/reports/STM32F103-72-ALT.txt @@ -0,0 +1,156 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 1.5.4unstable +*** GCC Version: 4.4.2 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 +*** Test Board: Olimex STM32-P103 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 252111 msgs/S, 504222 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 200704 msgs/S, 401408 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 200704 msgs/S, 401408 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 822344 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 156203 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 223839 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 62866 reschedules/S, 377196 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 491292 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 471792 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 644466 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 895484 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 694320 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 324 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 77ae91f021782bad36ba0106d65b2e2eb1249a21 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 30 Mar 2010 20:25:08 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1818 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-ALT.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-ALT.txt b/docs/reports/STM32F103-72-ALT.txt index 6bb59fccc..81c9a564d 100644 --- a/docs/reports/STM32F103-72-ALT.txt +++ b/docs/reports/STM32F103-72-ALT.txt @@ -140,7 +140,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 324 bytes +--- System: 340 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From 4bc04c7835daccf943dbe299a7f79f9c33e16032 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 31 Mar 2010 15:13:55 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1820 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index e67416a4c..23695dce5 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -600,8 +600,10 @@ INPUT = ../docs/src \ ../os/ports/GCC/ARM7 \ ../os/ports/GCC/ARM7/crt0.s \ ../os/ports/GCC/ARM7/chcoreasm.s \ + ../os/ports/GCC/ARMCMx \ + ../os/ports/GCC/ARMCMx/crt0.s \ + ../os/ports/GCC/ARMCMx/STM32F10x \ ../os/ports/GCC/ARMCM3 \ - ../os/ports/GCC/ARMCM3/crt0.s \ ../os/ports/GCC/ARMCM3\STM32F103 \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ -- cgit v1.2.3 From 803fbc154737e527386cfd56e706c7b8f9a152e8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 31 Mar 2010 17:10:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1821 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-ALT.txt | 26 +++++++++++++------------- docs/reports/STM32F103-72.txt | 26 +++++++++++++------------- 2 files changed, 26 insertions(+), 26 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-ALT.txt b/docs/reports/STM32F103-72-ALT.txt index 81c9a564d..4d3d89417 100644 --- a/docs/reports/STM32F103-72-ALT.txt +++ b/docs/reports/STM32F103-72-ALT.txt @@ -92,55 +92,55 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 252111 msgs/S, 504222 ctxswc/S +--- Score : 226004 msgs/S, 452008 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 200704 msgs/S, 401408 ctxswc/S +--- Score : 188141 msgs/S, 376282 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 200704 msgs/S, 401408 ctxswc/S +--- Score : 188141 msgs/S, 376282 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 822344 ctxswc/S +--- Score : 707232 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156203 threads/S +--- Score : 147284 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 223839 threads/S +--- Score : 204767 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 62866 reschedules/S, 377196 ctxswc/S +--- Score : 57135 reschedules/S, 342810 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 491292 ctxswc/S +--- Score : 429720 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 471792 bytes/S +--- Score : 475040 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 644466 timers/S +--- Score : 647548 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 895484 wait+signal/S +--- Score : 833440 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 694320 lock+unlock/S +--- Score : 644680 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 340 bytes +--- System: 332 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 4d3d89417..81c9a564d 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -92,55 +92,55 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 226004 msgs/S, 452008 ctxswc/S +--- Score : 252111 msgs/S, 504222 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 188141 msgs/S, 376282 ctxswc/S +--- Score : 200704 msgs/S, 401408 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 188141 msgs/S, 376282 ctxswc/S +--- Score : 200704 msgs/S, 401408 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 707232 ctxswc/S +--- Score : 822344 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 147284 threads/S +--- Score : 156203 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 204767 threads/S +--- Score : 223839 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 57135 reschedules/S, 342810 ctxswc/S +--- Score : 62866 reschedules/S, 377196 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 429720 ctxswc/S +--- Score : 491292 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 475040 bytes/S +--- Score : 471792 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647548 timers/S +--- Score : 644466 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 833440 wait+signal/S +--- Score : 895484 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 644680 lock+unlock/S +--- Score : 694320 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 332 bytes +--- System: 340 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From c047b2198006076a00ebfe9cff9e8537aeb8ca96 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 2 Apr 2010 08:11:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1825 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-ALT.txt | 156 -------------------------------------- docs/reports/STM32F103-72.txt | 26 +++---- 2 files changed, 13 insertions(+), 169 deletions(-) delete mode 100644 docs/reports/STM32F103-72-ALT.txt (limited to 'docs') diff --git a/docs/reports/STM32F103-72-ALT.txt b/docs/reports/STM32F103-72-ALT.txt deleted file mode 100644 index 4d3d89417..000000000 --- a/docs/reports/STM32F103-72-ALT.txt +++ /dev/null @@ -1,156 +0,0 @@ -*************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 -Settings: SYSCLK=72, ACR=0x12 (2 wait states) -*************************************************************************** - -*** ChibiOS/RT test suite -*** -*** Kernel: 1.5.4unstable -*** GCC Version: 4.4.2 -*** Architecture: ARMv7-M -*** Core Variant: Cortex-M3 -*** Platform: STM32 -*** Test Board: Olimex STM32-P103 - ----------------------------------------------------------------------------- ---- Test Case 1.1 (Threads, enqueuing test #1) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.2 (Threads, enqueuing test #2) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.3 (Threads, priority change) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.4 (Threads, delays) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.3 (Semaphores, atomic signal-wait) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.1 (Mutexes, priority enqueuing test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.2 (Mutexes, priority inheritance, simple case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.3 (Mutexes, priority inheritance, complex case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.4 (Mutexes, priority return) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.5 (Mutexes, status) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, signal test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.7 (CondVar, broadcast test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.8 (CondVar, boost test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, loop) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 5.1 (Mailboxes, queuing and timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.1 (Events, registration and dispatch) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.2 (Events, wait and broadcast) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.3 (Events, timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, queue/dequeue) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.1 (Queues, input queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.2 (Queues, output queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, messages #1) ---- Score : 226004 msgs/S, 452008 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, messages #2) ---- Score : 188141 msgs/S, 376282 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, messages #3) ---- Score : 188141 msgs/S, 376282 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, context switch) ---- Score : 707232 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 147284 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 204767 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 57135 reschedules/S, 342810 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 429720 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 475040 bytes/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647548 timers/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 833440 wait+signal/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 644680 lock+unlock/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 332 bytes ---- Thread: 68 bytes ---- Timer : 20 bytes ---- Semaph: 12 bytes ---- EventS: 4 bytes ---- EventL: 12 bytes ---- Mutex : 16 bytes ---- CondV.: 8 bytes ---- Queue : 32 bytes ---- MailB.: 40 bytes ---- Result: SUCCESS ----------------------------------------------------------------------------- - -Final result: SUCCESS diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 81c9a564d..4d3d89417 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -92,55 +92,55 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 252111 msgs/S, 504222 ctxswc/S +--- Score : 226004 msgs/S, 452008 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 200704 msgs/S, 401408 ctxswc/S +--- Score : 188141 msgs/S, 376282 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 200704 msgs/S, 401408 ctxswc/S +--- Score : 188141 msgs/S, 376282 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 822344 ctxswc/S +--- Score : 707232 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156203 threads/S +--- Score : 147284 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 223839 threads/S +--- Score : 204767 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 62866 reschedules/S, 377196 ctxswc/S +--- Score : 57135 reschedules/S, 342810 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 491292 ctxswc/S +--- Score : 429720 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 471792 bytes/S +--- Score : 475040 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 644466 timers/S +--- Score : 647548 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 895484 wait+signal/S +--- Score : 833440 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 694320 lock+unlock/S +--- Score : 644680 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 340 bytes +--- System: 332 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From a4da45798c65c7c010d5ca3b1f262ab9464815a4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Apr 2010 13:38:19 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1839 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48.txt | 156 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 docs/reports/LPC1114-48.txt (limited to 'docs') diff --git a/docs/reports/LPC1114-48.txt b/docs/reports/LPC1114-48.txt new file mode 100644 index 000000000..444b7db1b --- /dev/null +++ b/docs/reports/LPC1114-48.txt @@ -0,0 +1,156 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 1.5.4unstable +*** GCC Version: 4.3.3 +*** Architecture: ARMv6-M +*** Core Variant: Cortex-M0 +*** Platform: LPC111x +*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1114 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 125437 msgs/S, 250874 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 102120 msgs/S, 204240 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 102120 msgs/S, 204240 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 384256 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 78221 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 105736 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 31756 reschedules/S, 190536 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 238060 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 316568 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 355402 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 607004 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 371272 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 340 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From ebe711e1a2257f012e8a558ad554385aae8fc545 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Apr 2010 14:38:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1840 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48.txt b/docs/reports/LPC1114-48.txt index 444b7db1b..04da8c6c4 100644 --- a/docs/reports/LPC1114-48.txt +++ b/docs/reports/LPC1114-48.txt @@ -1,6 +1,6 @@ *************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 -Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu +Settings: CLK=48, (3 wait states) *************************************************************************** *** ChibiOS/RT test suite -- cgit v1.2.3 From a70e278edeeabd7adf2bd01ec4bdd94bbcb41548 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Apr 2010 14:53:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1841 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 23695dce5..603b19910 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -603,8 +603,7 @@ INPUT = ../docs/src \ ../os/ports/GCC/ARMCMx \ ../os/ports/GCC/ARMCMx/crt0.s \ ../os/ports/GCC/ARMCMx/STM32F10x \ - ../os/ports/GCC/ARMCM3 \ - ../os/ports/GCC/ARMCM3\STM32F103 \ + ../os/ports/GCC/ARMCMx/LPC111x \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ @@ -615,6 +614,7 @@ INPUT = ../docs/src \ ../os/hal/templates \ ../os/hal/platforms/AT91SAM7 \ ../os/hal/platforms/AVR \ + ../os/hal/platforms/LPC111x \ ../os/hal/platforms/LPC214x \ ../os/hal/platforms/MSP430 \ ../os/hal/platforms/SPC56x \ @@ -678,7 +678,8 @@ RECURSIVE = NO # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h +EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ + ../os/hal/platforms/LPC111x # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded -- cgit v1.2.3 From d3dd89159710e86296860de415f8314500ecbf97 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Apr 2010 15:22:57 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1842 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 603b19910..b15befac2 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -679,7 +679,8 @@ RECURSIVE = NO # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ - ../os/hal/platforms/LPC111x + ../os/hal/platforms/LPC111x/LPC11xx.h \ + ../os/hal/platforms/LPC111x/system_LPC11xx.h # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded -- cgit v1.2.3 From 13b5f830e4ea24d0beb60f3ddf5ce76f23eb2765 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Apr 2010 16:03:56 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1845 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 282 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 262 insertions(+), 20 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 5204ada9a..ce0bab89f 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -1,64 +1,306 @@ Platform : PowerPC OS Setup : Full kernel -Compiler : Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Make failed +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 10920 + Platform : PowerPC OS Setup : Full kernel -Compiler : Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Make failed +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 10468 + Platform : PowerPC OS Setup : Minimal kernel -Compiler : Options : -O2 -Make failed +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -O2 +Kernel Size = 2176 + Platform : PowerPC OS Setup : Full kernel -Compiler : Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Make failed +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -Os -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 9576 + Platform : PowerPC OS Setup : Full kernel -Compiler : Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Make failed +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -Os -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 9092 + Platform : PowerPC OS Setup : Minimal kernel -Compiler : Options : -Os -Make failed +Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 +Options : -Os +Kernel Size = 2200 + Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Make failed +Kernel Size = 5576 + Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Make failed +Kernel Size = 5108 + Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Make failed +Kernel Size = 1576 + Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Make failed +Kernel Size = 5356 + Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Make failed +Kernel Size = 4944 + Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Make failed +Kernel Size = 1508 + Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Make failed +Kernel Size = 5172 + Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Make failed +Kernel Size = 4768 + +Platform : ARM Cortex-M3 +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Kernel Size = 1480 + +Platform : ARM Cortex-M0 +OS Setup : Full kernel +Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 4996 + +Platform : ARM Cortex-M0 +OS Setup : Full kernel +Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 4788 + +Platform : ARM Cortex-M0 +OS Setup : Minimal kernel +Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Options : -O2 -mthumb +Kernel Size = 1352 + +Platform : ARM Cortex-M0 +OS Setup : Full kernel +Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 4696 + +Platform : ARM Cortex-M0 +OS Setup : Full kernel +Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 4524 + +Platform : ARM Cortex-M0 +OS Setup : Minimal kernel +Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Options : -Os -mthumb +Kernel Size = 1260 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 7824 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 7420 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 +Kernel Size = 1868 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 7592 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 7216 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os +Kernel Size = 1824 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 7548 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 7152 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Kernel Size = 1796 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 7300 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 6940 + +Platform : ARM7TDMI (ARM mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" +Kernel Size = 1772 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 5156 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4952 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 1312 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4988 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4796 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 1292 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 5000 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4812 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 1268 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4792 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Full kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 4636 + +Platform : ARM7TDMI (THUMB mode) +OS Setup : Minimal kernel +Compiler : arm-elf-gcc (GCC) 4.4.2 +Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING +Kernel Size = 1252 + +Platform : MSP430 +OS Setup : Full kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 5556 + +Platform : MSP430 +OS Setup : Full kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 5032 + +Platform : MSP430 +OS Setup : Minimal kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -O2 +Kernel Size = 1176 + +Platform : MSP430 +OS Setup : Full kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -Os -DCH_OPTIMIZE_SPEED=TRUE +Kernel Size = 5492 + +Platform : MSP430 +OS Setup : Full kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -Os -DCH_OPTIMIZE_SPEED=FALSE +Kernel Size = 4988 + +Platform : MSP430 +OS Setup : Minimal kernel +Compiler : msp430-gcc (GCC) 3.2.3 +Options : -Os +Kernel Size = 1176 + -- cgit v1.2.3 From 640d7de524385d8a99938922db6bafaf8a154ed8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Apr 2010 16:23:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1846 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/coverage.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index a3ed384e7..8cd9ad7df 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -1,7 +1,7 @@ mkdir gcov gcov -u ..\..\os\kernel\src\chsys.c ..\..\os\kernel\src\chdebug.c ..\..\os\kernel\src\chlists.c ..\..\os\kernel\src\chvt.c ..\..\os\kernel\src\chschd.c ..\..\os\kernel\src\chthreads.c ..\..\os\kernel\src\chregistry.c ..\..\os\kernel\src\chsem.c ..\..\os\kernel\src\chmtx.c ..\..\os\kernel\src\chcond.c ..\..\os\kernel\src\chevents.c ..\..\os\kernel\src\chmsg.c ..\..\os\kernel\src\chmboxes.c ..\..\os\kernel\src\chqueues.c ..\..\os\kernel\src\chmemcore.c ..\..\os\kernel\src\chheap.c ..\..\os\kernel\src\chmempools.c File `../../os/kernel/src/chsys.c' -Lines executed:100.00% of 26 +Lines executed:100.00% of 27 ../../os/kernel/src/chsys.c:creating `chsys.c.gcov' File `../../os/kernel/src/chdebug.c' @@ -17,7 +17,7 @@ Lines executed:100.00% of 29 ../../os/kernel/src/chvt.c:creating `chvt.c.gcov' File `../../os/kernel/src/chschd.c' -Lines executed:100.00% of 75 +Lines executed:100.00% of 65 ../../os/kernel/src/chschd.c:creating `chschd.c.gcov' File `../../os/kernel/src/chthreads.c' @@ -29,7 +29,7 @@ Lines executed:0.00% of 18 ../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov' File `../../os/kernel/src/chsem.c' -Lines executed:100.00% of 73 +Lines executed:100.00% of 74 ../../os/kernel/src/chsem.c:creating `chsem.c.gcov' File `../../os/kernel/src/chmtx.c' @@ -37,11 +37,11 @@ Lines executed:100.00% of 96 ../../os/kernel/src/chmtx.c:creating `chmtx.c.gcov' File `../../os/kernel/src/chcond.c' -Lines executed:100.00% of 60 +Lines executed:100.00% of 59 ../../os/kernel/src/chcond.c:creating `chcond.c.gcov' File `../../os/kernel/src/chevents.c' -Lines executed:100.00% of 104 +Lines executed:100.00% of 105 ../../os/kernel/src/chevents.c:creating `chevents.c.gcov' File `../../os/kernel/src/chmsg.c' -- cgit v1.2.3 From 5b7aac6fd10e17865754c5a207f9b1dc076c04a3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 4 Apr 2010 16:13:59 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1848 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index b15befac2..2ebead40f 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.4 +PROJECT_NUMBER = 1.5.5 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From a1151ccd4c9c1504a173da04212c21d5c000aca0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 4 Apr 2010 16:34:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1849 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 2ebead40f..b7cdeeebc 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -604,6 +604,7 @@ INPUT = ../docs/src \ ../os/ports/GCC/ARMCMx/crt0.s \ ../os/ports/GCC/ARMCMx/STM32F10x \ ../os/ports/GCC/ARMCMx/LPC111x \ + ../os/ports/GCC/ARMCMx/LPC13xx \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ @@ -615,6 +616,7 @@ INPUT = ../docs/src \ ../os/hal/platforms/AT91SAM7 \ ../os/hal/platforms/AVR \ ../os/hal/platforms/LPC111x \ + ../os/hal/platforms/LPC13xx \ ../os/hal/platforms/LPC214x \ ../os/hal/platforms/MSP430 \ ../os/hal/platforms/SPC56x \ @@ -681,6 +683,8 @@ RECURSIVE = NO EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ ../os/hal/platforms/LPC111x/LPC11xx.h \ ../os/hal/platforms/LPC111x/system_LPC11xx.h + ../os/hal/platforms/LPC13xx/LPC13xx.h \ + ../os/hal/platforms/LPC13xx/system_LPC13xx.h # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded -- cgit v1.2.3 From 3076655c398c84a8a8ab79e9364693233df7e006 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 5 Apr 2010 08:12:31 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1856 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index b7cdeeebc..3f6eabf4d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -603,7 +603,7 @@ INPUT = ../docs/src \ ../os/ports/GCC/ARMCMx \ ../os/ports/GCC/ARMCMx/crt0.s \ ../os/ports/GCC/ARMCMx/STM32F10x \ - ../os/ports/GCC/ARMCMx/LPC111x \ + ../os/ports/GCC/ARMCMx/LPC11xx \ ../os/ports/GCC/ARMCMx/LPC13xx \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ @@ -615,7 +615,7 @@ INPUT = ../docs/src \ ../os/hal/templates \ ../os/hal/platforms/AT91SAM7 \ ../os/hal/platforms/AVR \ - ../os/hal/platforms/LPC111x \ + ../os/hal/platforms/LPC11xx \ ../os/hal/platforms/LPC13xx \ ../os/hal/platforms/LPC214x \ ../os/hal/platforms/MSP430 \ @@ -681,8 +681,8 @@ RECURSIVE = NO # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ - ../os/hal/platforms/LPC111x/LPC11xx.h \ - ../os/hal/platforms/LPC111x/system_LPC11xx.h + ../os/hal/platforms/LPC11xx/LPC11xx.h \ + ../os/hal/platforms/LPC11xx/system_LPC11xx.h \ ../os/hal/platforms/LPC13xx/LPC13xx.h \ ../os/hal/platforms/LPC13xx/system_LPC13xx.h -- cgit v1.2.3 From 74b8a1756b6f05878569c9934b436fde36c0f86e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 7 Apr 2010 12:34:26 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1858 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/eclipse.dox | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/src/eclipse.dox b/docs/src/eclipse.dox index 5b58bf5fe..f3d9b557a 100644 --- a/docs/src/eclipse.dox +++ b/docs/src/eclipse.dox @@ -97,8 +97,9 @@ * Simply follow the YAGARTO installation guide. Linux/MACOS users have several * other options: * - Download the latest CodeSourcery free Linux package. - * - Build it yourself, Liam recommended a build script here: - * http://github.com/esden/summon-arm-toolchain, it looks interesting. + * - Build it yourself, Liam recommended a build script + * + * here, it looks interesting. * . * Make sure that the compiler binaries directory is listed in the PATH * variable or Eclipse would not be able to locate it. -- cgit v1.2.3 From 7a4b5c472fd67b3c4e58ebe621b7f33412e308bc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 8 Apr 2010 17:38:20 +0000 Subject: Added LPC1343 report. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1860 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1343-72.txt | 156 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 docs/reports/LPC1343-72.txt (limited to 'docs') diff --git a/docs/reports/LPC1343-72.txt b/docs/reports/LPC1343-72.txt new file mode 100644 index 000000000..2d5c82b69 --- /dev/null +++ b/docs/reports/LPC1343-72.txt @@ -0,0 +1,156 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu +Settings: CLK=72, (3 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 1.5.5unstable +*** GCC Version: 4.4.2 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: LPC13xx +*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1343 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 231099 msgs/S, 462198 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 194773 msgs/S, 389546 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 194773 msgs/S, 389546 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 717824 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 148809 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 204768 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 61485 reschedules/S, 368910 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 471320 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 542260 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 659472 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 921624 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 704768 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 332 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From a147f92f9d64e358a2b9c8f1e431d4ac1a166537 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 17 Apr 2010 15:52:38 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1870 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1343-72.txt | 26 +++++++++++++------------- docs/reports/STM32F103-72.txt | 28 ++++++++++++++-------------- 2 files changed, 27 insertions(+), 27 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1343-72.txt b/docs/reports/LPC1343-72.txt index 2d5c82b69..712a19801 100644 --- a/docs/reports/LPC1343-72.txt +++ b/docs/reports/LPC1343-72.txt @@ -92,55 +92,55 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 231099 msgs/S, 462198 ctxswc/S +--- Score : 251227 msgs/S, 502454 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 194773 msgs/S, 389546 ctxswc/S +--- Score : 199584 msgs/S, 399168 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 194773 msgs/S, 389546 ctxswc/S +--- Score : 199584 msgs/S, 399168 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 717824 ctxswc/S +--- Score : 830640 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 148809 threads/S +--- Score : 156879 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 204768 threads/S +--- Score : 223834 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 61485 reschedules/S, 368910 ctxswc/S +--- Score : 64618 reschedules/S, 387708 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 471320 ctxswc/S +--- Score : 483840 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 542260 bytes/S +--- Score : 519528 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 659472 timers/S +--- Score : 701048 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 921624 wait+signal/S +--- Score : 939348 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 704768 lock+unlock/S +--- Score : 674744 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 332 bytes +--- System: 324 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 4d3d89417..558b5cde5 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.4unstable +*** Kernel: 1.5.5unstable *** GCC Version: 4.4.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -92,55 +92,55 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 226004 msgs/S, 452008 ctxswc/S +--- Score : 249456 msgs/S, 498912 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 188141 msgs/S, 376282 ctxswc/S +--- Score : 197915 msgs/S, 395830 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 188141 msgs/S, 376282 ctxswc/S +--- Score : 197915 msgs/S, 395830 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 707232 ctxswc/S +--- Score : 829384 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 147284 threads/S +--- Score : 152537 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 204767 threads/S +--- Score : 221748 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 57135 reschedules/S, 342810 ctxswc/S +--- Score : 61567 reschedules/S, 369402 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 429720 ctxswc/S +--- Score : 487900 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 475040 bytes/S +--- Score : 474864 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647548 timers/S +--- Score : 647306 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 833440 wait+signal/S +--- Score : 833124 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 644680 lock+unlock/S +--- Score : 644432 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 332 bytes +--- System: 324 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From 146bfffd26cf5b7cc5e710e3112d09d0687d4e63 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 17 Apr 2010 16:32:50 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1871 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48.txt | 6 +++--- docs/reports/LPC1343-72.txt | 26 +++++++++++++------------- docs/reports/kernel.txt | 16 ++++++++-------- 3 files changed, 24 insertions(+), 24 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48.txt b/docs/reports/LPC1114-48.txt index 04da8c6c4..33c853f5d 100644 --- a/docs/reports/LPC1114-48.txt +++ b/docs/reports/LPC1114-48.txt @@ -5,11 +5,11 @@ Settings: CLK=48, (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.4unstable +*** Kernel: 1.5.5unstable *** GCC Version: 4.3.3 *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 -*** Platform: LPC111x +*** Platform: LPC11xx *** Test Board: Embedded Artists LPCXpresso Base Board + LPC1114 ---------------------------------------------------------------------------- @@ -112,7 +112,7 @@ Settings: CLK=48, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 105736 threads/S +--- Score : 105737 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) diff --git a/docs/reports/LPC1343-72.txt b/docs/reports/LPC1343-72.txt index 712a19801..be0807c5c 100644 --- a/docs/reports/LPC1343-72.txt +++ b/docs/reports/LPC1343-72.txt @@ -6,7 +6,7 @@ Settings: CLK=72, (3 wait states) *** ChibiOS/RT test suite *** *** Kernel: 1.5.5unstable -*** GCC Version: 4.4.2 +*** GCC Version: 4.3.3 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: LPC13xx @@ -92,51 +92,51 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 251227 msgs/S, 502454 ctxswc/S +--- Score : 246902 msgs/S, 493804 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 199584 msgs/S, 399168 ctxswc/S +--- Score : 199024 msgs/S, 398048 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 199584 msgs/S, 399168 ctxswc/S +--- Score : 199024 msgs/S, 398048 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 830640 ctxswc/S +--- Score : 797224 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156879 threads/S +--- Score : 154518 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 223834 threads/S +--- Score : 212574 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 64618 reschedules/S, 387708 ctxswc/S +--- Score : 65262 reschedules/S, 391572 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 483840 ctxswc/S +--- Score : 476648 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 519528 bytes/S +--- Score : 521644 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 701048 timers/S +--- Score : 674724 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 939348 wait+signal/S +--- Score : 977676 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 674744 lock+unlock/S +--- Score : 662296 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index ce0bab89f..b50474724 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -38,7 +38,7 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5576 +Kernel Size = 5540 Platform : ARM Cortex-M3 OS Setup : Full kernel @@ -50,43 +50,43 @@ Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -O2 -mthumb -Kernel Size = 1576 +Kernel Size = 1532 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5356 +Kernel Size = 5320 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4944 +Kernel Size = 4936 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -Kernel Size = 1508 +Kernel Size = 1460 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5172 +Kernel Size = 5128 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4768 +Kernel Size = 4760 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-elf-gcc (GCC) 4.4.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1480 +Kernel Size = 1420 Platform : ARM Cortex-M0 OS Setup : Full kernel -- cgit v1.2.3 From 09126fe34f64af501fd163d4d385a71479d71096 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 18 Apr 2010 11:48:03 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1874 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/src/eclipse.dox | 2 +- docs/src/goals.dox | 6 +++--- docs/src/interrupts.dox | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 3f6eabf4d..c06d09ad5 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.5 +PROJECT_NUMBER = 1.5.6 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/docs/src/eclipse.dox b/docs/src/eclipse.dox index f3d9b557a..4e2dfe0fc 100644 --- a/docs/src/eclipse.dox +++ b/docs/src/eclipse.dox @@ -33,7 +33,7 @@ * - Adding paths to the PATH variable. * - Creating environment variables. * - Any other normal PC usage task. - * - Use of the toolchain, the use is covered by the "@ref article_eclipse2" + * - Use of the toolchain, the use is covered by the @ref article_eclipse2 * article. * . * diff --git a/docs/src/goals.dox b/docs/src/goals.dox index eb1b2bd81..6dc8f0034 100644 --- a/docs/src/goals.dox +++ b/docs/src/goals.dox @@ -32,7 +32,7 @@ * - When, after a while, I needed a RTOS again, none of the existing FOSS * projects met my expectations or my ideas of how a RTOS should be, not * even close (see below). I decided that work on that old project was - * a better idea that contribute to, or fork, something else. + * a better idea than contribute to, or fork, something else. * - I wanted another toy. * . *

          Why is it different?

          @@ -75,9 +75,9 @@ * -# It would be pointless, it is already @a really small. * -# I would not trade efficiency or features in order to save few bytes. * . - * About the "fast" part, the kernel is able to start/exit more than + * About the "fast" part, the kernel is able to start/exit over * 220,000 threads per second on a 72MHz STM32. - * The Context Switch takes 1.41 microseconds on the same STM32. + * The Context Switch takes 1.2 microseconds on the same STM32. * *

          Tests and metrics

          * I think it is nice to know how an OS is tested and how it performs before diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index cbebe5d5b..64f336f08 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -31,7 +31,7 @@ CH_IRQ_HANDLER(myIRQ) { chSysLockFromIsr(); // Invocation of some I-Class system APIs, never preemptable. - chSysUnlockFromIsr(). + chSysUnlockFromIsr(); // More IRQ handling code, again preemptable. -- cgit v1.2.3 From 75792b3d6af243e043e66b1b2f7199229d430ef8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 21 Apr 2010 14:11:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1882 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 1 + docs/src/debug.dox | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 docs/src/debug.dox (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index f6f02e811..5aff3203e 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -22,6 +22,7 @@ * ChibiOS/RT Articles and Code Examples: * - @subpage article_eclipse * - @subpage article_eclipse2 + * - @subpage article_debug * - @subpage article_create_thread * - @subpage article_interrupts * - @subpage article_wakeup diff --git a/docs/src/debug.dox b/docs/src/debug.dox new file mode 100644 index 000000000..46a67dfb2 --- /dev/null +++ b/docs/src/debug.dox @@ -0,0 +1,138 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_debug Debugging ChibiOS/RT applications + * ChibiOS/RT offers several mechanisms that can help in the debug phase of + * the development cycle. + * + *

          What this guide does not cover

          + * This guide assumes knowledge in following areas: + * - General knowledge of embedded development. + * - RTOS concepts. + * - Setup of your specific target hardware and toolchain. + * - Knowledge of your toolchain. The guide will explain what you need to do, + * not how it is done using you specific debugger, compiler, JTAG probe and + * target hardware. + * . + *

          Helpful debugging configuration settings

          + * There are several settings in your kernel configuration file + * (see @ref templates/chconf.h) that you may want to enable during + * debugging and in general during the whole development process. + * - @p CH_OPTIMIZE_SPEED=FALSE, this disables inlining into the kernel code + * and makes it easier to debug using your debugger, you may also want + * to reduce or disable compiler optimizations (-O0 using GCC). + * - @p CH_DBG_ENABLE_CHECKS=TRUE, this setting enables the checks on the + * API parameters, useful to understand if you are passing wrong parameters + * to the OS functions. + * - @p CH_DBG_ENABLE_ASSERTS=TRUE, this setting enables the OS internal + * consistency checks, this can trap several kind of errors in the user + * code (or in the kernel itself). + * - @p CH_DBG_ENABLE_STACK_CHECK=TRUE, this setting enables checks on + * threads stack overflow. Note that this option is not available in + * all ports, check your port documentation. If not supported then it + * is silently ignored, see also the article @ref article_stacks. + * - @p CH_DBG_FILL_THREADS=TRUE, this setting enables the threads workspace + * filling, this can help examining the stack usage from your debugger. + * . + * Note that all the failed checks lock the kernel into the @p port_halt() + * function. In order to assess what triggered the lock the global variable + * @p panic_msg must be inspected using the debugger, the variable is a + * pointer to an error message (a zero terminated string), the pointer may + * contain @p NULL if the lock was triggered by a stack overflow. + * + *

          Common errors and symptoms

          + * There are some common errors while using an RTOS, use the following + * table as a check list, if your problem is not a generic programming error + * then probably it is one of the following common RTOS/embedded related + * mistakes: + * - Insufficient stack allocated to one or more threads.
          + * Common symptoms: + * - Target instability. + * - Target locked into the @p port_halt() function. + * - Target trapped into an exception handler (architecture dependent). + * - Target apparent self reset (not real resets usually). + * . + * - Insufficient stack allocated to the IRQ stack (in those architectures + * that have a separate IRQ stack, ARM as example).
          + * Common symptoms: + * - Target instability. + * - Target trapped into an exception handler (architecture dependent). + * - Target apparent self reset (not real resets usually). + * . + * - Use of a non reentrant function from within an interrupt handler, as + * example most C runtime functions.
          + * Common symptoms: + * - Target instability. + * - Unexpected application behavior. + * . + * - Missing use of a mutual exclusion mechanism to protect data + * (or non reentrant code) shared among multiple threads and/or + * threads and interrupt handlers, see also the article + * @ref article_mutual_exclusion.
          + * Common symptoms: + * - Target instability. + * - Unexpected application behavior. + * . + * - Use of S-class or I-class APIs outside a proper lock state, see the + * @ref concepts article, specifically the @ref api_suffixes and + * @ref system_states sections.
          + * Common symptoms: + * - Target instability. + * - Target trapped into an exception handler (architecture dependent). + * - Target apparent self reset (not real resets usually). + * . + * - Use of a non I-class API from an interrupt handler, see the + * @ref concepts article, specifically the @ref api_suffixes and + * @ref system_states sections.
          + * Common symptoms: + * - Target instability. + * - Target trapped into an exception handler (architecture dependent). + * - Target apparent self reset (not real resets usually). + * . + * - Wrong threads priority assignment. One of the most critical things + * to do when designing an RTOS based application is to assign correct + * priorities to the threads in the system.
          + * Common symptoms: + * - Excessive or unpredictable response times. + * - Threads that appear to be never executed (CPU intensive threads at + * higher priority). + * . + * . + *

          General suggestions

          + * For the less expert users, there are several things you may do in order + * to minimize the need for debugging: + * - Read carefully the documentation first. + * - Try to find a code examples for things are you going to do, good sources + * are: the documentation, the test code, under "./test" you will + * find examples for almost any API in the ChibiOS/RT kernel and most + * common RTOS related tasks, under "./testhal" there are examples + * regarding the various device drivers, the various demos contain + * good code samples too). + * - Start your application from an existing demos, add things one piece at + * time and test often, if you add too many things at once a small problem + * can become a debugging nightmare. Follow the cycle: think, implement, + * test, repeat. + * - If you are stuck for too much time then consider asking for advice. + * - Report bugs and problems, bugs can be fixed, problems can become new + * articles in the documentation (this and other documentation articles + * spawned from questions in the forum or in the tracker). + * - Never give up :-) + * . + */ -- cgit v1.2.3 From 314ba53ca7082138720a173f76467a9450f1c371 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 26 Apr 2010 12:34:10 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1892 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/interrupts.dox | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox index 64f336f08..bceea96c4 100644 --- a/docs/src/interrupts.dox +++ b/docs/src/interrupts.dox @@ -21,8 +21,11 @@ * @page article_interrupts How to write interrupt handlers * Since version 1.1.0 ChibiOS/RT offers a cross-platform method for writing * interrupt handlers. Port-related and compiler-related details are - * encapsulated within standard system macros.
          - * An interrupt handler assumes the following general form: + * encapsulated within standard system macros. + * + *

          Writing Regular Interrupt handlers

          + * A Regular Interrupts handler (see @ref interrupt_classes) must be written + * using the following general form: * @code CH_IRQ_HANDLER(myIRQ) { CH_IRQ_PROLOGUE(); @@ -38,15 +41,29 @@ CH_IRQ_HANDLER(myIRQ) { CH_IRQ_EPILOGUE(); } * @endcode - * Note that only interrupt handlers that have to invoke system @ref I-Class - * APIs must be written in this form, handlers unrelated to the OS activity can - * omit the macros. - * Another note about the handler name "myIRQ", in some ports it must be a + * + *

          Writing Fast Interrupt handlers

          + * In those architectures (@ref ARM7 and @ref ARMCMx) supporting Fast + * Interrupts (see @ref interrupt_classes) handlers must be written + * using the following general form: + * @code +CH_FAST_IRQ_HANDLER(myIRQ) { + + // Fast IRQ handling code, preemptable if the architecture supports it. + // The invocation of any API is forbidden here because fast interrupt + // handlers can preempt the kernel even within its critical zones in + // order to minimize latency. +} + * @endcode + * + *

          Handlers naming

          + * A note about the handler name "myIRQ", in some ports it must be a * vector number rather than a function name, it could also be a name from * within a predefined set, see the notes about the various ports. + * *

          Important Notes

          * - There is an important application note about ARM7 interrupt handlers, * please read about it in the ARM7 port section: @ref ARM7_IH * . */ - + \ No newline at end of file -- cgit v1.2.3 From 0da7d5d0ec626ff70dc6dd4c28b6e3e06496ce48 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 6 May 2010 15:08:13 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1905 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 4 +- docs/src/integrationguide.dox | 95 +++++++++++++++++++++++++++++++++++++++++++ docs/src/portguide.dox | 17 ++++---- docs/src/stop_os.dox | 63 ++++++++++++++++++++++++++++ 4 files changed, 171 insertions(+), 8 deletions(-) create mode 100644 docs/src/integrationguide.dox create mode 100644 docs/src/stop_os.dox (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 5aff3203e..69066c0cc 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -22,11 +22,14 @@ * ChibiOS/RT Articles and Code Examples: * - @subpage article_eclipse * - @subpage article_eclipse2 + * - @subpage article_integrationguide + * - @subpage article_portguide * - @subpage article_debug * - @subpage article_create_thread * - @subpage article_interrupts * - @subpage article_wakeup * - @subpage article_manage_memory + * - @subpage article_stop_os * - @subpage article_stacks * - @subpage article_roundrobin * - @subpage article_lifecycle @@ -35,7 +38,6 @@ * - @subpage article_saveram * - @subpage article_jitter * - @subpage article_timing - * - @subpage article_portguide * - @subpage article_design * . */ diff --git a/docs/src/integrationguide.dox b/docs/src/integrationguide.dox new file mode 100644 index 000000000..6eec61e75 --- /dev/null +++ b/docs/src/integrationguide.dox @@ -0,0 +1,95 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_integrationguide Integration Guide + * All the delivered ChibiOS/RT demos are stand alone applications so if + * you just start your application from an existing demo there isn't any + * integration effort, you are simply using the existing makefiles, the + * default startup files etc, minimal effort.
          + * The matter is very different if you are going to integrate the OS into + * a different runtime framework or want to use a different build system, + * in that case you have the problem to integrate the OS source code into + * your application. + * + *

          What this guide does not cover

          + * This guide has a limited scope, the following topics are handled elsewhere: + * - Porting the OS to different architectures or different compilers is + * not covered in this guide, see @ref article_portguide instead. + * - This guide does not describe any specific environment or development + * tool, it is assumed you already know in detail the environment you + * want to work with. + * . + * + *

          Article Index

          + * - @ref integrationguide_kernel + * - @ref integrationguide_hal + * . + * @section integrationguide_kernel Integrating the Kernel + * This section covers the scenario where you want to use the ChibiOS/RT + * kernel into an existing application. In order to accomplish this you need + * to import in your project two components: + * - The portable kernel. + * - The port layer for your microcontroller. + * . + * See the @ref architecture for more details. + * You need to add the following files to your build process: + * - All the source files contained under ./os/kernel/src, note that + * you should add all of them even if you don't plan to use some of the + * subsystems. Unused subsystems can be excluded from the kernel + * configuration file @p chconf.h. + * - All the source files contained under + * ./os/@/@. Note that those + * could be both C source files and assembler source files and that some + * architectures have an extra directories layer containing files required + * for a specific platform. + * . + * You also need to add to the compiler options the following paths for + * searching header files: + * - The portable kernel headers ./os/kernel/include. + * - The port layer headers + * ./os/@/@. + * . + * @section integrationguide_hal Integrating the HAL + * If, in addition to the kernel as described in the previous section, you also + * need to integrate the HAL into your application you also need to import + * the following components: + * - HAL portable files. + * - Platform specific files. + * . + * See the @ref architecture for more details. + * You need to add the following files to your build process: + * - All the source files contained under ./os/hal/src, note that + * you should add all of them even if you don't plan to use some of the + * subsystems. Unused drivers can be excluded from the HAL configuration + * file @p halconf.h. + * - All the source files contained under + * ./os/hal/platforms/@. + * - All the source files contained under + * ./boards/@. + * . + * You also need to add to the compiler options the following paths for + * searching header files: + * - The portable HAL headers ./os/hal/src. + * - The platform layer headers + * ./os/hal/platforms/@. + * - The board description headers + * ./boards/@. + * . + */ diff --git a/docs/src/portguide.dox b/docs/src/portguide.dox index d7de77485..3af53c4cf 100644 --- a/docs/src/portguide.dox +++ b/docs/src/portguide.dox @@ -40,17 +40,20 @@ * applies when porting the OS on a custom hardware using a supported * microcontroller. This task can be easily performed with the following * steps: - * -# Create a new directory under the ChibiOS/RT installation directory: - * ./projects/@ - * -# Copy the microcontroller demo code under the newly created directory. - * -# Customize the demo. Usually there are only four files that need to - * be modified: + * -# Create a new directory under ./boards and copy inside the board files + * from another board using the same microcontroller. + * -# Customize the board files: * - @p board.h This file contains the I/O pins setup for the uC, it - * may also contain other board-dependent settings, as example, clock and - * PLL settings. Customize this file depending on your target hardware. + * may also contain other board-dependent settings, as example, the clock + * frequency. Customize this file depending on your target hardware. * - @p board.c This file contains the initialization code, it is possible * you just need to customize @p board.h and not this file. If you have * some hardware specific initialization code then put it here. + * . + * -# Create a new directory under the ChibiOS/RT installation directory: + * ./projects/@ + * -# Copy an existing demo code under the newly created directory. + * -# Customize the demo: * - @p Makefile You may edit this file in order to remove the test related * sources and/or add you application source files. * - @p main.c It contains the demo simple code, clean it and write your diff --git a/docs/src/stop_os.dox b/docs/src/stop_os.dox new file mode 100644 index 000000000..4fb489a57 --- /dev/null +++ b/docs/src/stop_os.dox @@ -0,0 +1,63 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_stop_os How to cleanly stop the OS + * Stopping the OS should not be normally required but there are scenarios + * where one might want the complete control over the system again. + * As example entering into a bootload mode, or invoking some flashing + * algorithm locked in ROM.
          + * ChibiOS/RT does not have a shutdown API and there is a reason for this, + * stopping the kernel would not be enough, a well defined operations sequence + * is required.
          + * The shutdown operation should always be implemented into the @p main() + * function because in that context the stack pointer is guaranteed to be + * in the area allocated by the startup code. Stopping from a thread would + * leave the stack pointer "somewhere".
          + * The shutdown sequence should include the following steps, some steps + * are optional and depend on the application: + * - Safely stop critical threads. As example a thread that uses a File System + * should flush all the modified buffers to the persistent storage before + * terminating.
          + * The system should be designed to request the thread termination using + * @p chThdTerminate() and then wait its termination using @p chThdWait(). + * This phase can be skipped for non-critical threads. + * - Invoke the xxxStop() method on all the active device drivers, this + * disables the interrupt sources used by the various peripherals. This + * is required in order to not have interrupts after the shutdown that + * may invoke OS primitives. + * - Invoke chSysDisable(). + * - Stop the system timer whose service routine invokes + * @p chSysTimerHandlerI(). + * - Disable any other interrupt source that may invoke OS APIs. In general + * all the interrupt sources that have handlers declared by using the + * @p CH_IRQ_HANDLER() macro. + * - Perform any application related de-initialization. + * - Invoke chSysEnable(). + * . + * Now the OS is stopped and you can safely assume there are nothing going on + * under the hood. From here you can also restart the OS after finishing your + * critical operations using the following sequence: + * - Invoke chSysDisable(). + * - Restart the system timer. + * - Reinitialize the OS by invoking @p chSysInit(). + * - Restart your device drivers using the @p xxxStart() methods. + * - Restart all your threads. + * . + */ -- cgit v1.2.3 From c86fdb275a9a7b43eae4a7c80cf915dcb2cd129c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 7 May 2010 15:23:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1907 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 34 ++++++++++++++++++++----- docs/src/stop_os.dox | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 69066c0cc..3846b01f0 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -20,24 +20,46 @@ /** * @page articles Articles and Code Samples * ChibiOS/RT Articles and Code Examples: + * - @subpage page_general + * - @subpage page_kb + * - @subpage page_howtos + * . + */ + +/** + * @page page_general General. + * Articles and guides not necessarily related to ChibiOS/RT. * - @subpage article_eclipse * - @subpage article_eclipse2 + * - @subpage article_jitter + * . + */ + +/** + * @page page_kb Knowledge Base. + * Articles and guides about ChibiOS/RT. * - @subpage article_integrationguide * - @subpage article_portguide * - @subpage article_debug - * - @subpage article_create_thread - * - @subpage article_interrupts - * - @subpage article_wakeup - * - @subpage article_manage_memory - * - @subpage article_stop_os * - @subpage article_stacks * - @subpage article_roundrobin * - @subpage article_lifecycle * - @subpage article_mutual_exclusion * - @subpage article_atomic * - @subpage article_saveram - * - @subpage article_jitter * - @subpage article_timing * - @subpage article_design * . */ + +/** + * @page page_howtos How To's. + * Articles describing how to implement specific tasks using ChibiOS/RT. + * - @subpage article_create_thread + * - @subpage article_interrupts + * - @subpage article_wakeup + * - @subpage article_manage_memory + * - @subpage article_stop_os + * . + */ + diff --git a/docs/src/stop_os.dox b/docs/src/stop_os.dox index 4fb489a57..d2434dea9 100644 --- a/docs/src/stop_os.dox +++ b/docs/src/stop_os.dox @@ -60,4 +60,74 @@ * - Restart your device drivers using the @p xxxStart() methods. * - Restart all your threads. * . + *

          Example

          + * This is an example of an hypothetical application that have to shutdown + * the OS when a certain event is generated. + * @code +#include "ch.h" +#include "hal.h" + +/* A shutdown flag.*/ +bool_t shutdown_required; + +/* Critical thread.*/ +static void my_thread(void *p) { + + while (!chThdShouldTerminate()) { + /* Normal thread activity code.*/ + } + /* Thread de-initialization before terminating, here you put the critical + thread finalization code.*/ + return 0; +} + +/* Main program, it is entered with interrupts disabled.*/ +void main(void) { + + /* HAL initialization, you need to do this just once.*/ + halInit(); + + /* Main loop, the main() function never exits.*/ + while (TRUE) { + Thread *tp; + + shutdown_required = FALSE; + + /* ChibiOS/RT initialization. This function becomes an OS thread.*/ + chSysInit(); + + /* Starting a device driver, SD2 in this case.*/ + sdStart(&SD2, NULL); + + /* Starting our critical thread.*/ + tp = chThdCreateFromHeap(NULL, THD_WA_SIZE(256), + NORMALPRIO, my_thread, &SD2); + + /* Main thread activity into a loop.*/ + while (!shutdown_required) { + /* Main activity, OS active until a shutdown becomes necessary.*/ + } + + /* Starting the shutdown sequence.*/ + chThdTerminate(tp); /* Requesting termination. */ + chThdWait(tp); /* Waiting for the actual termination. */ + sdStop(&SD2); /* Stopping serial port 2. */ + chSysDisable(); + stop_system_timer(); + stop_any_other_interrupt(); + chSysEnable(); + + /* Now the main function is again a normal function, no more a + OS thread.*/ + do_funny_stuff(); + + /* Restarting the OS but you could also stop the system or trigger a + reset instead.*/ + chSysDisable(); + } +} + * @endcode + * As you can see it is possible to jump in and out of the "OS mode" quite + * easily. Note that this is just an example, the real code could be very + * different depending on your requirements. */ -- cgit v1.2.3 From dd0dcbb957c69dd08ab2d4b4eb1b7543e4c6aad8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 7 May 2010 17:11:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1908 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 3846b01f0..9d3aee8d0 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -27,7 +27,7 @@ */ /** - * @page page_general General. + * @page page_general General * Articles and guides not necessarily related to ChibiOS/RT. * - @subpage article_eclipse * - @subpage article_eclipse2 @@ -36,7 +36,7 @@ */ /** - * @page page_kb Knowledge Base. + * @page page_kb Knowledge Base * Articles and guides about ChibiOS/RT. * - @subpage article_integrationguide * - @subpage article_portguide @@ -53,7 +53,7 @@ */ /** - * @page page_howtos How To's. + * @page page_howtos How To's * Articles describing how to implement specific tasks using ChibiOS/RT. * - @subpage article_create_thread * - @subpage article_interrupts -- cgit v1.2.3 From 691538eb399e9a0ca1e8ed86699c58e3022d6fd5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 8 May 2010 10:30:38 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1909 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 31 +++++---- docs/reports/coverage.txt | 8 +-- docs/reports/kernel.txt | 156 +++++++++++++++++++++--------------------- 3 files changed, 99 insertions(+), 96 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 558b5cde5..159f71229 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,8 +5,8 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.5unstable -*** GCC Version: 4.4.2 +*** Kernel: 1.5.6unstable +*** GCC Version: 4.5.0 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: STM32 @@ -85,6 +85,9 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -92,51 +95,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 249456 msgs/S, 498912 ctxswc/S +--- Score : 250283 msgs/S, 500566 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 197915 msgs/S, 395830 ctxswc/S +--- Score : 203498 msgs/S, 406996 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 197915 msgs/S, 395830 ctxswc/S +--- Score : 203498 msgs/S, 406996 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 829384 ctxswc/S +--- Score : 838936 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 152537 threads/S +--- Score : 159279 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 221748 threads/S +--- Score : 228043 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 61567 reschedules/S, 369402 ctxswc/S +--- Score : 62250 reschedules/S, 373500 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 487900 ctxswc/S +--- Score : 481292 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 474864 bytes/S +--- Score : 487684 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647306 timers/S +--- Score : 647206 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 833124 wait+signal/S +--- Score : 823472 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 644432 lock+unlock/S +--- Score : 638608 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index 8cd9ad7df..7148f40f3 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -21,11 +21,11 @@ Lines executed:100.00% of 65 ../../os/kernel/src/chschd.c:creating `chschd.c.gcov' File `../../os/kernel/src/chthreads.c' -Lines executed:95.00% of 120 +Lines executed:100.00% of 120 ../../os/kernel/src/chthreads.c:creating `chthreads.c.gcov' File `../../os/kernel/src/chregistry.c' -Lines executed:0.00% of 18 +Lines executed:100.00% of 18 ../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov' File `../../os/kernel/src/chsem.c' @@ -57,7 +57,7 @@ Lines executed:100.00% of 110 ../../os/kernel/src/chqueues.c:creating `chqueues.c.gcov' File `../../os/kernel/src/chmemcore.c' -Lines executed:90.00% of 20 +Lines executed:100.00% of 20 ../../os/kernel/src/chmemcore.c:creating `chmemcore.c.gcov' File `../../os/kernel/src/chheap.c' @@ -65,7 +65,7 @@ Lines executed:100.00% of 79 ../../os/kernel/src/chheap.c:creating `chheap.c.gcov' File `../../os/kernel/src/chmempools.c' -Lines executed:96.43% of 28 +Lines executed:100.00% of 28 ../../os/kernel/src/chmempools.c:creating `chmempools.c.gcov' mv -f *.gcov ./gcov diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index b50474724..1e29c5269 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -36,237 +36,237 @@ Kernel Size = 2200 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5540 +Kernel Size = 5748 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5108 +Kernel Size = 5280 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -Kernel Size = 1532 +Kernel Size = 1512 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5320 +Kernel Size = 5192 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4936 +Kernel Size = 4820 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -Kernel Size = 1460 +Kernel Size = 1340 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5128 +Kernel Size = 4980 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4760 +Kernel Size = 4624 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1420 +Kernel Size = 1284 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4996 +Kernel Size = 5060 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4788 +Kernel Size = 4872 Platform : ARM Cortex-M0 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -Kernel Size = 1352 +Kernel Size = 1348 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4696 +Kernel Size = 4672 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4524 +Kernel Size = 4516 Platform : ARM Cortex-M0 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -Kernel Size = 1260 +Kernel Size = 1252 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7824 +Kernel Size = 8380 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7420 +Kernel Size = 7928 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -Kernel Size = 1868 +Kernel Size = 1884 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7592 +Kernel Size = 7772 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7216 +Kernel Size = 7408 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -Kernel Size = 1824 +Kernel Size = 1676 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7548 +Kernel Size = 8100 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7152 +Kernel Size = 7660 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1796 +Kernel Size = 1816 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7300 +Kernel Size = 7480 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 6940 +Kernel Size = 7136 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1772 +Kernel Size = 1608 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5156 +Kernel Size = 5604 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4952 +Kernel Size = 5396 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1312 +Kernel Size = 1364 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4988 +Kernel Size = 5240 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4796 +Kernel Size = 5048 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1292 +Kernel Size = 1272 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5000 +Kernel Size = 5456 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4812 +Kernel Size = 5264 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1268 +Kernel Size = 1316 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4792 +Kernel Size = 5016 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4636 +Kernel Size = 4856 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-elf-gcc (GCC) 4.4.2 +Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1252 +Kernel Size = 1220 Platform : MSP430 OS Setup : Full kernel -- cgit v1.2.3 From bf0c75c33e3c4ec0e19637d5da45e24f537295d9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 9 May 2010 17:52:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1911 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index c06d09ad5..704f13b35 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.6 +PROJECT_NUMBER = 1.5.7 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 833fb0ef900b127b4989b465e8401aa6f7ce5302 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 14 May 2010 07:54:13 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1917 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 8 ++++---- docs/reports/STM8S208-16.txt | 28 ++++++++++++++++------------ 2 files changed, 20 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 159f71229..6e0917cfd 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,11 +5,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.6unstable +*** Kernel: 1.5.7unstable *** GCC Version: 4.5.0 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 -*** Platform: STM32 +*** Platform: STM32 MD *** Test Board: Olimex STM32-P103 ---------------------------------------------------------------------------- @@ -95,7 +95,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 250283 msgs/S, 500566 ctxswc/S +--- Score : 250284 msgs/S, 500568 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -111,7 +111,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 159279 threads/S +--- Score : 159280 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) diff --git a/docs/reports/STM8S208-16.txt b/docs/reports/STM8S208-16.txt index 2046ad681..c07914329 100644 --- a/docs/reports/STM8S208-16.txt +++ b/docs/reports/STM8S208-16.txt @@ -6,8 +6,9 @@ Compiler: Raisonance *** ChibiOS/RT test suite *** -*** Kernel: 1.5.3unstable +*** Kernel: 1.5.7unstable *** Architecture: STM8 +*** Platform: STM8x *** Test Board: Raisonance REva V3 + STM8S208RB ---------------------------------------------------------------------------- @@ -56,6 +57,9 @@ Compiler: Raisonance --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -67,43 +71,43 @@ Compiler: Raisonance --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24743 msgs/S, 49486 ctxswc/S +--- Score : 24781 msgs/S, 49562 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24743 msgs/S, 49486 ctxswc/S +--- Score : 24781 msgs/S, 49562 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 112568 ctxswc/S +--- Score : 112368 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 18457 threads/S +--- Score : 18500 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 28904 threads/S +--- Score : 28851 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 7336 reschedulations/S, 44016 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 7329 reschedules/S, 43974 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 71920 reschedulations/S, 71920 ctxswc/S +--- Score : 55456 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 69028 bytes/S +--- Score : 68880 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 64712 timers/S +--- Score : 64920 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 201052 wait+signal/S +--- Score : 200420 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, RAM footprint) -- cgit v1.2.3 From dd8d8805280305eaaef55c9ae3a5e018702bb1a2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 14 May 2010 08:10:34 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1918 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S208-16.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM8S208-16.txt b/docs/reports/STM8S208-16.txt index c07914329..6cf66f335 100644 --- a/docs/reports/STM8S208-16.txt +++ b/docs/reports/STM8S208-16.txt @@ -1,7 +1,7 @@ *************************************************************************** Options: Optimized for speed (3) Settings: CPUCLK=16MHz (HSI) -Compiler: Raisonance +Compiler: Raisonance RKit-STM8_2.28.10.0092 *************************************************************************** *** ChibiOS/RT test suite @@ -67,47 +67,47 @@ Compiler: Raisonance --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 31840 msgs/S, 63680 ctxswc/S +--- Score : 31156 msgs/S, 62312 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24781 msgs/S, 49562 ctxswc/S +--- Score : 24035 msgs/S, 48070 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24781 msgs/S, 49562 ctxswc/S +--- Score : 24035 msgs/S, 48070 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 112368 ctxswc/S +--- Score : 108456 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 18500 threads/S +--- Score : 17186 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 28851 threads/S +--- Score : 26073 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 7329 reschedules/S, 43974 ctxswc/S +--- Score : 6884 reschedules/S, 41304 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 55456 ctxswc/S +--- Score : 54552 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 68880 bytes/S +--- Score : 65072 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 64920 timers/S +--- Score : 55670 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 200420 wait+signal/S +--- Score : 220452 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, RAM footprint) -- cgit v1.2.3 From eb49256ae9fe038c844bdbab776015863a71632d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 14 May 2010 12:23:26 +0000 Subject: Added thanks to the documentation. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1924 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 1 + docs/src/thanks.dox | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 docs/src/thanks.dox (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index f639682ab..4813e6543 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -59,6 +59,7 @@ * . *

          Related pages

          * - @subpage lic_faq + * - @subpage thanks * - @subpage goals * - @subpage target * - @subpage architecture diff --git a/docs/src/thanks.dox b/docs/src/thanks.dox new file mode 100644 index 000000000..47d8a1729 --- /dev/null +++ b/docs/src/thanks.dox @@ -0,0 +1,49 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page thanks Thanks + * @brief Contributors + * + * I want to thanks to all the people that directly or indirectly contributed + * to the project, I beg pardon if someone is missing: + * - Adamo Reggiani, working on the Fujitsu port. + * - Brian Weaver, STM8 port, STM8 and STM32 testing and improvements. + * - Egon Carusi, STM32 port improvements, testing and bug fixes. + * - Enrico Cavazza, working on the Fujitsu port and a GUI subsystem. + * - Eric Weddington, because his work on WinAVR and helping me sorting + * out issues with the ChibiOS/RT license. + * - Isidoro Orabona, co-developer of the ChibiOS/RT grandfather back + * in 1988, it is a long long story involving a 6502 and a Z80... + * - Jacek, Ride7 demo for STM32 Primer. + * - Leon Woestenberg, CondVars idea and implementation, documentation + * improvements and a lot of other ideas, he also helped with the lwIP port + * (he is one of the developers of that project too). + * - Leszek Bednarz, H8S and ColdFire ports and drivers. + * - Liam Staskawicz, Posix simulator, AT91SAM7x and STM32 related + * contributions, many bug fixes and excellent suggestions. + * - Michael Fischer, because the work on YAGARTO and the excellent + * feedback. + * - Riccardo Scanu, another long story, this time involving reverse + * engineering and giant robots... + * - Vladimir, first tested and fixed the AVR port, I don't know the + * surname but he has been the first contributor. + * - Walter Goossens, fixes to the LPC21xx support. + * . + */ -- cgit v1.2.3 From 9a1d38e85b3d898d70c1d70645e21c49bdd83c6a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 14 May 2010 12:43:14 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1925 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 2 +- docs/src/thanks.dox | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/main.dox b/docs/src/main.dox index 4813e6543..49bf41741 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -59,7 +59,7 @@ * . *

          Related pages

          * - @subpage lic_faq - * - @subpage thanks + * - @subpage credits * - @subpage goals * - @subpage target * - @subpage architecture diff --git a/docs/src/thanks.dox b/docs/src/thanks.dox index 47d8a1729..eec6bf2cf 100644 --- a/docs/src/thanks.dox +++ b/docs/src/thanks.dox @@ -18,10 +18,10 @@ */ /** - * @page thanks Thanks + * @page credits Credits * @brief Contributors * - * I want to thanks to all the people that directly or indirectly contributed + * I want to thank to all the people that directly or indirectly contributed * to the project, I beg pardon if someone is missing: * - Adamo Reggiani, working on the Fujitsu port. * - Brian Weaver, STM8 port, STM8 and STM32 testing and improvements. -- cgit v1.2.3 From d42f2e5da46e8b8b7f175ad4fb1b512285e2f2f4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 14 May 2010 12:43:57 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1926 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/credits.dox | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ docs/src/thanks.dox | 49 ------------------------------------------------- 2 files changed, 49 insertions(+), 49 deletions(-) create mode 100644 docs/src/credits.dox delete mode 100644 docs/src/thanks.dox (limited to 'docs') diff --git a/docs/src/credits.dox b/docs/src/credits.dox new file mode 100644 index 000000000..eec6bf2cf --- /dev/null +++ b/docs/src/credits.dox @@ -0,0 +1,49 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page credits Credits + * @brief Contributors + * + * I want to thank to all the people that directly or indirectly contributed + * to the project, I beg pardon if someone is missing: + * - Adamo Reggiani, working on the Fujitsu port. + * - Brian Weaver, STM8 port, STM8 and STM32 testing and improvements. + * - Egon Carusi, STM32 port improvements, testing and bug fixes. + * - Enrico Cavazza, working on the Fujitsu port and a GUI subsystem. + * - Eric Weddington, because his work on WinAVR and helping me sorting + * out issues with the ChibiOS/RT license. + * - Isidoro Orabona, co-developer of the ChibiOS/RT grandfather back + * in 1988, it is a long long story involving a 6502 and a Z80... + * - Jacek, Ride7 demo for STM32 Primer. + * - Leon Woestenberg, CondVars idea and implementation, documentation + * improvements and a lot of other ideas, he also helped with the lwIP port + * (he is one of the developers of that project too). + * - Leszek Bednarz, H8S and ColdFire ports and drivers. + * - Liam Staskawicz, Posix simulator, AT91SAM7x and STM32 related + * contributions, many bug fixes and excellent suggestions. + * - Michael Fischer, because the work on YAGARTO and the excellent + * feedback. + * - Riccardo Scanu, another long story, this time involving reverse + * engineering and giant robots... + * - Vladimir, first tested and fixed the AVR port, I don't know the + * surname but he has been the first contributor. + * - Walter Goossens, fixes to the LPC21xx support. + * . + */ diff --git a/docs/src/thanks.dox b/docs/src/thanks.dox deleted file mode 100644 index eec6bf2cf..000000000 --- a/docs/src/thanks.dox +++ /dev/null @@ -1,49 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page credits Credits - * @brief Contributors - * - * I want to thank to all the people that directly or indirectly contributed - * to the project, I beg pardon if someone is missing: - * - Adamo Reggiani, working on the Fujitsu port. - * - Brian Weaver, STM8 port, STM8 and STM32 testing and improvements. - * - Egon Carusi, STM32 port improvements, testing and bug fixes. - * - Enrico Cavazza, working on the Fujitsu port and a GUI subsystem. - * - Eric Weddington, because his work on WinAVR and helping me sorting - * out issues with the ChibiOS/RT license. - * - Isidoro Orabona, co-developer of the ChibiOS/RT grandfather back - * in 1988, it is a long long story involving a 6502 and a Z80... - * - Jacek, Ride7 demo for STM32 Primer. - * - Leon Woestenberg, CondVars idea and implementation, documentation - * improvements and a lot of other ideas, he also helped with the lwIP port - * (he is one of the developers of that project too). - * - Leszek Bednarz, H8S and ColdFire ports and drivers. - * - Liam Staskawicz, Posix simulator, AT91SAM7x and STM32 related - * contributions, many bug fixes and excellent suggestions. - * - Michael Fischer, because the work on YAGARTO and the excellent - * feedback. - * - Riccardo Scanu, another long story, this time involving reverse - * engineering and giant robots... - * - Vladimir, first tested and fixed the AVR port, I don't know the - * surname but he has been the first contributor. - * - Walter Goossens, fixes to the LPC21xx support. - * . - */ -- cgit v1.2.3 From 88d93ba5bf533bfd49df40ba7998b747d1fbadc2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 17 May 2010 15:02:27 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1931 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 2 +- docs/src/concepts.dox | 2 +- docs/src/createthread.dox | 21 +++++++++++---------- docs/src/debug.dox | 8 ++++---- docs/src/integrationguide.dox | 18 +++++++++--------- docs/src/jitter.dox | 4 ++-- docs/src/lifecycle.dox | 19 ++++++++++--------- docs/src/mutualexcl.dox | 14 +++++++------- docs/src/portguide.dox | 10 +++++----- docs/src/roundrobin.dox | 14 +++++++------- docs/src/stacks.dox | 10 +++++----- 11 files changed, 62 insertions(+), 60 deletions(-) (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 9d3aee8d0..42d1606ae 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -19,7 +19,7 @@ /** * @page articles Articles and Code Samples - * ChibiOS/RT Articles and Code Examples: + * ChibiOS/RT Articles and Code Samples: * - @subpage page_general * - @subpage page_kb * - @subpage page_howtos diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 6ddc8035f..9c09041a7 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -229,7 +229,7 @@ start -> suspend [label="chThdInit()", constraint=false]; start -> run [label="chThdCreate()"]; start -> ready [label="chThdCreate()"]; - run -> ready [label="Reschedulation", dir="both"]; + run -> ready [label="Reschedule", dir="both"]; suspend -> run [label="chThdResume()"]; suspend -> ready [label="chThdResume()"]; run -> sleep [label="chSchGoSleepS()"]; diff --git a/docs/src/createthread.dox b/docs/src/createthread.dox index 0774e0e7e..8bbd74a2d 100644 --- a/docs/src/createthread.dox +++ b/docs/src/createthread.dox @@ -55,7 +55,7 @@ static WORKING_AREA(myThreadWorkingArea, 128); myThread, /* Thread function. */ NULL); /* Thread parameter. */ * @endcode - * Tre variable tp receives the pointer to the thread object, it is taken + * The variable tp receives the pointer to the thread object, it is taken * by other APIs as parameter.
          * Now a complete example: * @code @@ -93,19 +93,19 @@ int main(int argc, char *argv[]) { . } * @endcode - * Note that is memory allocated to myThread() is statically defined and cannot - * be reused. Static threads are ideal for safety applications because there is - * no risk of a memory allocation failure because progressive heap + * Note that the memory allocated to myThread() is statically defined and + * cannot be reused. Static threads are ideal for safety applications because + * there is no risk of a memory allocation failure because progressive heap * fragmentation. * *

          Creating a dynamic thread using the heap allocator

          * In order to create a thread from a memory heap is very easy: * @code - Thread *tp = chThdCreateFromHeap(NULL, /* NULL = Default heap. */ - 128, /* Stack size. */ - NORMALPRIO, /* Initial priority. */ - myThread, /* Thread function. */ - NULL); /* Thread parameter. */ + Thread *tp = chThdCreateFromHeap(NULL, /* NULL = Default heap. */ + THD_WA_SIZE(128),/* Stack size. */ + NORMALPRIO, /* Initial priority. */ + myThread, /* Thread function. */ + NULL); /* Thread parameter. */ * @endcode * The memory is allocated from the spawned heap and the thread is started. * Note that the memory is not freed when the thread terminates but when the @@ -127,7 +127,8 @@ static msg_t myThread(void *arg) { int main(int argc, char *argv[]) { - Thread *tp = chThdCreateFromHeap(NULL, 128, NORMALPRIO+1, myThread, NULL); + Thread *tp = chThdCreateFromHeap(NULL, THD_WA_SIZE(128), NORMALPRIO+1, + myThread, NULL); if (tp == NULL) chSysHalt(); /* Memory exausted. */ diff --git a/docs/src/debug.dox b/docs/src/debug.dox index 46a67dfb2..341e852c6 100644 --- a/docs/src/debug.dox +++ b/docs/src/debug.dox @@ -125,10 +125,10 @@ * common RTOS related tasks, under "./testhal" there are examples * regarding the various device drivers, the various demos contain * good code samples too). - * - Start your application from an existing demos, add things one piece at - * time and test often, if you add too many things at once a small problem - * can become a debugging nightmare. Follow the cycle: think, implement, - * test, repeat. + * - Start your application from an existing demo, add things one at a + * time and test often, if you add too many things at once then finding a + * small problem can become a debugging nightmare. Follow the cycle: think, + * implement, test, repeat. * - If you are stuck for too much time then consider asking for advice. * - Report bugs and problems, bugs can be fixed, problems can become new * articles in the documentation (this and other documentation articles diff --git a/docs/src/integrationguide.dox b/docs/src/integrationguide.dox index 6eec61e75..dd91d8cf8 100644 --- a/docs/src/integrationguide.dox +++ b/docs/src/integrationguide.dox @@ -24,9 +24,9 @@ * integration effort, you are simply using the existing makefiles, the * default startup files etc, minimal effort.
          * The matter is very different if you are going to integrate the OS into - * a different runtime framework or want to use a different build system, - * in that case you have the problem to integrate the OS source code into - * your application. + * a different runtime framework or if you want to use a different build + * system, in that case you have the problem to integrate the OS source + * code into your application. * *

          What this guide does not cover

          * This guide has a limited scope, the following topics are handled elsewhere: @@ -55,16 +55,16 @@ * subsystems. Unused subsystems can be excluded from the kernel * configuration file @p chconf.h. * - All the source files contained under - * ./os/@/@. Note that those - * could be both C source files and assembler source files and that some - * architectures have an extra directories layer containing files required - * for a specific platform. + * ./os/ports/@/@. + * Note that those could be both C source files and assembler source files + * and that some architectures have an extra directories layer containing + * files required for a specific platform. * . * You also need to add to the compiler options the following paths for * searching header files: * - The portable kernel headers ./os/kernel/include. * - The port layer headers - * ./os/@/@. + * ./os/ports/@/@. * . * @section integrationguide_hal Integrating the HAL * If, in addition to the kernel as described in the previous section, you also @@ -86,7 +86,7 @@ * . * You also need to add to the compiler options the following paths for * searching header files: - * - The portable HAL headers ./os/hal/src. + * - The portable HAL headers ./os/hal/include. * - The platform layer headers * ./os/hal/platforms/@. * - The board description headers diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox index 6ac74116e..759425b4e 100644 --- a/docs/src/jitter.dox +++ b/docs/src/jitter.dox @@ -101,8 +101,8 @@ * An obvious mitigation action is to optimize the interrupt handler code as * much as possible for speed.
          * Complex actions should never be performed in interrupt handlers. - * An handler should serve the interrupt and wakeup a dedicated thread in order - * to handle the bulk of the work.
          + * An handler should just serve the interrupt and wakeup a dedicated thread in + * order to handle the bulk of the work.
          * Another possible mitigation action is to evaluate if a specific interrupt * handler really needs to interact with the OS, if the handler uses full * stand-alone code then it is possible to remove the OS related overhead.
          diff --git a/docs/src/lifecycle.dox b/docs/src/lifecycle.dox index d96795b21..18875e7da 100644 --- a/docs/src/lifecycle.dox +++ b/docs/src/lifecycle.dox @@ -20,17 +20,17 @@ /** * @page article_lifecycle Threads Lifecycle * In ChibiOS/RT threads are divided in two categories: - * - Static threads. The memory used for static threads is allocated at + * - Static threads. The memory used for static threads is allocated at * compile time so static threads are always there, there is no management * to be done. - * - Dynamic threads. Dynamic threads are allocated at runtime from one of - * the available allocators (see @ref heaps, @ref pools). + * - Dynamic threads. Dynamic threads are allocated at runtime from one + * of the available allocators (see @ref heaps, @ref pools). * . * Dynamic threads create the problem of who is responsible of releasing * their memory because a thread cannot dispose its own memory.
          * This is handled in ChibiOS/RT through the mechanism of "thread references", - * When the @p CH_USE_DYNAMIC option is enabled the threads becomes objects - * with a reference counter. The memory of a thread, if dynamic, is released + * When the @p CH_USE_DYNAMIC option is enabled the threads become objects + * with a reference counter. The memory of a thread, if dynamic, is freed * when the last reference to the thread is released while the thread is in * its @p THD_STATE_FINAL state.
          * The following diagram explains the mechanism: @@ -57,11 +57,12 @@ } * @enddot *
          - * As you can see the simplest way to ensure that the memory is released is - * that another threads performs a @p chThdWait() on the dynamic thread.
          + * As you can see the easiest way to ensure that the memory is released is + * to make another thread perform a @p chThdWait() on the dynamic thread.
          * If all the references to the threads are released while the thread is * still alive then the thread goes in a "detached" state and its memory * cannot be recovered unless there is a dedicated task in the system that - * scans the threads through the @ref registry subsystem and frees the - * terminated ones. + * scans the threads through the @ref registry subsystem, scanning the registry + * has the side effect to release the zombies (detached and then terminated + * threads). */ diff --git a/docs/src/mutualexcl.dox b/docs/src/mutualexcl.dox index 7f0b90e21..260732e19 100644 --- a/docs/src/mutualexcl.dox +++ b/docs/src/mutualexcl.dox @@ -77,11 +77,12 @@ * running at thread level. Usually a thread waits on a semaphore that is * signaled asynchronously by an interrupt handler.
          * The semaphores can, however, be used as simple mutexes by initializing - * counter to one. + * the semaphore counter to one. * *

          Advantages

          - * - The semaphores code is "already there" if you use the I/O queues and - * you don't want to enable the mutexes too because space constraints. + * - The semaphores code is "already there" if you use the I/O queues or + * mailboxes and you don't want to enable the mutexes too in order to save + * space. * - Semaphores are lighter than mutexes because their queues are FIFO * ordered and do not have any overhead caused by the priority inheritance * algorithm. @@ -112,14 +113,13 @@ * @endcode * *

          Mutual exclusion by Mutexes

          - * The mutexes, also known as binary semaphores (we choose to not use this - * terminology to avoid confusion with counting semaphores), are the mechanism - * intended as general solution for Mutual Exclusion. + * The mutexes are the mechanism intended as the most general solution for + * Mutual Exclusion. * *

          Advantages

          * - Mutexes implement the Priority Inheritance algorithm that is an important * tool in reducing jitter and improve overall system response time (it is - * not a magic solution, just a tool for the system designer). + * not a magic solution, just another tool for the system designer). * . *

          Disadvantages

          * - Heaviest among all the possible choices. The Priority Inheritance method diff --git a/docs/src/portguide.dox b/docs/src/portguide.dox index 3af53c4cf..170ca75a3 100644 --- a/docs/src/portguide.dox +++ b/docs/src/portguide.dox @@ -51,7 +51,7 @@ * some hardware specific initialization code then put it here. * . * -# Create a new directory under the ChibiOS/RT installation directory: - * ./projects/@ + * ./projects/@ * -# Copy an existing demo code under the newly created directory. * -# Customize the demo: * - @p Makefile You may edit this file in order to remove the test related @@ -78,19 +78,19 @@ * core (a common example: ARM7) of a supported microcontroller but has * differences in the internal peripherals.
          * If this is your case proceed as follow: - * -# Create a new directory under @p ./os/io/platforms and + * -# Create a new directory under @p ./os/io/platforms and * name it with the microcontroller name (or family name).
          * In case of the ARM-based microcontroller you also need to create a * equally named directory under - * @p ./os/ports/@/@ and + * @p ./os/ports/@/@ and * put there the microcontroller related files such as the vectors table, * see the existing ports as example. * -# Copy into the newly created directory the most closely related existing * chip port or the naked template files from - * @p ./os/io/templates. + * @p ./os/io/templates. * -# Work out the differences in the drivers or implement them if you started * from the templates. - * -# Edit/create the documentation file @p platform.dox, this + * -# Edit/create the documentation file @p platform.dox, this * is required if you want to regenerate this documentation including * your work. * . diff --git a/docs/src/roundrobin.dox b/docs/src/roundrobin.dox index 8158a5c03..df57ec971 100644 --- a/docs/src/roundrobin.dox +++ b/docs/src/roundrobin.dox @@ -23,27 +23,27 @@ * same priority level and schedules them using an aggressive * round-robin strategy.
          * The strategy is defined as aggressive because any scheduling event - * can cause the round-robin threads to rotate.
          + * causes the round-robin threads to rotate.
          * A round-robin rotation can happen because of the following events: * - The currently executed thread voluntarily invokes the @p chThdYield() * API in order to allow the execution of another thread at the same * priority level, if any. * - The currently executed thread voluntarily goes into a sleep state - * (see @ref thread_states), when the thread is waken it goes behind - * all the other threads at the same priority level. + * (see @ref thread_states), when the thread is awakened it goes behind + * any other thread at the same priority level. * - The currently executed thread is preempted by an higher priority * thread, the thread is reinserted in the ready list (see @ref scheduling) - * behind all the other threads at the same priority level. + * behind any other thread at the same priority level. * - If the @p CH_TIME_QUANTUM configuration constant is set to a value * greater than zero and if the specified time quantum expired and if * a thread with equal priority is ready then the currently executing - * thread is automatically reinserted in the ready list behind all the - * other threads at the same priority level. + * thread is automatically reinserted in the ready list behind any + * other thread at the same priority level. * . * As you can see the @p CH_TIME_QUANTUM setting is really useful only if * there are threads at the same priority level that can run not preempted * for long periods of time and that do not explicitly yield using - * @p chThdYield(). Because of this you should consider to set + * @p chThdYield(). Because of this you should consider setting * @p CH_TIME_QUANTUM to zero in your configuration file, this makes the * kernel much faster and smaller and does not forbid the use of * multiple threads at the same priority level. diff --git a/docs/src/stacks.dox b/docs/src/stacks.dox index 87c404f7a..d87d183f6 100644 --- a/docs/src/stacks.dox +++ b/docs/src/stacks.dox @@ -19,7 +19,7 @@ /** * @page article_stacks Stacks and stack sizes - * In a RTOS like ChibiOS/RT there are several dedicated stacks, each stack + * In an RTOS like ChibiOS/RT there are several dedicated stacks, each stack * has a dedicated RAM space that must have a correctly sized assigned area. *

          The stacks

          * There are several stacks in the systems, some are always present, some @@ -43,8 +43,8 @@ * The most critical thing when writing an embedded multithreaded application * is to determine the correct stack size for main, threads and, when present, * interrupts.
          - * Assign too much space to a stack wastes RAM, assign too little space - * leads to crashes or, worst scenario, hard to track instability. + * Assigning too much space to a stack is a waste of RAM, assigning too little + * space leads to crashes or, worst scenario, hard to track instability. * *

          Assigning the correct size

          * You may try to examine the asm listings in order to calculate the exact @@ -101,7 +101,7 @@ * to this value. Resizing of the global interrupt stack may be required * instead. * - Often is a good idea to have some extra space in stacks unless you - * are really starved on RAM. Anyway optimize stack space at the very - * end of your development cycle. + * are really starved on RAM. Anyway, it is best to optimize stack space + * at the very end of your development cycle. * . */ -- cgit v1.2.3 From 6b6bce2f392da97f2007fa219fbabb33529665f2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 18 May 2010 13:36:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1935 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/credits.dox | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/credits.dox b/docs/src/credits.dox index eec6bf2cf..28343dc14 100644 --- a/docs/src/credits.dox +++ b/docs/src/credits.dox @@ -35,15 +35,16 @@ * - Leon Woestenberg, CondVars idea and implementation, documentation * improvements and a lot of other ideas, he also helped with the lwIP port * (he is one of the developers of that project too). - * - Leszek Bednarz, H8S and ColdFire ports and drivers. + * - Leszek Bednarz, H8S and ColdFire ports and drivers maintainer. * - Liam Staskawicz, Posix simulator, AT91SAM7x and STM32 related - * contributions, many bug fixes and excellent suggestions. + * contributions, general improvements, many bug fixes and excellent + * suggestions. * - Michael Fischer, because the work on YAGARTO and the excellent * feedback. * - Riccardo Scanu, another long story, this time involving reverse * engineering and giant robots... * - Vladimir, first tested and fixed the AVR port, I don't know the * surname but he has been the first contributor. - * - Walter Goossens, fixes to the LPC21xx support. + * - Walter Goossens, several fixes to the LPC21xx support. * . */ -- cgit v1.2.3 From 42476118ad82557a6acf94b61fdf396986531493 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 21 May 2010 13:03:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1946 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/timing.dox | 46 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/src/timing.dox b/docs/src/timing.dox index 4f61adfeb..14c3b14ec 100644 --- a/docs/src/timing.dox +++ b/docs/src/timing.dox @@ -27,13 +27,13 @@ msg_t my_thread(void *param) { while (TRUE) { do_something(); - chThdSleepMilliseconds(1000); /* Fixed interval */ + chThdSleepMilliseconds(1000); // Fixed interval } } * @endcode - * This example works well assuming that @p do_something() execution time is - * well below the system tick period and that @p my_thread() is not preempted - * by other threads inserting long intervals.
          + * This example works well assuming that the @p do_something() execution time + * is well below the system tick period and that @p my_thread() is not + * preempted by other threads that could insert long intervals.
          * If the above conditions are not satisfied you may have @p do_something() * executed at irregular intervals, as example:

          * T0...T0+1000...T0+2002...T0+3002...T0+4005...etc.

          @@ -45,9 +45,9 @@ msg_t my_thread(void *param) { * @code msg_t my_thread(void *param) { - systick_t time = chTimeNow(); /* T0 */ + systick_t time = chTimeNow(); // T0 while (TRUE) { - time += MS2ST(1000); /* Next deadline */ + time += MS2ST(1000); // Next deadline do_something(); chThdSleepUntil(time); } @@ -55,5 +55,37 @@ msg_t my_thread(void *param) { * @endcode * Using this code @p do_something() will always be executed at an absolute * deadline time and the error will not accumulate over time regardless of - * the execution time and delays inserted by other threads. + * the execution time and delays inserted by other threads.
          + * Note that this solution requires that the @p do_something() execution + * time must not exceed the deadline or the thread would stay sleeping into + * @p chThdSleepUntil(). + * + *

          A different way

          + * Another way to perform activities at regular intervals is the use of a + * virtual timer. Virtual timers are able to generate callbacks at scheduled + * intervals. Virtual timers are one shot timers so you need to restart them + * from within the callback if you need a periodic timer like in this case. + * @code +VirtualTimer vt; + +void do_something(void *p) { + + chVTSetI(&vt, MS2ST(1000), do_something, p); // Restarts the timer. + // Periodic code here. +} + +int main(int argc, char **argv) { + + chSysLock(); + chVTSetI(&vt, MS2ST(1000), do_something, NULL); // Starts the timer. + chSysUnlock(); + ... +} + * @endcode + * Note that the callback code is executed from within the I-Locked state (see + * @ref system_states) so you can only execute I-Class APIs from there (see + * @ref api_suffixes).
          + * This solution has the advantage to not require a dedicated thread and + * thus uses much less RAM but the periodic code must have a very short + * execution time or it would degrade the overall system response time. */ -- cgit v1.2.3 From 04076d3d539f4deb1bce2d47e10153a7a7e104f3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 22 May 2010 09:07:50 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1948 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 42 ++++++++++++++++++++--------------- docs/reports/AT91SAM7X-48-THUMB.txt | 44 +++++++++++++++++++++---------------- docs/reports/LPC2148-48-ARM.txt | 33 +++++++++++++++------------- docs/reports/LPC2148-48-THUMB.txt | 35 +++++++++++++++-------------- docs/reports/STM32F103-72.txt | 4 ++-- 5 files changed, 88 insertions(+), 70 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 01f6a5afc..38ee9cc83 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,9 +5,12 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.7unstable -*** Architecture: ARM7TDMI -*** GCC Version: 4.4.2 +*** Kernel: 1.5.7unstable +*** GCC Version: 4.5.0 +*** Architecture: ARM +*** Core Variant: ARM7TDMI +*** Platform: AT91SAM7x +*** Test Board: Olimex SAM7-EX256 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -82,6 +85,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -89,56 +95,56 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 114965 msgs/S, 229930 ctxswc/S +--- Score : 109404 msgs/S, 218808 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 90579 msgs/S, 181158 ctxswc/S +--- Score : 83877 msgs/S, 167754 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 90579 msgs/S, 181158 ctxswc/S +--- Score : 83877 msgs/S, 167754 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 391224 ctxswc/S +--- Score : 360160 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 82600 threads/S +--- Score : 64434 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 115522 threads/S +--- Score : 94114 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28350 reschedulations/S, 170100 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 25788 reschedules/S, 154728 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 258160 reschedulations/S, 258160 ctxswc/S +--- Score : 204100 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 249280 bytes/S +--- Score : 217464 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 264256 timers/S +--- Score : 264170 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 466632 wait+signal/S +--- Score : 425016 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 317812 lock+unlock/S +--- Score : 309480 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 324 bytes ---- Thread: 60 bytes +--- System: 356 bytes +--- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes --- EventS: 4 bytes diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index 5dc43e3e9..4f75ef6ed 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -1,13 +1,16 @@ *************************************************************************** -Options: -Os -fomit-frame-pointer -mabi=apcs-gnu +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *************************************************************************** *** ChibiOS/RT test suite *** -*** Kernel: 1.3.5unstable -*** Architecture: ARM7TDMI -*** GCC Version: 4.4.2 +*** Kernel: 1.5.7unstable +*** GCC Version: 4.5.0 +*** Architecture: ARM +*** Core Variant: ARM7TDMI +*** Platform: AT91SAM7x +*** Test Board: Olimex SAM7-EX256 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -82,6 +85,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -89,56 +95,56 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 104631 msgs/S, 209262 ctxswc/S +--- Score : 106526 msgs/S, 213052 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 86467 msgs/S, 172934 ctxswc/S +--- Score : 87601 msgs/S, 175202 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 86467 msgs/S, 172934 ctxswc/S +--- Score : 87601 msgs/S, 175202 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 400560 ctxswc/S +--- Score : 405776 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 85230 threads/S +--- Score : 68329 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 117190 threads/S +--- Score : 101120 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 28597 reschedulations/S, 171582 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 28779 reschedules/S, 172674 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 249680 reschedulations/S, 249680 ctxswc/S +--- Score : 212112 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 265680 bytes/S +--- Score : 262808 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 323120 timers/S +--- Score : 323178 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 364364 wait+signal/S +--- Score : 364428 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 262400 lock+unlock/S +--- Score : 268336 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 324 bytes ---- Thread: 60 bytes +--- System: 356 bytes +--- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes --- EventS: 4 bytes diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index 1ded2925d..9cae2a078 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,8 +5,8 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.4unstable -*** GCC Version: 4.4.2 +*** Kernel: 1.5.7unstable +*** GCC Version: 4.5.0 *** Architecture: ARM *** Core Variant: ARM7TDMI *** Platform: LPC214x @@ -85,6 +85,9 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -92,51 +95,51 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 148086 msgs/S, 296172 ctxswc/S +--- Score : 138220 msgs/S, 276440 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 116100 msgs/S, 232200 ctxswc/S +--- Score : 104419 msgs/S, 208838 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 116100 msgs/S, 232200 ctxswc/S +--- Score : 104419 msgs/S, 208838 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 509520 ctxswc/S +--- Score : 460416 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 87287 threads/S +--- Score : 85707 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 122334 threads/S +--- Score : 124543 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 36238 reschedulations/S, 217428 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 33282 reschedules/S, 199692 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 341020 reschedulations/S, 341020 ctxswc/S +--- Score : 265316 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 357312 bytes/S +--- Score : 316988 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 333360 timers/S +--- Score : 335642 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 623248 wait+signal/S +--- Score : 585024 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 383452 lock+unlock/S +--- Score : 368620 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 9d841ef60..aeaae4845 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -1,12 +1,12 @@ *************************************************************************** -Options: -Os -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *************************************************************************** *** ChibiOS/RT test suite *** -*** Kernel: 1.5.4unstable -*** GCC Version: 4.4.2 +*** Kernel: 1.5.7unstable +*** GCC Version: 4.5.0 *** Architecture: ARM *** Core Variant: ARM7TDMI *** Platform: LPC214x @@ -85,6 +85,9 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -92,51 +95,51 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 106455 msgs/S, 212910 ctxswc/S +--- Score : 106460 msgs/S, 212920 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 88190 msgs/S, 176380 ctxswc/S +--- Score : 88195 msgs/S, 176390 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 88190 msgs/S, 176380 ctxswc/S +--- Score : 88195 msgs/S, 176390 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 412496 ctxswc/S +--- Score : 412536 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 67800 threads/S +--- Score : 69580 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 100842 threads/S +--- Score : 104828 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 29488 reschedulations/S, 176928 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 29580 reschedules/S, 177480 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 257308 reschedulations/S, 257308 ctxswc/S +--- Score : 221556 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 265488 bytes/S +--- Score : 261124 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 326324 timers/S +--- Score : 326304 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 353452 wait+signal/S +--- Score : 350836 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 255980 lock+unlock/S +--- Score : 260148 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 6e0917cfd..cf20a8f42 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -95,7 +95,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 250284 msgs/S, 500568 ctxswc/S +--- Score : 250283 msgs/S, 500566 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -123,7 +123,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 481292 ctxswc/S +--- Score : 481288 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From 1858286fa5e20193b4613693109ca7d67ed0c9cc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 24 May 2010 14:25:37 +0000 Subject: Preparations for 2.0.0 release. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1951 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/src/credits.dox | 45 +++++++++++++++++++++++++++++++++++++++++++-- docs/src/licfaq.dox | 8 ++++---- 3 files changed, 48 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 704f13b35..efef02712 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.7 +PROJECT_NUMBER = 1.5.8 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/docs/src/credits.dox b/docs/src/credits.dox index 28343dc14..bb65a625e 100644 --- a/docs/src/credits.dox +++ b/docs/src/credits.dox @@ -18,9 +18,50 @@ */ /** - * @page credits Credits - * @brief Contributors + * @page credits Copyright and Credits + * @brief Copyright and Credits * + *

          Copyright Statement

          +@verbatim + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. +@endverbatim + * + *

          Contributions and Copyright Assignment

          + * Contributing to the ChibiOS/RT project requires assigning the copyright + * on the contributed code to myself (Giovanni Di Sirio).
          + * There are several reasons for this requirement: + * - ChibiOS/RT will probably become also a commercial product and I could not + * re-license the code without ownership. Note that the commercial product + * would not be a different or better product, just the same GPL product + * made available, on request, under a different license. The code will + * always be available to you under the current licensing terms. + * - I need ownership when changing the licensing terms and this happens + * each time the project goes from development/unstable to stable and + * back because the addition/removal of the GPL linking exception. + * - It will be easier for the project adopters to have a single ownership + * point in case of licensing issues (both GPL or commercial). + * - Losing the ownership on the code could preclude me the opportunity to + * make this project a full time job as I hope. + * - I definitely don't want to have to sort out copyright related issues + * in the future so better be clear than sorry. + * . + * Note that contributions will always be welcome even without such copyright + * assignment, the difference is that the contributed code would not be + * merged into the main line, it will still made available as contributed + * code with the contributor(s) copyright notice intact.
          + * Submissions of code with copyright notice should only happen through + * email, please do not commit code with copyright notices directly on + * the repository.
          + * When submitting code please state clearly your intention to keep the + * copyright on your work by adding your own copyright notice within the + * source code and by clearly mentioning your intentions in the message. Code + * contributed without copyright notice will be considered donated.
          + * If in doubt with licensing issues please don't hesitate to contact me + * in order to sort out any problem you may have.
          + * Of course the copyright assignment does not mean you would not be + * recognized for your hard work, see the following section. + * + *

          Credits

          * I want to thank to all the people that directly or indirectly contributed * to the project, I beg pardon if someone is missing: * - Adamo Reggiani, working on the Fujitsu port. diff --git a/docs/src/licfaq.dox b/docs/src/licfaq.dox index ff8ccae0d..f2563134c 100644 --- a/docs/src/licfaq.dox +++ b/docs/src/licfaq.dox @@ -47,8 +47,8 @@ * . * - Is the exception applicable to any ChibiOS/RT version ?
          * The exception is valid only for ChibiOS/RT releases marked as @e stable. - * Beta or unstable versions are covered by the GPL3 alone because are meant - * for testing only. + * Beta, unstable or development versions are covered by the GPL3 alone + * because are meant for testing only. * - I don't want to be bound by any of the above restriction, is this * possible?
          * You may contact us about a commercial license. @@ -90,7 +90,7 @@ in this paragraph. -# The files of Non-GPL Code may link to the unmodified ChibiOS/RT distribution files contained under: - ./os/kernel/src - - ./os/hal/sec + - ./os/hal/src - ./os/hal/platforms - ./os/various . @@ -116,4 +116,4 @@ Program code and other code used in conjunction with the Program except the Non-GPL Code covered by this exception. * */ - + -- cgit v1.2.3 From 4e1bba17e9910a45e35c835246403160c5b80015 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 24 May 2010 18:38:29 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1953 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/credits.dox | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/credits.dox b/docs/src/credits.dox index bb65a625e..4e3249922 100644 --- a/docs/src/credits.dox +++ b/docs/src/credits.dox @@ -27,9 +27,12 @@ @endverbatim * *

          Contributions and Copyright Assignment

          - * Contributing to the ChibiOS/RT project requires assigning the copyright - * on the contributed code to myself (Giovanni Di Sirio).
          - * There are several reasons for this requirement: + * If you plan to contribute code to the ChibiOS/RT project then there is a + * requirement you should be aware of: contributing code for inclusion in + * the ChibiOS/RT main line requires assigning the copyright on the + * contributed code to me (Giovanni Di Sirio).
          + * This may sound a bit harsh but is pretty standard for this kind of projects, + * there are several reasons for this requirement: * - ChibiOS/RT will probably become also a commercial product and I could not * re-license the code without ownership. Note that the commercial product * would not be a different or better product, just the same GPL product -- cgit v1.2.3 From d1f6246ea7d25abd5834314b8966297a99d4f6ac Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 24 May 2010 18:47:03 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1954 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/credits.dox | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/src/credits.dox b/docs/src/credits.dox index 4e3249922..a40c6fadb 100644 --- a/docs/src/credits.dox +++ b/docs/src/credits.dox @@ -33,12 +33,13 @@ * contributed code to me (Giovanni Di Sirio).
          * This may sound a bit harsh but is pretty standard for this kind of projects, * there are several reasons for this requirement: - * - ChibiOS/RT will probably become also a commercial product and I could not - * re-license the code without ownership. Note that the commercial product - * would not be a different or better product, just the same GPL product - * made available, on request, under a different license. The code will - * always be available to you under the current licensing terms. - * - I need ownership when changing the licensing terms and this happens + * - ChibiOS/RT will probably also become a commercial product and it would + * not be possible to re-license the code without ownership. Note that the + * commercial product would not be a different or better product, just the + * same GPL product made available, on request, under a different license. + * The code will always be available to you under the current licensing + * terms. + * - Ownership is required when changing the licensing terms and this happens * each time the project goes from development/unstable to stable and * back because the addition/removal of the GPL linking exception. * - It will be easier for the project adopters to have a single ownership -- cgit v1.2.3 From 29d727356b71e0706a7069e41e70e1d5e885f4d3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 28 May 2010 13:43:00 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1960 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/articles.dox | 1 + docs/src/events.dox | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 docs/src/events.dox (limited to 'docs') diff --git a/docs/src/articles.dox b/docs/src/articles.dox index 42d1606ae..c34e34d43 100644 --- a/docs/src/articles.dox +++ b/docs/src/articles.dox @@ -40,6 +40,7 @@ * Articles and guides about ChibiOS/RT. * - @subpage article_integrationguide * - @subpage article_portguide + * - @subpage article_events * - @subpage article_debug * - @subpage article_stacks * - @subpage article_roundrobin diff --git a/docs/src/events.dox b/docs/src/events.dox new file mode 100644 index 000000000..22e4afec7 --- /dev/null +++ b/docs/src/events.dox @@ -0,0 +1,123 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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 3 of the License, or + (at your option) any later version. + + ChibiOS/RT 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, see . +*/ + +/** + * @page article_events Events Explained + * Events are an important feature in ChibiOS/RT, most device drivers generate + * events in order to notify the application that something happened at the + * I/O level.
          + * While event flags are not something unknown in other operating systems, + * their peculiar implementation in ChibiOS/RT requires a more in depth + * explanation.
          + * Lets start with the events related terminology: + * - Event Source, an @p EventSource is a system object that can be + * @a broadcasted asynchronously in response of a system event, as example, + * when the CAN driver receives a packet from the CAN bus it @a broadcasts + * an event source in order to inform the registered threads that a packet + * has just arrived. + * - Broadcast, the operation performed on an event source in order + * to inform the @a registered threads that an event just occurred. + * Broadcasting can happened both in interrupt handlers and in threads. + * - Event Listener, a system object that associates a @p Thread object + * to an event source. The process of associating a @p Thread to an + * @p EventSource using an @p EventListener is called @a registration. + * - Registration, action performed by a thread in order to be informed + * of events from a specific event source. Of course a thread can be + * @a registered on more than one event source by using multiple + * @p EventListener objects. Threads can also @a unregister from an event + * source. + * - Pend, each thread has a mask of @a pending events. The @a broadcast + * operation @a pends an event mask on all the @a registered threads. + * - Wait, synchronous operation performed by a thread in order to + * @a wait a specific combination of events. The API offers a variety of + * @a wait functions, please refer to the events API documentation. + * . + * Note that events are asynchronously generated, as example in an interrupt + * handler, but are synchronously served. + * + *

          Events related data structures

          + * The following diagram explains the relationship between an event source, + * its list of event listeners and the @a registered threads. + * @dot + digraph example { + rankdir="LR"; + + node [shape=rectangle, fontname=Helvetica, fontsize=8, + fixedsize="true", width="1.0", height="0.5"]; + edge [fontname=Helvetica, fontsize=8, sep=3.0]; + + es [shape=record, label="EventSource | es_next", style="bold"]; + + subgraph cluster_0 { + fontname=Helvetica; + label = "Listeners List"; + color = blue; + node [shape=record, fontname=Helvetica, fontsize=8, + fixedsize="true", width="1.5", height="1.0"]; + el4 [label="EventListener 4 | el_mask: 0x0001 | el_listener | el_next"]; + el3 [label="EventListener 3 | el_mask: 0x0C00 | el_listener | el_next"]; + el2 [label="EventListener 2 | el_mask: 0x0001 | el_listener | el_next"]; + el1 [label="EventListener 1 | el_mask: 0x0004 | el_listener | el_next"]; + el1 -> el2 -> el3 -> el4 [label=" el_next", constraint=false]; + } + + subgraph cluster_1 { + fontname=Helvetica; + label = "Registered Threads"; + color = blue; + node [shape=record, fontname=Helvetica, fontsize=8, + fixedsize="true", width="1.5", height="0.8"]; + t1 [label="Thread 1 | p_epending:0x0000 | p_ewmask:0xFFFF"]; + t2 [label="Thread 2 | p_epending:0x000F | p_ewmask:0x0C01"]; + t3 [label="Thread 3 | p_epending:0x0008 | p_ewmask:0x0001"]; + t4 [label="Thread 4 | p_epending:0x0000 | p_ewmask:0xFFFF"]; + } + + es -> el1 [label=" es_next"]; + el4 -> es [label=" el_next"]; + el1 -> t1 [label="el_listener"]; + el2 -> t2 [label="el_listener"]; + el3 -> t3 [label="el_listener"]; + el4 -> t4 [label="el_listener"]; + } + * @enddot + * Note that each event listener has a different bit mask to be @a pended on + * its associated thread when the event source is @a broadcasted, this means + * that each thread can define its own event identifiers independently. A + * @a broadcast operation can also @a pend more than one bit on the + * @a registered threads.
          + * The threads have a variety of @a wait primitives, they can @a wait for one + * or more event flags to become @a pending, and can also specify AND/OR + * conditions, as example a thread can @a wait for any event to become + * @a pending or @w wait for all the specified events to become @a pending.
          + * The field @p p_epending is the mask of the currently pending events, + * the field @p p_ewmask is the mask of the events the thread is interested + * on in that moment (AND or OR condition depending on the invoked + * @a wait API). + * + *

          Use Scenarios

          + * Events are best used when one of more of the following conditions are + * required: + * - Having to wait on multiple conditions, Events are the only mechanism + * that easily allow that. + * - Synchronous response to one or more asynchronous events. + * - Single threaded applications working in a event driver environment (but + * events are not limited to single threaded applications). + * . + */ -- cgit v1.2.3 From a5e0616537530926193d73c2e41bf780d4a55f05 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 29 May 2010 06:09:11 +0000 Subject: Added AT91SAM7S256 demo. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1961 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/credits.dox | 6 +++--- docs/src/events.dox | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/src/credits.dox b/docs/src/credits.dox index a40c6fadb..bcaebb046 100644 --- a/docs/src/credits.dox +++ b/docs/src/credits.dox @@ -31,8 +31,8 @@ * requirement you should be aware of: contributing code for inclusion in * the ChibiOS/RT main line requires assigning the copyright on the * contributed code to me (Giovanni Di Sirio).
          - * This may sound a bit harsh but is pretty standard for this kind of projects, - * there are several reasons for this requirement: + * This may sound a bit strange but is pretty standard for this kind of + * projects, there are several reasons for this requirement: * - ChibiOS/RT will probably also become a commercial product and it would * not be possible to re-license the code without ownership. Note that the * commercial product would not be a different or better product, just the @@ -66,7 +66,7 @@ * recognized for your hard work, see the following section. * *

          Credits

          - * I want to thank to all the people that directly or indirectly contributed + * I want to thank all the people that directly or indirectly contributed * to the project, I beg pardon if someone is missing: * - Adamo Reggiani, working on the Fujitsu port. * - Brian Weaver, STM8 port, STM8 and STM32 testing and improvements. diff --git a/docs/src/events.dox b/docs/src/events.dox index 22e4afec7..98ba8d55f 100644 --- a/docs/src/events.dox +++ b/docs/src/events.dox @@ -105,7 +105,7 @@ * The threads have a variety of @a wait primitives, they can @a wait for one * or more event flags to become @a pending, and can also specify AND/OR * conditions, as example a thread can @a wait for any event to become - * @a pending or @w wait for all the specified events to become @a pending.
          + * @a pending or @a wait for all the specified events to become @a pending.
          * The field @p p_epending is the mask of the currently pending events, * the field @p p_ewmask is the mask of the events the thread is interested * on in that moment (AND or OR condition depending on the invoked -- cgit v1.2.3 From dcf03f2c4438711637dac80b723be632bd7a605a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 29 May 2010 06:20:26 +0000 Subject: Version 1.5.8, release candidate 2 for version 2.0.0. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1962 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/credits.dox | 2 ++ docs/src/main.dox | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/src/credits.dox b/docs/src/credits.dox index bcaebb046..d0a40cb04 100644 --- a/docs/src/credits.dox +++ b/docs/src/credits.dox @@ -69,6 +69,8 @@ * I want to thank all the people that directly or indirectly contributed * to the project, I beg pardon if someone is missing: * - Adamo Reggiani, working on the Fujitsu port. + * - Alexander Kozaruk, AT91SAM7S256 demo and description files for + * the Olimex SAM7-P256 board. * - Brian Weaver, STM8 port, STM8 and STM32 testing and improvements. * - Egon Carusi, STM32 port improvements, testing and bug fixes. * - Enrico Cavazza, working on the Fujitsu port and a GUI subsystem. diff --git a/docs/src/main.dox b/docs/src/main.dox index 49bf41741..e5872cdf5 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -58,8 +58,8 @@ * driver models and device driver implementations. * . *

          Related pages

          - * - @subpage lic_faq * - @subpage credits + * - @subpage lic_faq * - @subpage goals * - @subpage target * - @subpage architecture -- cgit v1.2.3 From bf019ef89dcbb31160f8c7dd4a4a2dc3f2ee1a22 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 May 2010 10:35:14 +0000 Subject: Fixed bug 3009145. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1972 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index efef02712..d3fcde64e 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.8 +PROJECT_NUMBER = 1.5.9 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 4ee79187645d1a2687f81de3f19320acbce733c8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 2 Jun 2010 11:17:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1982 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 1e29c5269..7f28feee6 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9576 +Kernel Size = 9572 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9092 +Kernel Size = 9088 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5748 +Kernel Size = 5752 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5280 +Kernel Size = 5284 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5060 +Kernel Size = 5064 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4872 +Kernel Size = 4876 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8380 +Kernel Size = 8388 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7928 +Kernel Size = 7936 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -164,13 +164,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8100 +Kernel Size = 8108 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7660 +Kernel Size = 7668 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5604 +Kernel Size = 5608 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5396 +Kernel Size = 5400 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5456 +Kernel Size = 5460 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.0 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5264 +Kernel Size = 5268 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -272,13 +272,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5556 +Kernel Size = 5544 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5032 +Kernel Size = 5008 Platform : MSP430 OS Setup : Minimal kernel @@ -290,13 +290,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5492 +Kernel Size = 5480 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4988 +Kernel Size = 4964 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From b2db83ef52aa6668193bdc71a88b81d3aefefea0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 2 Jun 2010 11:34:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1983 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S208-16.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM8S208-16.txt b/docs/reports/STM8S208-16.txt index 6cf66f335..0c6ddb59d 100644 --- a/docs/reports/STM8S208-16.txt +++ b/docs/reports/STM8S208-16.txt @@ -6,7 +6,7 @@ Compiler: Raisonance RKit-STM8_2.28.10.0092 *** ChibiOS/RT test suite *** -*** Kernel: 1.5.7unstable +*** Kernel: 1.5.9unstable *** Architecture: STM8 *** Platform: STM8x *** Test Board: Raisonance REva V3 + STM8S208RB @@ -67,31 +67,31 @@ Compiler: Raisonance RKit-STM8_2.28.10.0092 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 31156 msgs/S, 62312 ctxswc/S +--- Score : 31277 msgs/S, 62554 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24035 msgs/S, 48070 ctxswc/S +--- Score : 24107 msgs/S, 48214 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24035 msgs/S, 48070 ctxswc/S +--- Score : 24107 msgs/S, 48214 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 108456 ctxswc/S +--- Score : 108544 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 17186 threads/S +--- Score : 17261 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 26073 threads/S +--- Score : 26116 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 6884 reschedules/S, 41304 ctxswc/S +--- Score : 6919 reschedules/S, 41514 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) @@ -99,19 +99,19 @@ Compiler: Raisonance RKit-STM8_2.28.10.0092 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 65072 bytes/S +--- Score : 64416 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 55670 timers/S +--- Score : 55770 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 220452 wait+signal/S +--- Score : 211692 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, RAM footprint) ---- System: 179 bytes +--- System: 177 bytes --- Thread: 29 bytes --- Timer : 10 bytes --- Semaph: 6 bytes -- cgit v1.2.3 From c07c8ab6df0cb5758747847d4fb2c47f833201f9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 12 Jun 2010 05:56:13 +0000 Subject: Fixed bug 3015109. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2011 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d3fcde64e..a36862b53 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.9 +PROJECT_NUMBER = 2.1.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From eee0672c0a2da8eae066ca32ac19fa6f974876bb Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 14 Jun 2010 12:24:25 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2018 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/SPC563M64-80.txt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/reports/SPC563M64-80.txt b/docs/reports/SPC563M64-80.txt index 47de46ff8..2a4f8ddad 100644 --- a/docs/reports/SPC563M64-80.txt +++ b/docs/reports/SPC563M64-80.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled *** ChibiOS/RT test suite *** -*** Kernel: 1.5.4unstable +*** Kernel: 2.1.0unstable *** GCC Version: 4.4.1 *** Architecture: PowerPC *** Core Variant: e200z3 @@ -85,6 +85,9 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -92,7 +95,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 278228 msgs/S, 556456 ctxswc/S +--- Score : 281168 msgs/S, 562336 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -104,7 +107,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 895976 ctxswc/S +--- Score : 907432 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) @@ -112,7 +115,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 260954 threads/S +--- Score : 263538 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) @@ -120,7 +123,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 614136 ctxswc/S +--- Score : 614140 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -128,11 +131,11 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 1093666 timers/S +--- Score : 1093664 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 1027012 wait+signal/S +--- Score : 1027008 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) -- cgit v1.2.3 From 0970c44b086287eac3c6c147a390fddb0f9de552 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 15 Jun 2010 17:19:01 +0000 Subject: Fixed bug 3016619. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2021 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/ATmega128-16.txt | 49 ++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 29 deletions(-) (limited to 'docs') diff --git a/docs/reports/ATmega128-16.txt b/docs/reports/ATmega128-16.txt index ff5a4a97d..1228d019c 100644 --- a/docs/reports/ATmega128-16.txt +++ b/docs/reports/ATmega128-16.txt @@ -5,9 +5,12 @@ Settings: F_CPU=16000000 *** ChibiOS/RT test suite *** -*** Kernel: 1.3.5unstable -*** Architecture: AVR +*** Kernel: 2.1.0unstable *** GCC Version: 4.3.0 +*** Architecture: AVR +*** Core Variant: MegaAVR +*** Platform: ATmega128 +*** Test Board: Olimex AVR-MT-128 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -70,18 +73,6 @@ Settings: F_CPU=16000000 --- Test Case 6.3 (Events, timeouts) --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, queue/dequeue) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) ---- Result: SUCCESS ----------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -89,56 +80,56 @@ Settings: F_CPU=16000000 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 30808 msgs/S, 61616 ctxswc/S +--- Score : 31248 msgs/S, 62496 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24579 msgs/S, 49158 ctxswc/S +--- Score : 25058 msgs/S, 50116 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24579 msgs/S, 49158 ctxswc/S +--- Score : 25058 msgs/S, 50116 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 88608 ctxswc/S +--- Score : 89904 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 20741 threads/S +--- Score : 20805 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 26561 threads/S +--- Score : 26709 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 7786 reschedulations/S, 46716 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 7970 reschedules/S, 47820 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 67756 reschedulations/S, 67756 ctxswc/S +--- Score : 60756 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 82224 bytes/S +--- Score : 82696 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 81482 timers/S +--- Score : 81522 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 224224 wait+signal/S +--- Score : 227560 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 119304 lock+unlock/S +--- Score : 117588 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 220 bytes ---- Thread: 27 bytes +--- System: 230 bytes +--- Thread: 29 bytes --- Timer : 10 bytes --- Semaph: 5 bytes --- EventS: 2 bytes -- cgit v1.2.3 From fe292af06d48b5d42b0dd8fcb594b5a9c4668144 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 21 Jun 2010 16:52:51 +0000 Subject: Fixed bug 3019099. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2027 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index cf20a8f42..d2ff57904 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.7unstable +*** Kernel: 2.1.0unstable *** GCC Version: 4.5.0 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -95,7 +95,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 250283 msgs/S, 500566 ctxswc/S +--- Score : 250284 msgs/S, 500568 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -107,7 +107,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 838936 ctxswc/S +--- Score : 838944 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) @@ -119,11 +119,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 62250 reschedules/S, 373500 ctxswc/S +--- Score : 62305 reschedules/S, 373830 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 481288 ctxswc/S +--- Score : 481292 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -139,7 +139,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 638608 lock+unlock/S +--- Score : 601192 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From f115fa2321518d4f6297a252415c8f1df45a8234 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 22 Jun 2010 16:58:23 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2033 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index d2ff57904..9e6785238 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -107,7 +107,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 838944 ctxswc/S +--- Score : 838936 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) @@ -143,7 +143,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 324 bytes +--- System: 340 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From 28437e3058e78509ac7f692b80cf8ffd04db1a9b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 22 Jun 2010 18:07:34 +0000 Subject: Fixed bug 3019738. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2034 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 9e6785238..a221ec289 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -95,35 +95,35 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 250284 msgs/S, 500568 ctxswc/S +--- Score : 252041 msgs/S, 504082 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 203498 msgs/S, 406996 ctxswc/S +--- Score : 204649 msgs/S, 409298 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 203498 msgs/S, 406996 ctxswc/S +--- Score : 204649 msgs/S, 409298 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 838936 ctxswc/S +--- Score : 848856 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 159280 threads/S +--- Score : 160345 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 228043 threads/S +--- Score : 230238 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 62305 reschedules/S, 373830 ctxswc/S +--- Score : 62631 reschedules/S, 375786 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 481292 ctxswc/S +--- Score : 484540 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From 88bea4b8c200fad936c063718289250ce49cda61 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 25 Jun 2010 08:55:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2038 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 + docs/reports/STM8S105-16-Cosmic.txt | 158 ++++++++++++++++++++++++++++++++ docs/reports/STM8S105-16-Raisonance.txt | 158 ++++++++++++++++++++++++++++++++ 3 files changed, 317 insertions(+) create mode 100644 docs/reports/STM8S105-16-Cosmic.txt create mode 100644 docs/reports/STM8S105-16-Raisonance.txt (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index a36862b53..560912bd5 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -608,6 +608,7 @@ INPUT = ../docs/src \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ + ../os/ports/cosmic/STM8 \ ../os/ports/RC/STM8 \ ../os/hal \ ../os/hal/include \ diff --git a/docs/reports/STM8S105-16-Cosmic.txt b/docs/reports/STM8S105-16-Cosmic.txt new file mode 100644 index 000000000..40926be0f --- /dev/null +++ b/docs/reports/STM8S105-16-Cosmic.txt @@ -0,0 +1,158 @@ +*************************************************************************** +Options: Optimized for speed +Settings: CPUCLK=16MHz (HSI) +Compiler: Cosmic STM8 compiler 4.3.3.3. +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 1.5.8unstable +*** Architecture: STM8 +*** Platform: STM8x +*** Test Board: ST STM8S-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 36081 msgs/S, 72162 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 28594 msgs/S, 57188 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 28594 msgs/S, 57188 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 138392 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 20867 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 32356 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 9234 reschedules/S, 55404 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 70960 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 89420 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 72654 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 291932 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 147316 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 218 bytes +--- Thread: 32 bytes +--- Timer : 10 bytes +--- Semaph: 5 bytes +--- EventS: 2 bytes +--- EventL: 5 bytes +--- Mutex : 8 bytes +--- CondV.: 4 bytes +--- Queue : 15 bytes +--- MailB.: 18 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM8S105-16-Raisonance.txt b/docs/reports/STM8S105-16-Raisonance.txt new file mode 100644 index 000000000..e65e9014f --- /dev/null +++ b/docs/reports/STM8S105-16-Raisonance.txt @@ -0,0 +1,158 @@ +*************************************************************************** +Options: Optimized for speed +Settings: CPUCLK=16MHz (HSI) +Compiler: Raisonance RKit-STM8_2.28.10.0092 +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 1.5.8unstable +*** Architecture: STM8 +*** Platform: STM8x +*** Test Board: ST STM8S-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 31524 msgs/S, 63048 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 24143 msgs/S, 48286 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 24143 msgs/S, 48286 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 110424 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 17149 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 25946 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 6971 reschedules/S, 41826 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 54880 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 63392 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 55688 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 216712 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 114572 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 214 bytes +--- Thread: 32 bytes +--- Timer : 10 bytes +--- Semaph: 5 bytes +--- EventS: 2 bytes +--- EventL: 5 bytes +--- Mutex : 8 bytes +--- CondV.: 4 bytes +--- Queue : 15 bytes +--- MailB.: 18 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 487e1a45ad72859f2f07bbbbb165ed9ad4f8e7d7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 26 Jun 2010 10:12:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2042 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S105-16-Cosmic.txt | 20 ++++++++++---------- docs/reports/STM8S105-16-Raisonance.txt | 22 +++++++++++----------- 2 files changed, 21 insertions(+), 21 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM8S105-16-Cosmic.txt b/docs/reports/STM8S105-16-Cosmic.txt index 40926be0f..dc43056be 100644 --- a/docs/reports/STM8S105-16-Cosmic.txt +++ b/docs/reports/STM8S105-16-Cosmic.txt @@ -6,7 +6,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. *** ChibiOS/RT test suite *** -*** Kernel: 1.5.8unstable +*** Kernel: 2.1.0unstable *** Architecture: STM8 *** Platform: STM8x *** Test Board: ST STM8S-Discovery @@ -94,15 +94,15 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 36081 msgs/S, 72162 ctxswc/S +--- Score : 36244 msgs/S, 72488 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 28594 msgs/S, 57188 ctxswc/S +--- Score : 28697 msgs/S, 57394 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 28594 msgs/S, 57188 ctxswc/S +--- Score : 28697 msgs/S, 57394 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -110,7 +110,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 20867 threads/S +--- Score : 20894 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) @@ -118,15 +118,15 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 9234 reschedules/S, 55404 ctxswc/S +--- Score : 9299 reschedules/S, 55794 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 70960 ctxswc/S +--- Score : 71596 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 89420 bytes/S +--- Score : 91500 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) @@ -134,11 +134,11 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 291932 wait+signal/S +--- Score : 293272 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 147316 lock+unlock/S +--- Score : 141764 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM8S105-16-Raisonance.txt b/docs/reports/STM8S105-16-Raisonance.txt index e65e9014f..77974e0c5 100644 --- a/docs/reports/STM8S105-16-Raisonance.txt +++ b/docs/reports/STM8S105-16-Raisonance.txt @@ -6,7 +6,7 @@ Compiler: Raisonance RKit-STM8_2.28.10.0092 *** ChibiOS/RT test suite *** -*** Kernel: 1.5.8unstable +*** Kernel: 2.1.0unstable *** Architecture: STM8 *** Platform: STM8x *** Test Board: ST STM8S-Discovery @@ -98,11 +98,11 @@ Compiler: Raisonance RKit-STM8_2.28.10.0092 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24143 msgs/S, 48286 ctxswc/S +--- Score : 24253 msgs/S, 48506 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24143 msgs/S, 48286 ctxswc/S +--- Score : 24253 msgs/S, 48506 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -110,35 +110,35 @@ Compiler: Raisonance RKit-STM8_2.28.10.0092 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 17149 threads/S +--- Score : 17186 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 25946 threads/S +--- Score : 25904 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 6971 reschedules/S, 41826 ctxswc/S +--- Score : 6974 reschedules/S, 41844 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 54880 ctxswc/S +--- Score : 55108 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 63392 bytes/S +--- Score : 62908 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 55688 timers/S +--- Score : 55786 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 216712 wait+signal/S +--- Score : 217448 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 114572 lock+unlock/S +--- Score : 114368 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From a2d796acefbf2f32ee67403239a577988d04ca68 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Jul 2010 06:50:42 +0000 Subject: Updated STM8 scores using the latest RKit, there is a general improvement. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2046 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S105-16-Raisonance.txt | 26 +++++++++++++------------- docs/reports/STM8S208-16.txt | 32 ++++++++++++++++---------------- 2 files changed, 29 insertions(+), 29 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM8S105-16-Raisonance.txt b/docs/reports/STM8S105-16-Raisonance.txt index 77974e0c5..f02838791 100644 --- a/docs/reports/STM8S105-16-Raisonance.txt +++ b/docs/reports/STM8S105-16-Raisonance.txt @@ -1,7 +1,7 @@ *************************************************************************** Options: Optimized for speed Settings: CPUCLK=16MHz (HSI) -Compiler: Raisonance RKit-STM8_2.28.10.0092 +Compiler: Raisonance RKit-STM8_2.30.10.0175 *************************************************************************** *** ChibiOS/RT test suite @@ -94,51 +94,51 @@ Compiler: Raisonance RKit-STM8_2.28.10.0092 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 31524 msgs/S, 63048 ctxswc/S +--- Score : 32031 msgs/S, 64062 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24253 msgs/S, 48506 ctxswc/S +--- Score : 24553 msgs/S, 49106 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24253 msgs/S, 48506 ctxswc/S +--- Score : 24553 msgs/S, 49106 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 110424 ctxswc/S +--- Score : 110712 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 17186 threads/S +--- Score : 18000 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 25904 threads/S +--- Score : 27846 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 6974 reschedules/S, 41844 ctxswc/S +--- Score : 7067 reschedules/S, 42402 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 55108 ctxswc/S +--- Score : 54880 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 62908 bytes/S +--- Score : 63540 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 55786 timers/S +--- Score : 57702 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 217448 wait+signal/S +--- Score : 216720 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 114368 lock+unlock/S +--- Score : 123188 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM8S208-16.txt b/docs/reports/STM8S208-16.txt index 0c6ddb59d..144b5b253 100644 --- a/docs/reports/STM8S208-16.txt +++ b/docs/reports/STM8S208-16.txt @@ -1,12 +1,12 @@ *************************************************************************** Options: Optimized for speed (3) Settings: CPUCLK=16MHz (HSI) -Compiler: Raisonance RKit-STM8_2.28.10.0092 +Compiler: Raisonance RKit-STM8_2.30.10.0175 *************************************************************************** *** ChibiOS/RT test suite *** -*** Kernel: 1.5.9unstable +*** Kernel: 2.1.0unstable *** Architecture: STM8 *** Platform: STM8x *** Test Board: Raisonance REva V3 + STM8S208RB @@ -67,57 +67,57 @@ Compiler: Raisonance RKit-STM8_2.28.10.0092 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 31277 msgs/S, 62554 ctxswc/S +--- Score : 32031 msgs/S, 64062 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24107 msgs/S, 48214 ctxswc/S +--- Score : 24553 msgs/S, 49106 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24107 msgs/S, 48214 ctxswc/S +--- Score : 24553 msgs/S, 49106 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 108544 ctxswc/S +--- Score : 110712 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 17261 threads/S +--- Score : 18102 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 26116 threads/S +--- Score : 28091 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 6919 reschedules/S, 41514 ctxswc/S +--- Score : 7067 reschedules/S, 42402 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 54552 ctxswc/S +--- Score : 54880 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 64416 bytes/S +--- Score : 63540 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 55770 timers/S +--- Score : 57788 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 211692 wait+signal/S +--- Score : 216720 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, RAM footprint) ---- System: 177 bytes +--- System: 208 bytes --- Thread: 29 bytes --- Timer : 10 bytes ---- Semaph: 6 bytes +--- Semaph: 5 bytes --- EventS: 2 bytes --- EventL: 5 bytes ---- Queue : 16 bytes +--- Queue : 15 bytes --- Result: SUCCESS ---------------------------------------------------------------------------- -- cgit v1.2.3 From 2e7bca6cc8e2d7f5e8675895ddcf3e4f89d8e28d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Jul 2010 07:02:34 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2047 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index a221ec289..dc2337f4c 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -127,7 +127,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 487684 bytes/S +--- Score : 491216 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) -- cgit v1.2.3 From cffbb9b25bc3f2319cb508e47e5d4dcbd1bb5793 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Jul 2010 07:05:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2048 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S208-16-Raisonance.txt | 124 ++++++++++++++++++++++++++++++++ docs/reports/STM8S208-16.txt | 124 -------------------------------- 2 files changed, 124 insertions(+), 124 deletions(-) create mode 100644 docs/reports/STM8S208-16-Raisonance.txt delete mode 100644 docs/reports/STM8S208-16.txt (limited to 'docs') diff --git a/docs/reports/STM8S208-16-Raisonance.txt b/docs/reports/STM8S208-16-Raisonance.txt new file mode 100644 index 000000000..144b5b253 --- /dev/null +++ b/docs/reports/STM8S208-16-Raisonance.txt @@ -0,0 +1,124 @@ +*************************************************************************** +Options: Optimized for speed (3) +Settings: CPUCLK=16MHz (HSI) +Compiler: Raisonance RKit-STM8_2.30.10.0175 +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.0unstable +*** Architecture: STM8 +*** Platform: STM8x +*** Test Board: Raisonance REva V3 + STM8S208RB + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 32031 msgs/S, 64062 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 24553 msgs/S, 49106 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 24553 msgs/S, 49106 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 110712 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 18102 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 28091 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 7067 reschedules/S, 42402 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 54880 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 63540 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 57788 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 216720 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, RAM footprint) +--- System: 208 bytes +--- Thread: 29 bytes +--- Timer : 10 bytes +--- Semaph: 5 bytes +--- EventS: 2 bytes +--- EventL: 5 bytes +--- Queue : 15 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM8S208-16.txt b/docs/reports/STM8S208-16.txt deleted file mode 100644 index 144b5b253..000000000 --- a/docs/reports/STM8S208-16.txt +++ /dev/null @@ -1,124 +0,0 @@ -*************************************************************************** -Options: Optimized for speed (3) -Settings: CPUCLK=16MHz (HSI) -Compiler: Raisonance RKit-STM8_2.30.10.0175 -*************************************************************************** - -*** ChibiOS/RT test suite -*** -*** Kernel: 2.1.0unstable -*** Architecture: STM8 -*** Platform: STM8x -*** Test Board: Raisonance REva V3 + STM8S208RB - ----------------------------------------------------------------------------- ---- Test Case 1.1 (Threads, enqueuing test #1) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.2 (Threads, enqueuing test #2) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.3 (Threads, priority change) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.4 (Threads, delays) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.3 (Semaphores, atomic signal-wait) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, loop) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.1 (Events, registration and dispatch) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.2 (Events, wait and broadcast) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.3 (Events, timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, queue/dequeue) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.3 (Dynamic APIs, registry and references) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.1 (Queues, input queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.2 (Queues, output queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, messages #1) ---- Score : 32031 msgs/S, 64062 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24553 msgs/S, 49106 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24553 msgs/S, 49106 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, context switch) ---- Score : 110712 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 18102 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 28091 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 7067 reschedules/S, 42402 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 54880 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 63540 bytes/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 57788 timers/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 216720 wait+signal/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.12 (Benchmark, RAM footprint) ---- System: 208 bytes ---- Thread: 29 bytes ---- Timer : 10 bytes ---- Semaph: 5 bytes ---- EventS: 2 bytes ---- EventL: 5 bytes ---- Queue : 15 bytes ---- Result: SUCCESS ----------------------------------------------------------------------------- - -Final result: SUCCESS -- cgit v1.2.3 From 3efae5da4a8da8a0d76db680f9031887eb9bc9a2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 3 Jul 2010 07:53:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2051 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 560912bd5..161188400 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -608,7 +608,6 @@ INPUT = ../docs/src \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ - ../os/ports/cosmic/STM8 \ ../os/ports/RC/STM8 \ ../os/hal \ ../os/hal/include \ @@ -682,6 +681,8 @@ RECURSIVE = NO # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ + ../os/hal/platforms/STM8/stm8s.h \ + ../os/hal/platforms/STM8/stm8s_type.h \ ../os/hal/platforms/LPC11xx/LPC11xx.h \ ../os/hal/platforms/LPC11xx/system_LPC11xx.h \ ../os/hal/platforms/LPC13xx/LPC13xx.h \ -- cgit v1.2.3 From 646ff1e1d915261b7403bccf28264127bdedf6cc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 5 Jul 2010 19:51:29 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2056 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 161188400..9effb593d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.1.0 +PROJECT_NUMBER = 2.1.1 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 17bd98c1fa7948c0b9df0aab555db9a8c1062f45 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 12 Jul 2010 08:49:55 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2073 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/architecture.dox | 15 ++++++++++++++- docs/src/createthread.dox | 2 +- docs/src/memory.dox | 2 +- docs/src/portguide.dox | 6 +++--- 4 files changed, 19 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/src/architecture.dox b/docs/src/architecture.dox index d9a512b10..e5a73239e 100644 --- a/docs/src/architecture.dox +++ b/docs/src/architecture.dox @@ -59,6 +59,7 @@ Platform [label="Platform"]; Kernel [label="Kernel"]; Port [label="Port"]; + Board [label="Board Setup"]; HW [label="Hardware", style="filled", width="3.0", height="0.3"]; Application -> Kernel; @@ -66,9 +67,12 @@ Application -> HW [label=" (not recommended)"]; HAL -> Platform; HAL -> Kernel; + Board -> HW; Platform -> Kernel; + Platform -> Board; Platform -> HW; Kernel -> Port; + Port -> Board [label="Optional", style="dotted"]; Port -> HW; } * @enddot @@ -119,7 +123,7 @@ * @dot digraph example { node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1.0", height="0.25"]; + fixedsize="true", width="1.1", height="0.25"]; edge [fontname=Helvetica, fontsize=8]; Semaphores -> Scheduler; @@ -128,6 +132,7 @@ Condvars -> Mutexes; Events -> Scheduler; Messages -> Scheduler; + "Binary Semaphores" -> Semaphores; Mailboxes -> Semaphores; } * @enddot @@ -151,17 +156,25 @@ fixedsize="true", width="1.0", height="0.25"]; edge [fontname=Helvetica, fontsize=8]; + Application [label="Application", width="2.0"]; + RAM [label="RAM", style="filled", width="2.0"]; Core [label="Core Allocator"]; Dynamic [label="Dynamic Threads"]; Heaps [label="Dynamic Heaps"]; Pools [label="Memory Pools"]; C [label="C-runtime"]; + Application -> Dynamic; + Application -> Heaps; + Application -> Pools; + Application -> C [label="(not recommended)"]; + Application -> Core; Dynamic -> Heaps; Dynamic -> Pools; Heaps -> Core; Pools -> Core; C -> Core; + Core -> RAM } * @enddot * Please also see the article @ref article_manage_memory. diff --git a/docs/src/createthread.dox b/docs/src/createthread.dox index 8bbd74a2d..f3b8e8362 100644 --- a/docs/src/createthread.dox +++ b/docs/src/createthread.dox @@ -147,7 +147,7 @@ int main(int argc, char *argv[]) { } * @endcode * - *

          Creating a dynamic thread using the heap allocator

          + *

          Creating a dynamic thread using the memory pool allocator

          * A pool is a collection of equally sized memory blocks, creating a thread from * a memry pool is very similar to the previous example but the memory of * terminated threads is returned to the memory pool rather than to a heap: diff --git a/docs/src/memory.dox b/docs/src/memory.dox index 1bd39b266..f41dff32f 100644 --- a/docs/src/memory.dox +++ b/docs/src/memory.dox @@ -126,7 +126,7 @@ *
          * When designing a system it is recommended to proceed as follow: * -# Use static objects and initializers whenever possible. - * -# Where dynamic allocation is required without have to free the allocated + * -# Where dynamic allocation is required without having to free the allocated * memory then use the Core Memory Manager allocation APIs. * -# Where dynamic allocation is required evaluate if one or more memory * pools can be used. diff --git a/docs/src/portguide.dox b/docs/src/portguide.dox index 170ca75a3..087724084 100644 --- a/docs/src/portguide.dox +++ b/docs/src/portguide.dox @@ -78,7 +78,7 @@ * core (a common example: ARM7) of a supported microcontroller but has * differences in the internal peripherals.
          * If this is your case proceed as follow: - * -# Create a new directory under @p ./os/io/platforms and + * -# Create a new directory under @p ./os/hal/platforms and * name it with the microcontroller name (or family name).
          * In case of the ARM-based microcontroller you also need to create a * equally named directory under @@ -87,11 +87,11 @@ * see the existing ports as example. * -# Copy into the newly created directory the most closely related existing * chip port or the naked template files from - * @p ./os/io/templates. + * @p ./os/hal/templates. * -# Work out the differences in the drivers or implement them if you started * from the templates. * -# Edit/create the documentation file @p platform.dox, this - * is required if you want to regenerate this documentation including + * is only required if you want to regenerate this documentation including * your work. * . * Usually this kind of port just requires a serial driver (and those are very -- cgit v1.2.3 From ec495f424c4e1d5dee0e367691d2e6b3cb07d3b1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 12 Jul 2010 18:49:13 +0000 Subject: Fixed a cosmic/STM8 documentation problem in the Doxyfile. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2078 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 9effb593d..5cd411f0d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -608,6 +608,7 @@ INPUT = ../docs/src \ ../os/ports/GCC/PPC \ ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ + ../os/ports/cosmic/STM8 \ ../os/ports/RC/STM8 \ ../os/hal \ ../os/hal/include \ -- cgit v1.2.3 From d51bace3bbd74a0ef12a7ade39abe3e4e4c248fc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 1 Aug 2010 16:26:58 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2112 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 5cd411f0d..c9bfd41e8 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.1.1 +PROJECT_NUMBER = 2.1.2 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From beb42840f67fc88fb1d6ec1114684ca80bdbd9ef Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 7 Sep 2010 08:56:11 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2166 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index c9bfd41e8..bcf262453 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -614,6 +614,7 @@ INPUT = ../docs/src \ ../os/hal/include \ ../os/hal/src \ ../os/hal/templates \ + ../os/hal/platforms \ ../os/hal/platforms/AT91SAM7 \ ../os/hal/platforms/AVR \ ../os/hal/platforms/LPC11xx \ -- cgit v1.2.3 From 29c73be182b70fd08a44f1fb597a3eac6aff777d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 9 Sep 2010 14:54:43 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2170 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/architecture.dox | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/src/architecture.dox b/docs/src/architecture.dox index e5a73239e..d71a43fc8 100644 --- a/docs/src/architecture.dox +++ b/docs/src/architecture.dox @@ -109,7 +109,7 @@ * the kernel if not needed. * - @ref semaphores, counter semaphores subsystem. * - @ref mutexes, mutexes subsystem with support to the priority inheritance - * algorithm (fully implemented, any depht). + * algorithm (fully implemented, any depth). * - @ref condvars, condition variables, together with mutexes the condition * variables allow the implementation of monitor constructs. * - @ref events, event sources and event flags with flexible support for @@ -142,7 +142,7 @@ * by the other allocators in order to get chunks of memory in a consistent * way. * - @ref heaps, central heap manager using a first fit strategy, it also - * allow the creation of multiple heaps in order to handle non uniform + * allows the creation of multiple heaps in order to handle non uniform * memory areas. * - @ref pools, very fast fixed size objects allocator. * - @ref threads (dynamic), usually threads are static objects in ChibiOS/RT @@ -185,7 +185,7 @@ * stream interface. * - @ref io_queues, generic, byte wide, I/O queues APIs. * . - * - @ref debug, debug services and APIs. The @ref registry susystem can be + * - @ref debug, debug services and APIs. The @ref registry subsystem can be * seen as part of the debug category even if it finds use in non-debug * roles. * . -- cgit v1.2.3 From 6c3bddd257cc521db0d5bf5fb9524fdd234e038e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 18 Sep 2010 08:31:12 +0000 Subject: Fixed bug 3069854, fixed documentation article about events. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2180 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 30 +++++++++++++++--------------- docs/src/events.dox | 41 +++++++++++++++++++++-------------------- 2 files changed, 36 insertions(+), 35 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index dc2337f4c..1cac6cfe3 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,8 +5,8 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.0unstable -*** GCC Version: 4.5.0 +*** Kernel: 2.1.2unstable +*** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: STM32 MD @@ -95,55 +95,55 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 252041 msgs/S, 504082 ctxswc/S +--- Score : 248573 msgs/S, 497146 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 204649 msgs/S, 409298 ctxswc/S +--- Score : 201227 msgs/S, 402454 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 204649 msgs/S, 409298 ctxswc/S +--- Score : 201227 msgs/S, 402454 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 848856 ctxswc/S +--- Score : 839008 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 160345 threads/S +--- Score : 155165 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 230238 threads/S +--- Score : 223798 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 62631 reschedules/S, 375786 ctxswc/S +--- Score : 61138 reschedules/S, 366828 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 484540 ctxswc/S +--- Score : 478120 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 491216 bytes/S +--- Score : 465772 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647206 timers/S +--- Score : 647262 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 823472 wait+signal/S +--- Score : 787368 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 601192 lock+unlock/S +--- Score : 586492 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 340 bytes +--- System: 360 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes diff --git a/docs/src/events.dox b/docs/src/events.dox index 98ba8d55f..27de187e4 100644 --- a/docs/src/events.dox +++ b/docs/src/events.dox @@ -27,33 +27,34 @@ * explanation.
          * Lets start with the events related terminology: * - Event Source, an @p EventSource is a system object that can be - * @a broadcasted asynchronously in response of a system event, as example, - * when the CAN driver receives a packet from the CAN bus it @a broadcasts + * broadcasted asynchronously in response of a system event, as example, + * when the CAN driver receives a packet from the CAN bus it broadcasts * an event source in order to inform the registered threads that a packet * has just arrived. * - Broadcast, the operation performed on an event source in order - * to inform the @a registered threads that an event just occurred. + * to inform the registered threads that an event just occurred. * Broadcasting can happened both in interrupt handlers and in threads. * - Event Listener, a system object that associates a @p Thread object * to an event source. The process of associating a @p Thread to an - * @p EventSource using an @p EventListener is called @a registration. + * @p EventSource using an @p EventListener is called registration. * - Registration, action performed by a thread in order to be informed * of events from a specific event source. Of course a thread can be - * @a registered on more than one event source by using multiple - * @p EventListener objects. Threads can also @a unregister from an event + * registered on more than one event source by using multiple + * @p EventListener objects. Threads can also unregister from an event * source. - * - Pend, each thread has a mask of @a pending events. The @a broadcast - * operation @a pends an event mask on all the @a registered threads. + * - Pending Events, event flags waiting to be served by a thread. + * - Add, the broadcast operation adds (logical or) an events + * mask to all the registered threads. * - Wait, synchronous operation performed by a thread in order to - * @a wait a specific combination of events. The API offers a variety of - * @a wait functions, please refer to the events API documentation. + * wait a specific combination of events. The API offers a variety of + * wait functions, please refer to the events API documentation. * . * Note that events are asynchronously generated, as example in an interrupt * handler, but are synchronously served. * *

          Events related data structures

          * The following diagram explains the relationship between an event source, - * its list of event listeners and the @a registered threads. + * its list of event listeners and the registered threads. * @dot digraph example { rankdir="LR"; @@ -97,19 +98,19 @@ el4 -> t4 [label="el_listener"]; } * @enddot - * Note that each event listener has a different bit mask to be @a pended on - * its associated thread when the event source is @a broadcasted, this means + * Note that each event listener has a different bit mask to be added on + * its associated thread when the event source is broadcasted, this means * that each thread can define its own event identifiers independently. A - * @a broadcast operation can also @a pend more than one bit on the - * @a registered threads.
          - * The threads have a variety of @a wait primitives, they can @a wait for one - * or more event flags to become @a pending, and can also specify AND/OR - * conditions, as example a thread can @a wait for any event to become - * @a pending or @a wait for all the specified events to become @a pending.
          + * broadcast operation can also add more than one bit on the + * registered threads.
          + * The threads have a variety of wait primitives, they can wait for one + * or more event flags, and can also specify AND/OR conditions, as example + * a thread can wait for any of the specified events or wait for all the + * specified events.
          * The field @p p_epending is the mask of the currently pending events, * the field @p p_ewmask is the mask of the events the thread is interested * on in that moment (AND or OR condition depending on the invoked - * @a wait API). + * wait API). * *

          Use Scenarios

          * Events are best used when one of more of the following conditions are -- cgit v1.2.3 From fd9d0b74cacfeb38e223c13de25185ea713cad3d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 18 Sep 2010 10:08:34 +0000 Subject: Improvements to the concepts article. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2181 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/concepts.dox | 246 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 181 insertions(+), 65 deletions(-) (limited to 'docs') diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 9c09041a7..35c086506 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -36,7 +36,7 @@ * @a Mtx, @a Cond, @a Evt, @a Msg, @a SequentialStream, @a IO, @a IQ, @a OQ, * @a Dbg, @a Core, @a Heap, @a Pool. * - * @section api_suffixes API Names Suffixes + * @section api_suffixes API Name Suffixes * The suffix can be one of the following: * - None, APIs without any suffix can be invoked only from the user * code in the Normal state unless differently specified. See @@ -112,58 +112,104 @@ * real associated machine state on some architectures. The following diagram * shows the possible transitions between the states: * + * @if LATEX_PDF * @dot digraph example { - rankdir="LR"; - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - init [label="Init", style="bold"]; - norm [label="Normal", shape=doublecircle]; - susp [label="Suspended"]; - disab [label="Disabled"]; - slock [label="S-Locked"]; - ilock [label="I-Locked"]; - slock [label="S-Locked"]; - sleep [label="Sleep"]; - sri [label="SRI"]; - init -> norm [label="chSysInit()"]; - norm -> slock [label="chSysLock()", constraint=false]; - slock -> norm [label="chSysUnlock()"]; - norm -> susp [label="chSysSuspend()"]; - susp -> disab [label="chSysDisable()"]; - norm -> disab [label="chSysDisable()"]; - susp -> norm [label="chSysEnable()"]; - disab -> norm [label="chSysEnable()"]; - slock -> ilock [label="Context Switch", dir="both"]; - norm -> sri [label="Regular IRQ", style="dotted"]; - sri -> norm [label="Regular IRQ return", fontname=Helvetica, fontsize=8]; - sri -> ilock [label="chSysLockFromIsr()", constraint=false]; - ilock -> sri [label="chSysUnlockFromIsr()", fontsize=8]; - norm -> sleep [label="Idle Thread"]; - sleep -> sri [label="Regular IRQ", style="dotted"]; + size="5, 7"; + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + init [label="Init", style="bold"]; + norm [label="Normal", shape=doublecircle]; + susp [label="Suspended"]; + disab [label="Disabled"]; + slock [label="S-Locked"]; + ilock [label="I-Locked"]; + slock [label="S-Locked"]; + sleep [label="Sleep"]; + sri [label="SRI"]; + init -> norm [label="chSysInit()"]; + norm -> slock [label="chSysLock()", constraint=false]; + slock -> norm [label="chSysUnlock()"]; + norm -> susp [label="chSysSuspend()"]; + susp -> disab [label="chSysDisable()"]; + norm -> disab [label="chSysDisable()"]; + susp -> norm [label="chSysEnable()"]; + disab -> norm [label="chSysEnable()"]; + disab -> susp [label="chSysSuspend()"]; + slock -> ilock [label="Context Switch", dir="both"]; + norm -> sri [label="Regular IRQ", style="dotted"]; + sri -> norm [label="Regular IRQ return", fontname=Helvetica, fontsize=8]; + sri -> ilock [label="chSysLockFromIsr()", constraint=false]; + ilock -> sri [label="chSysUnlockFromIsr()", fontsize=8]; + norm -> sleep [label="Idle Thread"]; + sleep -> sri [label="Regular IRQ", style="dotted"]; + } + * @enddot + * @else + * @dot + digraph example { + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + init [label="Init", style="bold"]; + norm [label="Normal", shape=doublecircle]; + susp [label="Suspended"]; + disab [label="Disabled"]; + slock [label="S-Locked"]; + ilock [label="I-Locked"]; + slock [label="S-Locked"]; + sleep [label="Sleep"]; + sri [label="SRI"]; + init -> norm [label="chSysInit()"]; + norm -> slock [label="chSysLock()", constraint=false]; + slock -> norm [label="chSysUnlock()"]; + norm -> susp [label="chSysSuspend()"]; + susp -> disab [label="chSysDisable()"]; + norm -> disab [label="chSysDisable()"]; + susp -> norm [label="chSysEnable()"]; + disab -> norm [label="chSysEnable()"]; + disab -> susp [label="chSysSuspend()"]; + slock -> ilock [label="Context Switch", dir="both"]; + norm -> sri [label="Regular IRQ", style="dotted"]; + sri -> norm [label="Regular IRQ return", fontname=Helvetica, fontsize=8]; + sri -> ilock [label="chSysLockFromIsr()", constraint=false]; + ilock -> sri [label="chSysUnlockFromIsr()", fontsize=8]; + norm -> sleep [label="Idle Thread"]; + sleep -> sri [label="Regular IRQ", style="dotted"]; } * @enddot + * @endif * Note, the SFI, Halted and SNMI states were not shown * because those are reachable from most states: * * @dot digraph example { - rankdir="LR"; - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - any1 [label="Any State\nexcept *"]; - any2 [label="Any State"]; - sfi [label="SFI"]; - halt [label="Halted"]; - SNMI [label="SNMI"]; - any1 -> sfi [style="dotted", label="Fast IRQ"]; - sfi -> any1 [label="Fast IRQ return"]; - any2 -> halt [label="chSysHalt()"]; - any2 -> SNMI [label="Synchronous NMI"]; - any2 -> SNMI [label="Asynchronous NMI", style="dotted"]; - SNMI -> any2 [label="NMI return"]; - halt -> SNMI [label="Asynchronous NMI", style="dotted"]; - SNMI -> halt [label="NMI return"]; + size="5, 7"; + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + any1 [label="Any State\nexcept *"]; + sfi [label="SFI"]; + any1 -> sfi [style="dotted", label="Fast IRQ"]; + sfi -> any1 [label="Fast IRQ return"]; + } + * @enddot + * @dot + digraph example { + size="5, 7"; + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + any2 [label="Any State"]; + halt [label="Halted"]; + SNMI [label="SNMI"]; + any2 -> halt [label="chSysHalt()"]; + any2 -> SNMI [label="Synchronous NMI"]; + any2 -> SNMI [label="Asynchronous NMI", style="dotted"]; + SNMI -> any2 [label="NMI return"]; + halt -> SNMI [label="Asynchronous NMI", style="dotted"]; + SNMI -> halt [label="NMI return"]; } * @enddot * @attention * except: Init, Halt, SNMI, Disabled. @@ -174,8 +220,10 @@ * eligible for execution then they are executed in a round-robin way, the * CPU time slice constant is configurable. The ready list is a double linked * list of threads ordered by priority.

          + * @if LATEX_PDF * @dot digraph example { + size="5, 7"; rankdir="LR"; node [shape=square, fontname=Helvetica, fontsize=8, @@ -209,35 +257,99 @@ rh -> T3 -> Tm -> T2 -> T1 -> Ti -> rh [label="p_prev"]; } * @enddot + * @else + * @dot + digraph example { + rankdir="LR"; + + node [shape=square, fontname=Helvetica, fontsize=8, + fixedsize="true", width="0.6", height="0.5"]; + edge [fontname=Helvetica, fontsize=8]; + + subgraph cluster_running { + node [shape=square, fontname=Helvetica, fontsize=8, + fixedsize="true", width="0.6", height="0.5"]; + currp [label="'currp'\npointer", style="bold"]; + T4 [label="Tuser(4)\nprio=100"]; + label = "Currently Running Thread"; + penwidth = 0; + } + + subgraph cluster_rlist { + node [shape=square, fontname=Helvetica, fontsize=8, + fixedsize="true", width="0.6", height="0.5"]; + rh [label="ready list\nheader\nprio=0", style="bold"]; + Ti [label="Tidle\nprio=1"]; + Tm [label="Tmain\nprio=64"]; + T1 [label="Tuser(1)\nprio=32"]; + T2 [label="Tuser(2)\nprio=32"]; + T3 [label="Tuser(3)\nprio=80"]; + label = "Threads Ready for Execution"; + penwidth = 0; + } + + currp -> T4 + rh -> Ti -> T1 -> T2 -> Tm -> T3 -> rh [label="p_next"]; + rh -> T3 -> Tm -> T2 -> T1 -> Ti -> rh [label="p_prev"]; + } + * @enddot + * @endif *
          * Note that the currently running thread is not in the ready list, the list * only contains the threads ready to be executed but still actually waiting. * - * @section thread_states Threads States + * @section thread_states Thread States * The image shows how threads can change their state in ChibiOS/RT.
          + * @if LATEX_PDF + * @dot + digraph example { + size="5, 7"; + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + start [label="Start", style="bold"]; + run [label="Running"]; + ready [label="Ready"]; + suspend [label="Suspended"]; + sleep [label="Sleeping"]; + stop [label="Stop", style="bold"]; + start -> suspend [label="chThdInit()", constraint=false]; + start -> run [label="chThdCreate()"]; + start -> ready [label="chThdCreate()"]; + run -> ready [label="Reschedule", dir="both"]; + suspend -> run [label="chThdResume()"]; + suspend -> ready [label="chThdResume()"]; + run -> sleep [label="chSchGoSleepS()"]; + sleep -> run [label="chSchWakepuS()"]; + sleep -> ready [label="chSchWakepuS()"]; + run -> stop [label="chThdExit()"]; + } + * @enddot + * @else * @dot digraph example { - /*rankdir="LR";*/ - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - start [label="Start", style="bold"]; - run [label="Running"]; - ready [label="Ready"]; - suspend [label="Suspended"]; - sleep [label="Sleeping"]; - stop [label="Stop", style="bold"]; - start -> suspend [label="chThdInit()", constraint=false]; - start -> run [label="chThdCreate()"]; - start -> ready [label="chThdCreate()"]; - run -> ready [label="Reschedule", dir="both"]; - suspend -> run [label="chThdResume()"]; - suspend -> ready [label="chThdResume()"]; - run -> sleep [label="chSchGoSleepS()"]; - sleep -> run [label="chSchWakepS()"]; - sleep -> ready [label="chSchWakepS()"]; - run -> stop [label="chThdExit()"]; + rankdir="LR"; + node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; + edge [fontname=Helvetica, fontsize=8]; + start [label="Start", style="bold"]; + run [label="Running"]; + ready [label="Ready"]; + suspend [label="Suspended"]; + sleep [label="Sleeping"]; + stop [label="Stop", style="bold"]; + start -> suspend [label="chThdInit()", constraint=false]; + start -> run [label="chThdCreate()"]; + start -> ready [label="chThdCreate()"]; + run -> ready [label="Reschedule", dir="both"]; + suspend -> run [label="chThdResume()"]; + suspend -> ready [label="chThdResume()"]; + run -> sleep [label="chSchGoSleepS()"]; + sleep -> run [label="chSchWakepuS()"]; + sleep -> ready [label="chSchWakepuS()"]; + run -> stop [label="chThdExit()"]; } * @enddot + * @endif * * @section priority Priority Levels * Priorities in ChibiOS/RT are a contiguous numerical range but the initial @@ -261,13 +373,17 @@ * (inclusive) are reserved. This is the highest numerical value of the * priorities space. * . - * @section warea Threads Working Area + * @section warea Thread Working Area * Each thread has its own stack, a Thread structure and some preemption * areas. All the structures are allocated into a "Thread Working Area", * a thread private heap, usually statically declared in your code. * Threads do not use any memory outside the allocated working area * except when accessing static shared data.

          + * @if LATEX_PDF + * @image latex workspace.eps + * @else * @image html workspace.png + * @endif *
          * Note that the preemption area is only present when the thread is not * running (switched out), the context switching is done by pushing the -- cgit v1.2.3 From 07351222e6d0b6b3dcd4f50ecb18bc09e7402d1c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 21 Sep 2010 10:22:06 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2184 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index bcf262453..ee6752f5d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -189,7 +189,27 @@ TAB_SIZE = 2 # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. -ALIASES = +ALIASES = "iclass=@par Function Class:\n This is an \ + I-Class API, this function can be \ + invoked from within a system lock zone by both \ + threads and interrupt handlers." \ + "sclass=@par Function Class:\n This is an \ + S-Class API, this function can be \ + invoked from within a system lock zone by threads \ + only." \ + "api=@par Function Class:\n Normal API, this \ + function can be invoked by regular system threads \ + but not from within a lock zone." \ + "notapi=@par Function Class:\n Not an API, this \ + function is for internal use only." \ + "isr=@par Function Class:\n Interrupt handler, \ + this function should not be directly invoked." \ + "init=@par Function Class:\n Initializer, this \ + function just initializes an object and can be \ + invoked before the kernel is initialized." \ + "special=@par Function Class:\n Special function, \ + this function has special requirements see the \ + notes." # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. -- cgit v1.2.3 From 136c97ada2eba986a4a47fbc047ff91a32ede614 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 25 Sep 2010 06:17:07 +0000 Subject: Fixed bug 3075354. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2194 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 38ee9cc83..73b7d21bd 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,8 +5,8 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.7unstable -*** GCC Version: 4.5.0 +*** Kernel: 2.1.2unstable +*** GCC Version: 4.5.1 *** Architecture: ARM *** Core Variant: ARM7TDMI *** Platform: AT91SAM7x @@ -95,51 +95,51 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 109404 msgs/S, 218808 ctxswc/S +--- Score : 114670 msgs/S, 229340 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 83877 msgs/S, 167754 ctxswc/S +--- Score : 89883 msgs/S, 179766 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 83877 msgs/S, 167754 ctxswc/S +--- Score : 89883 msgs/S, 179766 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 360160 ctxswc/S +--- Score : 380272 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 64434 threads/S +--- Score : 65594 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 94114 threads/S +--- Score : 93394 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 25788 reschedules/S, 154728 ctxswc/S +--- Score : 27232 reschedules/S, 163392 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 204100 ctxswc/S +--- Score : 211344 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 217464 bytes/S +--- Score : 239264 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 264170 timers/S +--- Score : 264214 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 425016 wait+signal/S +--- Score : 449036 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 309480 lock+unlock/S +--- Score : 322036 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From a6856d757a7960e9c50cb2cdce3e31ace9671541 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 3 Oct 2010 13:20:13 +0000 Subject: Removed redundant articles in the generated documentation. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2232 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/architecture.dox | 274 ------------------------------------------ docs/src/articles.dox | 66 ---------- docs/src/atomic.dox | 57 --------- docs/src/concepts.dox | 12 +- docs/src/createthread.dox | 187 ---------------------------- docs/src/credits.dox | 97 --------------- docs/src/debug.dox | 138 --------------------- docs/src/design.dox | 110 ----------------- docs/src/eclipse.dox | 169 -------------------------- docs/src/eclipse2.dox | 249 -------------------------------------- docs/src/events.dox | 124 ------------------- docs/src/goals.dox | 88 -------------- docs/src/integrationguide.dox | 95 --------------- docs/src/interrupts.dox | 69 ----------- docs/src/jitter.dox | 135 --------------------- docs/src/licfaq.dox | 119 ------------------ docs/src/lifecycle.dox | 68 ----------- docs/src/main.dox | 6 - docs/src/memory.dox | 138 --------------------- docs/src/mutualexcl.dox | 210 -------------------------------- docs/src/portguide.dox | 120 ------------------ docs/src/roundrobin.dox | 50 -------- docs/src/saveram.dox | 81 ------------- docs/src/stacks.dox | 107 ----------------- docs/src/stop_os.dox | 133 -------------------- docs/src/target.dox | 82 ------------- docs/src/timing.dox | 91 -------------- docs/src/wakeup.dox | 148 ----------------------- 28 files changed, 8 insertions(+), 3215 deletions(-) delete mode 100644 docs/src/architecture.dox delete mode 100644 docs/src/articles.dox delete mode 100644 docs/src/atomic.dox delete mode 100644 docs/src/createthread.dox delete mode 100644 docs/src/credits.dox delete mode 100644 docs/src/debug.dox delete mode 100644 docs/src/design.dox delete mode 100644 docs/src/eclipse.dox delete mode 100644 docs/src/eclipse2.dox delete mode 100644 docs/src/events.dox delete mode 100644 docs/src/goals.dox delete mode 100644 docs/src/integrationguide.dox delete mode 100644 docs/src/interrupts.dox delete mode 100644 docs/src/jitter.dox delete mode 100644 docs/src/licfaq.dox delete mode 100644 docs/src/lifecycle.dox delete mode 100644 docs/src/memory.dox delete mode 100644 docs/src/mutualexcl.dox delete mode 100644 docs/src/portguide.dox delete mode 100644 docs/src/roundrobin.dox delete mode 100644 docs/src/saveram.dox delete mode 100644 docs/src/stacks.dox delete mode 100644 docs/src/stop_os.dox delete mode 100644 docs/src/target.dox delete mode 100644 docs/src/timing.dox delete mode 100644 docs/src/wakeup.dox (limited to 'docs') diff --git a/docs/src/architecture.dox b/docs/src/architecture.dox deleted file mode 100644 index d71a43fc8..000000000 --- a/docs/src/architecture.dox +++ /dev/null @@ -1,274 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page architecture Architecture - * @brief ChibiOS/RT General Architecture - * - @ref components - * - @ref dependencies - * - @ref kernel_arch - * - @ref hal_arch - * . - * @section components Components - * ChibiOS/RT is composed of several major components, each component can be - * composed of one of more subsystems. The main components are: - * - Kernel, this is the platform independent part of the OS kernel. - * - HAL, this component contains a set of abstract device drivers - * that offer a common I/O API to the application across all the support - * platforms. The HAL code is totally portable across platforms. - * - Port, this is the platform dependent part of the OS kernel. This - * component is responsible of the system startup, interrupts abstraction, - * lock/unlock primitives, context switch related structures and code.
          - * The component usually contains very little code because the OS is very - * portable but the quality of the implementation of the Port component - * affects heavily the performance of the ported OS. It is probably the - * most critical part of the whole OS. - * - Platform, this component contains a set of device drivers - * implementations. - * - Various, a library of various extra components that do not belong - * to any particular component but can make life easier while developing an - * embedded application. - * . - * @section dependencies Dependencies - * The following diagram shows the relationships among the various components - * that compose the system:

          - * @dot - digraph example { - node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1.0", height="0.25"]; - edge [fontname=Helvetica, fontsize=8]; - - Application [label="Application"]; - HAL [label="HAL"]; - Platform [label="Platform"]; - Kernel [label="Kernel"]; - Port [label="Port"]; - Board [label="Board Setup"]; - HW [label="Hardware", style="filled", width="3.0", height="0.3"]; - - Application -> Kernel; - Application -> HAL; - Application -> HW [label=" (not recommended)"]; - HAL -> Platform; - HAL -> Kernel; - Board -> HW; - Platform -> Kernel; - Platform -> Board; - Platform -> HW; - Kernel -> Port; - Port -> Board [label="Optional", style="dotted"]; - Port -> HW; - } - * @enddot - * - * @section kernel_arch Kernel Architecture - * The kernel itself is very modular and is composed of several subsystems, - * most subsystems are optional and can be switched of in the kernel - * configuration file @p chconf.h.
          - * The current kernel subsystems are divided in five categories: - * - @ref base, this category contains the mandatory kernel - * subsystems: - * - @ref system, low level locks, initialization. - * - @ref time, virtual timers and time APIs. - * - @ref scheduler, scheduler APIs, all the higher level synchronization - * mechanism are implemented through this subsystem, it is very flexible - * but not recommended for direct use in user code. - * - @ref threads, thread-related APIs. - * . - * Base services diagram:

          - * @dot - digraph example { - node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1.0", height="0.25"]; - edge [fontname=Helvetica, fontsize=8]; - - Threads -> Scheduler; - Scheduler-> System; - Scheduler-> Timers; - System-> Timers; - } - * @enddot - * - @ref synchronization, this category contains the synchronization-related - * subsystems, each one of the provided mechanism can be configured out of - * the kernel if not needed. - * - @ref semaphores, counter semaphores subsystem. - * - @ref mutexes, mutexes subsystem with support to the priority inheritance - * algorithm (fully implemented, any depth). - * - @ref condvars, condition variables, together with mutexes the condition - * variables allow the implementation of monitor constructs. - * - @ref events, event sources and event flags with flexible support for - * and/or conditions and automatic dispatching to handler functions. - * - @ref messages, lightweight synchronous messages. - * - @ref mailboxes, asynchronous messages queues. - * . - * All the synchronization mechanisms are built on top of the Scheduler APIs - * except Mailboxes that are build on top of Semaphores and Condition - * Variables that implicitly refer to Mutexes:

          - * @dot - digraph example { - node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1.1", height="0.25"]; - edge [fontname=Helvetica, fontsize=8]; - - Semaphores -> Scheduler; - Mutexes -> Scheduler; - Condvars -> Scheduler; - Condvars -> Mutexes; - Events -> Scheduler; - Messages -> Scheduler; - "Binary Semaphores" -> Semaphores; - Mailboxes -> Semaphores; - } - * @enddot - * - @ref memory, memory management, multiple non-alternative schemes are - * available: - * - @ref memcore, centralized core memory manager, this subsystems is used - * by the other allocators in order to get chunks of memory in a consistent - * way. - * - @ref heaps, central heap manager using a first fit strategy, it also - * allows the creation of multiple heaps in order to handle non uniform - * memory areas. - * - @ref pools, very fast fixed size objects allocator. - * - @ref threads (dynamic), usually threads are static objects in ChibiOS/RT - * but there is the option for dynamic threads management, please see the - * article @ref article_lifecycle. - * . - * The various allocators follow a precise hierarchy:

          - * @dot - digraph example { - node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1.0", height="0.25"]; - edge [fontname=Helvetica, fontsize=8]; - - Application [label="Application", width="2.0"]; - RAM [label="RAM", style="filled", width="2.0"]; - Core [label="Core Allocator"]; - Dynamic [label="Dynamic Threads"]; - Heaps [label="Dynamic Heaps"]; - Pools [label="Memory Pools"]; - C [label="C-runtime"]; - - Application -> Dynamic; - Application -> Heaps; - Application -> Pools; - Application -> C [label="(not recommended)"]; - Application -> Core; - Dynamic -> Heaps; - Dynamic -> Pools; - Heaps -> Core; - Pools -> Core; - C -> Core; - Core -> RAM - } - * @enddot - * Please also see the article @ref article_manage_memory. - * - @ref io_support, the kernel also provides mechanisms and abstract data - * interfaces that can be used by non-kernel components, the HAL as example. - * - @ref data_streams, abstract streams interface. - * - @ref io_channels, abstract I/O channels that inherits from the abstract - * stream interface. - * - @ref io_queues, generic, byte wide, I/O queues APIs. - * . - * - @ref debug, debug services and APIs. The @ref registry subsystem can be - * seen as part of the debug category even if it finds use in non-debug - * roles. - * . - * @section hal_arch HAL Architecture - * The HAL is a collection of abstract device drivers, it relies on the - * Platform component for the low level implementation on specific - * hardware.
          - * The current internal HAL organization is the following:

          - * @dot - digraph example { - rankdir="LR"; - - node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1.0", height="0.25"]; - edge [fontname=Helvetica, fontsize=8]; - - subgraph cluster_HAL { - node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="0.6", height="0.25"]; - ADC [label="ADC"]; - CAN [label="CAN"]; - HAL [label="HAL"]; - MAC [label="MAC"]; - PAL [label="PAL"]; - PWM [label="PWM"]; - SER [label="SER"]; - SPI [label="SPI"]; - MMC_SD [label="MMC/SD"]; - color = blue; - label = "HAL"; - } - - subgraph cluster_Platform { - node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="0.6", height="0.25"]; - ADC_LLD [label="ADC_LLD"]; - CAN_LLD [label="CAN_LLD"]; - HAL_LLD [label="HAL_LLD"]; - MAC_LLD [label="MAC_LLD"]; - PAL_LLD [label="PAL_LLD"]; - PWM_LLD [label="PWM_LLD"]; - SER_LLD [label="SER_LLD"]; - SPI_LLD [label="SPI_LLD"]; - color = blue; - label = "Platform"; - } - - node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1", height="0.5"]; - edge [fontname=Helvetica, fontsize=8]; - - Application [label="Application"]; - HW [label="Hardware", style="filled"]; - - ADC -> ADC_LLD; - CAN -> CAN_LLD; - HAL -> HAL_LLD; - MAC -> MAC_LLD; - PAL -> PAL_LLD; - PWM -> PWM_LLD; - SER -> SER_LLD; - SPI -> SPI_LLD; - MMC_SD -> SPI [constraint=false]; - - Application -> ADC; - Application -> CAN; - Application -> HAL; - Application -> MAC; - Application -> PAL; - Application -> PWM; - Application -> SER; - Application -> SPI; - Application -> MMC_SD; - ADC_LLD -> HW; - CAN_LLD -> HW; - HAL_LLD -> HW; - MAC_LLD -> HW; - PAL_LLD -> HW; - PWM_LLD -> HW; - SER_LLD -> HW; - SPI_LLD -> HW; - } - * @enddot - *
          - * See @ref IO for details about the various HAL subsystems. - */ diff --git a/docs/src/articles.dox b/docs/src/articles.dox deleted file mode 100644 index c34e34d43..000000000 --- a/docs/src/articles.dox +++ /dev/null @@ -1,66 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page articles Articles and Code Samples - * ChibiOS/RT Articles and Code Samples: - * - @subpage page_general - * - @subpage page_kb - * - @subpage page_howtos - * . - */ - -/** - * @page page_general General - * Articles and guides not necessarily related to ChibiOS/RT. - * - @subpage article_eclipse - * - @subpage article_eclipse2 - * - @subpage article_jitter - * . - */ - -/** - * @page page_kb Knowledge Base - * Articles and guides about ChibiOS/RT. - * - @subpage article_integrationguide - * - @subpage article_portguide - * - @subpage article_events - * - @subpage article_debug - * - @subpage article_stacks - * - @subpage article_roundrobin - * - @subpage article_lifecycle - * - @subpage article_mutual_exclusion - * - @subpage article_atomic - * - @subpage article_saveram - * - @subpage article_timing - * - @subpage article_design - * . - */ - -/** - * @page page_howtos How To's - * Articles describing how to implement specific tasks using ChibiOS/RT. - * - @subpage article_create_thread - * - @subpage article_interrupts - * - @subpage article_wakeup - * - @subpage article_manage_memory - * - @subpage article_stop_os - * . - */ - diff --git a/docs/src/atomic.dox b/docs/src/atomic.dox deleted file mode 100644 index d3bc43ba5..000000000 --- a/docs/src/atomic.dox +++ /dev/null @@ -1,57 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_atomic Invoking multiple primitives as a single atomic operation - * It is often necessary to invoke multiple operations involving a - * reschedule as a single atomic operation.
          - * ChibiOS/RT already implements APIs that perform complex operations, as - * example the API @p chSemSignalWait() performs two operations atomically.
          - * If more complex operations are required in your application then it is - * possible to build macro-operations, see the following example: - * @code - chSysLock(); - - chSemSignalI(&sem1); - chSemSignalI(&sem2); - chMtxUnlockS(); - chSchRescheduleS(); - - chSysUnlock(); - * @endcode - * The above example performs a signal operation on two semaphores, unlocks the - * last acquired mutex and finally performs a reschedule. All the operations - * are performed atomically.
          - * An hypothetical @p chSemSignalSignalWait() operation could be implemented as - * follow: - * @code - chSysLock(); - - chSemSignalI(&sem1); - chSemSignalI(&sem2); - chSemWaitS(&Sem3); /* May reschedule or not. */ - chSchRescheduleS(); /* This one reschedules if necessary. */ - - chSysUnlock(); - * @endcode - * In general multiple @ref I-Class and (non rescheduling) @ref S-Class APIs - * can be included and the block is terminated by a rescheduling @ref S-Class - * API. An extra @p chSchRescheduleS() can be present at the very end of the - * block, it only reschedules if a reschedule is still required. - */ diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index 35c086506..bcb6a5b97 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -54,11 +54,15 @@ * preempt (small parts of) the kernel code and are thus able to invoke * operating system APIs from within their handlers. The interrupt handlers * belonging to this class must be written following some rules. See the - * @ref system APIs group and @ref article_interrupts. + * @ref system APIs group and the web article + * + * How to write interrupt handlers. * - Fast Interrupts. Maskable interrupt sources with the ability * to preempt the kernel code and thus have a lower latency and are less - * subject to jitter, see @ref article_jitter. Such sources are not - * supported on all the architectures.
          + * subject to jitter, see the web article + * + * Response Time and Jitter. + * Such sources are not supported on all the architectures.
          * Fast interrupts are not allowed to invoke any operating system API from * within their handlers. Fast interrupt sources may, however, pend a lower * priority regular interrupt where access to the operating system is @@ -394,6 +398,6 @@ * - Interrupt Stack. * - Internal Context. * . - * See the @ref core documentation for details, the area may change on + * See the port documentation for details, the area may change on * the various ports and some structures may not be present (or be zero-sized). */ diff --git a/docs/src/createthread.dox b/docs/src/createthread.dox deleted file mode 100644 index f3b8e8362..000000000 --- a/docs/src/createthread.dox +++ /dev/null @@ -1,187 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_create_thread How to create a thread - * At the system startup there are already two active threads: - * - Idle thread. This thread has the lowest priority in the system so - * it runs only when the other threads in the system are sleeping. This - * threads usually switches the system in a low power mode and does nothing - * else. - * - Main thread. This thread executes your @p main() function at - * startup. The main thread is created at the @p NORMALPRIO level but it - * can change its own priority if required. It is from the main thread - * that the other threads are usually created. - * . - * There are two kind of threads in ChibiOS/RT: - * - Static Threads. This kind of threads are statically allocated in - * memory. The memory used by the thread cannot reused except for restarting - * the threads. - * - Dynamic Threads. Threads created by allocating memory from a memory - * heap or a memory pool. - * . - *

          Creating a static thread

          - * In order to create a static thread a working area must be declared using - * the macro @p WORKING_AREA as shown: - * @code -static WORKING_AREA(myThreadWorkingArea, 128); - * @endcode - * This macro reserves 128 bytes of stack for the thread and space for all - * the required thread related structures. The total size and the alignment - * problems are handled inside the macro, you only need to specify the pure - * stack size.
          - * A thread can be started by invoking @p chThdCreateStatic() as shown in this - * example: - * @code - Thread *tp = chThdCreateStatic(myThreadWorkingArea, - sizeof(myThreadWorkingArea), - NORMALPRIO, /* Initial priority. */ - myThread, /* Thread function. */ - NULL); /* Thread parameter. */ - * @endcode - * The variable tp receives the pointer to the thread object, it is taken - * by other APIs as parameter.
          - * Now a complete example: - * @code -/* -* * My simple application. - */ - -#include - -/* -* * Working area for the LED flashing thread. - */ -static WORKING_AREA(myThreadWorkingArea, 128); - -/* -* * LED flashing thread. - */ -static msg_t myThread(void *arg) { - - while (TRUE) { - LED_ON(); - chThdSleepMilliseconds(500); - LED_OFF(); - chThdSleepMilliseconds(500); - } -} - -int main(int argc, char *argv[]) { - - /* Starting the flashing LEDs thread.*/ - (void)chThdCreateStatic(myThreadWorkingArea, sizeof(myThreadWorkingArea), - NORMALPRIO, myThread, NULL); - . - . - . -} - * @endcode - * Note that the memory allocated to myThread() is statically defined and - * cannot be reused. Static threads are ideal for safety applications because - * there is no risk of a memory allocation failure because progressive heap - * fragmentation. - * - *

          Creating a dynamic thread using the heap allocator

          - * In order to create a thread from a memory heap is very easy: - * @code - Thread *tp = chThdCreateFromHeap(NULL, /* NULL = Default heap. */ - THD_WA_SIZE(128),/* Stack size. */ - NORMALPRIO, /* Initial priority. */ - myThread, /* Thread function. */ - NULL); /* Thread parameter. */ - * @endcode - * The memory is allocated from the spawned heap and the thread is started. - * Note that the memory is not freed when the thread terminates but when the - * thread final status (its return value) is collected by the spawning thread. - * As example: - * @code -static msg_t myThread(void *arg) { - - unsigned i = 10; - while (i > 0) { - LED_ON(); - chThdSleepMilliseconds(500); - LED_OFF(); - chThdSleepMilliseconds(500); - i--; - } - return (msg_t)i; -} - -int main(int argc, char *argv[]) { - - Thread *tp = chThdCreateFromHeap(NULL, THD_WA_SIZE(128), NORMALPRIO+1, - myThread, NULL); - if (tp == NULL) - chSysHalt(); /* Memory exausted. */ - - /* The main thread continues its normal execution.*/ - . - . - /* -* * Now waits for the spawned thread to terminate (if it has not terminated -* * already) then gets the thread exit message (msg) and returns the -* * terminated thread memory to the heap (default system heap in this -* * example). - */ - msg_t msg = chThdWait(tp); - . - . -} - * @endcode - * - *

          Creating a dynamic thread using the memory pool allocator

          - * A pool is a collection of equally sized memory blocks, creating a thread from - * a memry pool is very similar to the previous example but the memory of - * terminated threads is returned to the memory pool rather than to a heap: - * @code -static msg_t myThread(void *arg) { - - unsigned i = 10; - while (i > 0) { - LED_ON(); - chThdSleepMilliseconds(500); - LED_OFF(); - chThdSleepMilliseconds(500); - i--; - } - return (msg_t)i; -} - -int main(int argc, char *argv[]) { - - Thread *tp = chThdCreateFromMemoryPool(myPool, NORMALPRIO+1, myThread, NULL); - if (tp == NULL) - chSysHalt(); /* Pool empty. */ - - /* The main thread continues its normal execution.*/ - . - . - /* -* * Now waits for the spawned thread to terminate (if it has not terminated -* * already) then gets the thread exit message (msg) and returns the -* * terminated thread memory to the original memory pool. - */ - msg_t msg = chThdWait(tp); - . - . -} - * @endcode - */ diff --git a/docs/src/credits.dox b/docs/src/credits.dox deleted file mode 100644 index d0a40cb04..000000000 --- a/docs/src/credits.dox +++ /dev/null @@ -1,97 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page credits Copyright and Credits - * @brief Copyright and Credits - * - *

          Copyright Statement

          -@verbatim - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. -@endverbatim - * - *

          Contributions and Copyright Assignment

          - * If you plan to contribute code to the ChibiOS/RT project then there is a - * requirement you should be aware of: contributing code for inclusion in - * the ChibiOS/RT main line requires assigning the copyright on the - * contributed code to me (Giovanni Di Sirio).
          - * This may sound a bit strange but is pretty standard for this kind of - * projects, there are several reasons for this requirement: - * - ChibiOS/RT will probably also become a commercial product and it would - * not be possible to re-license the code without ownership. Note that the - * commercial product would not be a different or better product, just the - * same GPL product made available, on request, under a different license. - * The code will always be available to you under the current licensing - * terms. - * - Ownership is required when changing the licensing terms and this happens - * each time the project goes from development/unstable to stable and - * back because the addition/removal of the GPL linking exception. - * - It will be easier for the project adopters to have a single ownership - * point in case of licensing issues (both GPL or commercial). - * - Losing the ownership on the code could preclude me the opportunity to - * make this project a full time job as I hope. - * - I definitely don't want to have to sort out copyright related issues - * in the future so better be clear than sorry. - * . - * Note that contributions will always be welcome even without such copyright - * assignment, the difference is that the contributed code would not be - * merged into the main line, it will still made available as contributed - * code with the contributor(s) copyright notice intact.
          - * Submissions of code with copyright notice should only happen through - * email, please do not commit code with copyright notices directly on - * the repository.
          - * When submitting code please state clearly your intention to keep the - * copyright on your work by adding your own copyright notice within the - * source code and by clearly mentioning your intentions in the message. Code - * contributed without copyright notice will be considered donated.
          - * If in doubt with licensing issues please don't hesitate to contact me - * in order to sort out any problem you may have.
          - * Of course the copyright assignment does not mean you would not be - * recognized for your hard work, see the following section. - * - *

          Credits

          - * I want to thank all the people that directly or indirectly contributed - * to the project, I beg pardon if someone is missing: - * - Adamo Reggiani, working on the Fujitsu port. - * - Alexander Kozaruk, AT91SAM7S256 demo and description files for - * the Olimex SAM7-P256 board. - * - Brian Weaver, STM8 port, STM8 and STM32 testing and improvements. - * - Egon Carusi, STM32 port improvements, testing and bug fixes. - * - Enrico Cavazza, working on the Fujitsu port and a GUI subsystem. - * - Eric Weddington, because his work on WinAVR and helping me sorting - * out issues with the ChibiOS/RT license. - * - Isidoro Orabona, co-developer of the ChibiOS/RT grandfather back - * in 1988, it is a long long story involving a 6502 and a Z80... - * - Jacek, Ride7 demo for STM32 Primer. - * - Leon Woestenberg, CondVars idea and implementation, documentation - * improvements and a lot of other ideas, he also helped with the lwIP port - * (he is one of the developers of that project too). - * - Leszek Bednarz, H8S and ColdFire ports and drivers maintainer. - * - Liam Staskawicz, Posix simulator, AT91SAM7x and STM32 related - * contributions, general improvements, many bug fixes and excellent - * suggestions. - * - Michael Fischer, because the work on YAGARTO and the excellent - * feedback. - * - Riccardo Scanu, another long story, this time involving reverse - * engineering and giant robots... - * - Vladimir, first tested and fixed the AVR port, I don't know the - * surname but he has been the first contributor. - * - Walter Goossens, several fixes to the LPC21xx support. - * . - */ diff --git a/docs/src/debug.dox b/docs/src/debug.dox deleted file mode 100644 index 341e852c6..000000000 --- a/docs/src/debug.dox +++ /dev/null @@ -1,138 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_debug Debugging ChibiOS/RT applications - * ChibiOS/RT offers several mechanisms that can help in the debug phase of - * the development cycle. - * - *

          What this guide does not cover

          - * This guide assumes knowledge in following areas: - * - General knowledge of embedded development. - * - RTOS concepts. - * - Setup of your specific target hardware and toolchain. - * - Knowledge of your toolchain. The guide will explain what you need to do, - * not how it is done using you specific debugger, compiler, JTAG probe and - * target hardware. - * . - *

          Helpful debugging configuration settings

          - * There are several settings in your kernel configuration file - * (see @ref templates/chconf.h) that you may want to enable during - * debugging and in general during the whole development process. - * - @p CH_OPTIMIZE_SPEED=FALSE, this disables inlining into the kernel code - * and makes it easier to debug using your debugger, you may also want - * to reduce or disable compiler optimizations (-O0 using GCC). - * - @p CH_DBG_ENABLE_CHECKS=TRUE, this setting enables the checks on the - * API parameters, useful to understand if you are passing wrong parameters - * to the OS functions. - * - @p CH_DBG_ENABLE_ASSERTS=TRUE, this setting enables the OS internal - * consistency checks, this can trap several kind of errors in the user - * code (or in the kernel itself). - * - @p CH_DBG_ENABLE_STACK_CHECK=TRUE, this setting enables checks on - * threads stack overflow. Note that this option is not available in - * all ports, check your port documentation. If not supported then it - * is silently ignored, see also the article @ref article_stacks. - * - @p CH_DBG_FILL_THREADS=TRUE, this setting enables the threads workspace - * filling, this can help examining the stack usage from your debugger. - * . - * Note that all the failed checks lock the kernel into the @p port_halt() - * function. In order to assess what triggered the lock the global variable - * @p panic_msg must be inspected using the debugger, the variable is a - * pointer to an error message (a zero terminated string), the pointer may - * contain @p NULL if the lock was triggered by a stack overflow. - * - *

          Common errors and symptoms

          - * There are some common errors while using an RTOS, use the following - * table as a check list, if your problem is not a generic programming error - * then probably it is one of the following common RTOS/embedded related - * mistakes: - * - Insufficient stack allocated to one or more threads.
          - * Common symptoms: - * - Target instability. - * - Target locked into the @p port_halt() function. - * - Target trapped into an exception handler (architecture dependent). - * - Target apparent self reset (not real resets usually). - * . - * - Insufficient stack allocated to the IRQ stack (in those architectures - * that have a separate IRQ stack, ARM as example).
          - * Common symptoms: - * - Target instability. - * - Target trapped into an exception handler (architecture dependent). - * - Target apparent self reset (not real resets usually). - * . - * - Use of a non reentrant function from within an interrupt handler, as - * example most C runtime functions.
          - * Common symptoms: - * - Target instability. - * - Unexpected application behavior. - * . - * - Missing use of a mutual exclusion mechanism to protect data - * (or non reentrant code) shared among multiple threads and/or - * threads and interrupt handlers, see also the article - * @ref article_mutual_exclusion.
          - * Common symptoms: - * - Target instability. - * - Unexpected application behavior. - * . - * - Use of S-class or I-class APIs outside a proper lock state, see the - * @ref concepts article, specifically the @ref api_suffixes and - * @ref system_states sections.
          - * Common symptoms: - * - Target instability. - * - Target trapped into an exception handler (architecture dependent). - * - Target apparent self reset (not real resets usually). - * . - * - Use of a non I-class API from an interrupt handler, see the - * @ref concepts article, specifically the @ref api_suffixes and - * @ref system_states sections.
          - * Common symptoms: - * - Target instability. - * - Target trapped into an exception handler (architecture dependent). - * - Target apparent self reset (not real resets usually). - * . - * - Wrong threads priority assignment. One of the most critical things - * to do when designing an RTOS based application is to assign correct - * priorities to the threads in the system.
          - * Common symptoms: - * - Excessive or unpredictable response times. - * - Threads that appear to be never executed (CPU intensive threads at - * higher priority). - * . - * . - *

          General suggestions

          - * For the less expert users, there are several things you may do in order - * to minimize the need for debugging: - * - Read carefully the documentation first. - * - Try to find a code examples for things are you going to do, good sources - * are: the documentation, the test code, under "./test" you will - * find examples for almost any API in the ChibiOS/RT kernel and most - * common RTOS related tasks, under "./testhal" there are examples - * regarding the various device drivers, the various demos contain - * good code samples too). - * - Start your application from an existing demo, add things one at a - * time and test often, if you add too many things at once then finding a - * small problem can become a debugging nightmare. Follow the cycle: think, - * implement, test, repeat. - * - If you are stuck for too much time then consider asking for advice. - * - Report bugs and problems, bugs can be fixed, problems can become new - * articles in the documentation (this and other documentation articles - * spawned from questions in the forum or in the tracker). - * - Never give up :-) - * . - */ diff --git a/docs/src/design.dox b/docs/src/design.dox deleted file mode 100644 index 80a5b8af8..000000000 --- a/docs/src/design.dox +++ /dev/null @@ -1,110 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_design Designing an embedded application - * ChibiOS/RT offers a variety of mechanisms and primitives, often it is - * better to focus on a single approach for the system design and use only - * part of the available subsystems.
          - * When designing your application you may choose among several design - * alternatives: - * - @ref nothreads - * - @ref messpass - * - @ref thdshared - * - @ref thdmixed - * . - * @section nothreads Single threaded superloop - * Correct, single thread, it is not mandatory to use the multithreading - * features of the OS. You may choose to implements everything as a complex - * state machine handled in the main thread alone. In this scenario the OS - * still offers a variety of useful mechanisms: - * - Interrupt handling. - * - Virtual Timers, very useful in state machines in order to handle time - * triggered state transitions. - * - Power management. - * - Event Flags and/or Semaphores as communication mechanism between - * interrupt handlers and the main. - * - I/O queues. - * - Memory allocation. - * - System time. - * . - * In this configuration the kernel size is really minimal, everything else - * is disabled and takes no space. You always have the option to use more - * threads at a later time in order to perform separate tasks. - * - * @section messpass Message Passing - * In this scenario there are multiple threads in the system that never - * share data, everything is done by exchanging messages. Each thread - * represents a service, the other threads can request the service by sending - * a message.
          - * In this scenario the following subsystems can be used: - * - Synchronous Messages. - * - Mailboxes (asynchronous message queues). - * . - * The advantage of this approach is to not have to deal with mutual exclusion, - * each functionality is encapsulated into a server thread that sequentially - * serves all the requests. As example, you can have the following scenario: - * - A buffers allocator server. - * - A disk driver server. - * - A file system server. - * - One or more client threads. - * . - * Example: - *

          - * @dot - digraph example { - rankdir="RL"; - node [shape=rectangle, fontname=Helvetica, fontsize=8, fixedsize="true", - width="1.2", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - disk [label="Server Thread\nDisk Driver"]; - buf [label="Server Thread\nBuffers Allocator"]; - fs [label="Client&Server Thread\nFile System"]; - cl1 [label="Client Thread"]; - cl2 [label="Client Thread"]; - cl3 [label="Client Thread"]; - fs -> disk [label="I/O request", constraint=false]; - disk -> fs [label="status", style="dotted", constraint=false]; - fs -> buf [label="buffer request"]; - buf -> fs [label="buffer", style="dotted"]; - cl1 -> fs [label="FS transaction"]; - fs -> cl1 [label="result", style="dotted"]; - cl2 -> fs [label="FS transaction"]; - fs -> cl2 [label="result", style="dotted"]; - cl3 -> fs [label="FS transaction"]; - fs -> cl3 [label="result", style="dotted"]; - } - * @enddot - *

          - * Note that the threads should not exchange complex messages but just - * pointers to data structures in order to optimize the performance. - * Also note that a thread can be both client and server at the same - * time, the FS service in the previous scenario as example. - * - * @section thdshared Threads sharing data - * This is the most common scenario, several threads have access to both their - * private data and shared data. Synchronization happens with one of the - * mechanisms described in the @ref article_mutual_exclusion article.
          - * - * @section thdmixed Mixed - * All the above approaches can be freely mixed in a single application but - * usually I prefer to choose a way and consistently design the system around - * it. The OS is a toolbox that offers a lot of tools but you don't have - * to use them all necessarily. - */ diff --git a/docs/src/eclipse.dox b/docs/src/eclipse.dox deleted file mode 100644 index 4e2dfe0fc..000000000 --- a/docs/src/eclipse.dox +++ /dev/null @@ -1,169 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_eclipse Setting up a free embedded IDE - * @brief Free advanced embedded IDE for ChibiOS/RT. - * details This article will explain how to setup a free toolchain for use with - * ChibiOS/RT and general embedded development.
          - * The guide is meant mainly for Windows users but notes about Linux and - * MAC OSX are present where the setup differs, mostly the toolchain is - * exactly the same. - * - *

          What this guide does not cover

          - * We will not enter in details of common system tasks like and not limited to: - * - Installing applications (unless a special procedure is required). - * - Creating desktop shortcuts. - * - Adding paths to the PATH variable. - * - Creating environment variables. - * - Any other normal PC usage task. - * - Use of the toolchain, the use is covered by the @ref article_eclipse2 - * article. - * . - * - *

          Article Index

          - * - @ref required_components - * - @ref install_chibios - * - @ref install_compiler - * - @ref install_eclipse - * - @ref install_zylin - * - @ref install_openocd - * - @ref install_doxygen - * - @ref install_graphviz - * - @ref install_eclox - * . - * - * @section required_components Required Components - * The first thing to do is to download all the required components, beginners - * should avoid the optional components initially: - * - A JTAG probe supporting GDB and OpenOCD, a list of compatible devices is - * available on the - * OpenOCD home page, more exactly - * here. - * - - * ChibiOS/RT latest stable release. - * - Java runtime, you - * probably already have this installed. - * - Eclipse IDE - * for C/C++ Developers - * - YAGARTO ARM toolchain - * for Windows, note that you need both the compiler and the tools (make - * and binutils). - * - Zylin plugin for on-board debugging, see @ref install_zylin section. - * - OpenOCD binaries for Windows, YAGARTO does not provide those anymore but - * you can download them from here. Linux users can try - * here. - * - Optional, MinGW compiler, needed if you want to compile, debug - * and run the simulator from within Eclipse. Linux users do not need this - * one because all Linux distributions include the native GCC. - * - Optional, Doxygen, it is only required if you want to - * generate documentation from source files. - * - Optional, - * Graphwiz, it is only required if you want to generate diagrams - * within documentation from source files. - * - Optional, - * Eclox, it is only required if you want to generate documentation - * from source files from within Eclipse. - * . - * - * @section install_chibios ChibiOS/RT Installation - * Just unzip it into a directory in your home folder, Windows users may - * consider c:@\projects@\chibios. It is strongly suggested to not put version - * numbers into the ChibiOS/RT directory name because Eclipse workspaces - * have absolute paths inside and you don't want to setup everything again - * each time a new ChibiOS/RT version is released, use plain "chibios". - * - * @section install_compiler GCC ARM Compiler Installation - * Simply follow the YAGARTO installation guide. Linux/MACOS users have several - * other options: - * - Download the latest CodeSourcery free Linux package. - * - Build it yourself, Liam recommended a build script - * - * here, it looks interesting. - * . - * Make sure that the compiler binaries directory is listed in the PATH - * variable or Eclipse would not be able to locate it. - * - * @section install_eclipse Eclipse Installation - * Eclipse is distributed into a compressed archive, there is no installation - * procedure: - * - Verify if you have Java installed, if not install the runtime. You may - * verify this using the command: "java -version". Make sure you have at - * least version 1.6. - * - Create an eclipse directory in your home and unpack the archive there. - * Windows users may unpack it into c:@\program files@\eclipse. - * - Create a desktop shortcut or other way to launch the Eclipse executable - * easily. - * - Launch Eclipse. - * - Eclipse will ask you a directory for its initial workspace, make it point - * to the ChibiOS/RT root directory (you may have as many workspaces you - * want, keep this for later), make sure to select the check box or it will - * ask you again each time. - *

          - * @image html tool001.jpg - *
          - * - Now you should see the welcome screen, close it and you will be in the - * normal C/C++ perspective. - * - Unselect "Project->Build Automatically" unless you like insanity. - * - Disable the "usage collector" in - * "Window->Preferences->Usage_Data_Collector" by unselecting "Enable - * capture". - * - If you are behind a proxy or firewall (corporate users usually are) - * configure the correct parameters in - * "Window->Preferences->General->Network_Connections". - * - Let Eclipse auto update to the latest version "Help->Check_for_Updates". - * . - * - * @section install_zylin Zylin Plugin Installation - * Eclipse requires an hardware debugger component in order to perform on board - * execution and debug. - * - Open Eclipse, then "Help->Install_New_Software...". - * - Press the "Add..." button and put http://opensource.zylin.com/zylincdt - * into the location field, then press OK. The Zylin plugin will appear in the - * available plugins view, select and install it. - *

          - * @image html tool002.jpg - * . - * - * @section install_openocd OpenOCD Installation - * Windows users just have to use the installer. Linux user should follow the - * normal installation procedure for deb or rpm packages, of course it is also - * possible to build it from the source code. - * - * @section install_doxygen Doxygen Installation - * Just use the installer, Linux users probably have Doxygen already available - * from the repositories. Make sure that the Doxygen binaries directory - * is listed in the PATH variable or Eclipse would not be able to locate it. - * - * @section install_graphviz Graphviz Installation - * Just use the installer, Linux users probably have Graphviz already available - * from the repositories. Make sure that the Graphviz binaries directory - * is listed in the PATH variable or Doxygen would not be able to locate it. - * - * @section install_eclox Eclox Installation - * Use the same installation steps used for the Zylin plugin except use - * http://download.gna.org/eclox/update as URL. Install "Eclox" not "Eclox - * Hot". - * After installing Eclox you will be able to compile Doxygen documentation - * using the button with the blue @@ inside. - */ diff --git a/docs/src/eclipse2.dox b/docs/src/eclipse2.dox deleted file mode 100644 index 88a222fc8..000000000 --- a/docs/src/eclipse2.dox +++ /dev/null @@ -1,249 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_eclipse2 Embedded development using Eclipse - * @brief Compiling and debugging ChibiOS/RT applications using Eclipse. - * @details This article will explain how to use an Eclipse based toolchain - * (see @ref article_eclipse) to develop ChibiOS/RT based applications. - * This guide will allow you to: - * - Importing ChibiOS/RT demos into the Eclipse environment. - * - Edit and reformat your source code. - * - Compile and examine errors and warnings. - * - Upload your program on the target board. - * - Debug your code on the target board both in high level language and - * assembler. - * - Develop embedded applications with or without ChibiOS/RT. - * . - * - *

          What this guide does not cover

          - * This guide assumes knowledge in following areas: - * - OpenOCD setup is not covered by this guide because the setup changes - * depending on the JTAG probe used, the target MCU and also the target - * board. The guide will show the setup for a specific JTAG probe and a - * specific target, a valuable source for the OpenOCD setup is the - * - * dedicated forum, most questions you may have about OpenOCD have - * most likely already been answered there. - * - Hardware setup. - * . - * In general this guide is not a replacement for the Eclipse, GCC, Make, - * binutils, newlib, GDB, OpenOCD user manuals, the guide simply aims to - * give you a faster start. - * - *

          Article Index

          - * - @ref eclipse2_requirements - * - @ref eclipse2_importing - * - @ref eclipse2_creating - * - @ref eclipse2_compiling - * - @ref eclipse2_configuring - * - @ref eclipse2_configuring_gdb - * - @ref eclipse2_configuring_openocd - * . - * - @ref eclipse2_debugging - * - @ref eclipse2_debugging_start - * - @ref eclipse2_debugging_stop - * . - * . - * - * @section eclipse2_requirements Required Components - * This guide requires: - * - An Eclipse/GCC/OpenOCD based toolchain, as example the one described in - * the article @ref article_eclipse. - * - An Olimex ARM-USB-OCD JTAG probe, this guide applies to any other ARM - * JTAG probe as long it is supported by OpenOCD. - * - An Olimex STM32-P103 target board, this guide applies to any other ARM - * target except for the OpenOCD setup part. - * - A terminal emulator for capturing the board serial output, Windows users - * may use Hyper Terminal, Linux and MAC OS-X users may use - * CuteCom. - * All ChibiOS/RT demos generate on the serial port a test report when a - * button on the target board is pressed, other demos may activate a command - * shell on the serial port, in both cases a terminal emulator is required. - * . - * - * @section eclipse2_importing Importing existing ChibiOS/RT demos into Eclipse - * The first step is to import a project into the Eclipse environment. - * ChibiOS/RT demos do not include Eclipse project files but just a normal - * Makefile. Eclipse is able to import a Makefile project and create - * its own project file so this is not a problem. This is how it is done: - * - Open you Eclipse environment and select the workspace created into the - * ChibiOS/RT project directory. - * - From within Eclipse select "File->New->C_Project", a dialog box will show. - * - Select "Makefile_project->Empty_Project" in the "Project type:" box. - * - Select "-- Other Toolchain --" in the "Toolchains:" box. - * - Unselect the "Use default location" check box. - * - Select the demo directory using the "Browse..." button. Something like - * "C:\Projects\ChibiOS-RT\demos\ARMCM3-STM32F103-GCC" will appear in the - * "Location:" box. - * - In the project name box put the same name of the directory containing - * the demo, ARMCM3-STM32F103-GCC in this example. - *

          - * @image html eclipse003.jpg - *
          - * - Press the "Finish" button and the project will be created and shown in - * the "Project Explorer". - * - Right click on the imported project and select "Index->Rebuild", this - * will make Eclipse build its internal symbols database. - * - Repeat the above steps for each ChibiOS/RT demo you want to import in - * Eclipse, all the demos that have a makefile can be imported. - * . - * - * @section eclipse2_creating Creating a new ChibiOS/RT application - * If you want to create a new application it is recommended that you create - * a Makefile project first then you can import it into eclipse using the above - * procedure. Makefile projects have the advantage that can be compiled - * everywhere even without Eclipse. Creation steps: - * - Create your own development directory under the ChibiOS/RT installation - * directory, as example "chibios/myprojects". - * - Copy an existing demo, of course choose a demo using your same target, - * under the new directory and rename it, as example - * "chibios/myprojects/myapplication". - * - Customize the Makefile if needed, usually you just need to do this if - * your application is composed by more than one source file. You may also - * want to remove the ChibiOS/RT test code from your application. - * - Once your makefile is ready, import the project under the Eclipse - * workspace using the procedure described in @ref eclipse2_importing. - * . - * - * @section eclipse2_compiling Compiling and Cleaning applications - * Once imported, an application can be compiled by using the "Build All" in - * the toolbar or by right clicking on the project and selecting "Build - * Project". In order to clean a project (removing all the temporary and binary - * files) right click on the project and select "Clean Project". - *

          - * @image html eclipse004.jpg - *
          - * The compilation result is visible as a complete log in the "Console" window, - * the detail of all errors an warnings is available in the "Problems" window. - *

          - * @image html eclipse005.jpg - *
          - * The build process produces the binary files specified in the Makefile, all - * the ChibiOS/RT demos produce binary files named ch.elf, ch.bin and/or - * ch.hex. The image must be loaded on the target board in order to execute - * it. The build process usually creates also some other useful files - * containing details about the built application (usually named ch.map and - * ch.dmp). - * - * @section eclipse2_configuring Preparing for Debug - * In order to debug your application a debug configuration must be created. - * The configuration instructs GDB (the source debugger used by Eclipse) on - * how to load the image, load the symbols and place the initial breakpoint - * in the make function. Note that GDB performs its function by connecting - * to a "GDB server", the DGB server implements the low level communication - * with the target device through the JTAG probe. In our scenario the GDB - * server functionality is performed by OpenOCD, this mean that OpenOCD must - * be running while performing a debug session within Eclipse. - * - * @subsection eclipse2_configuring_gdb Creating a GDB Debug Configuration - * A target specific debug configuration is required in order to: - * - Establish a connection with the GDB server. - * - Stop and reset the target. - * - Upload the binary code in Flash or RAM. - * - Set an initial breakpoint in the main function. - * - Start the target (which will immediately stop on the breakpoint). - * . - * The first thing to do is to open the "Debug Configurations..." dialog: - *

          - * @image html eclipse006.jpg - *
          - * The configuration dialog will appear, we must create a native Zylin - * configuration: - *

          - * @image html eclipse007.jpg - *
          - * Now we must give the configuration a name, "ARMCM3-STM32F103-GCC (flash and - * run)" in this example, then setup the various configuration pages as follow: - *

          - * The "Main" tab: - * @image html eclipse008.jpg - *

          - * The "Debugger" tab: - * @image html eclipse009.jpg - *

          - * The "Commands" tab: - * @image html eclipse010.jpg - *
          - * Note that the "Commands" tab contains the part that changes depending on - * the target. The complete commands sequence (it is not fully visible in the - * image) for STM32 is: - * @code - * monitor soft_reset_halt - * monitor wait_halt - * monitor poll - * monitor flash probe 0 - * monitor stm32x mass_erase 0 - * monitor flash write_bank 0 ch.bin 0 - * monitor soft_reset_halt - * symbol-file ch.elf - * thbreak main - * continue - * @endcode - *

          - * The "Common" tab: - * @image html eclipse011.jpg - *
          - * Now the debug configuration is complete. - * - * @subsection eclipse2_configuring_openocd Configuring and running OpenOCD - * OpenOCD must be run, with appropriate parameters, before starting your - * debug session. Please refer to the OpenOCD documentation in order to - * properly launch it for your target. - *
          **To be completed** - * - * @section eclipse2_debugging Debugging - * Now we are ready to debug an application on the target. Note that Eclipse - * have a mechanism called "Perspectives", you edit and compile your source - * code while you are in the "C/C++ perspective" while the debugging is - * performed in the "Debug perspective". You can switch perspective at any - * time, even while there is an active debug session. If you install more of - * the many Eclipse extension plugins (there are thousands) you may have even - * more perspectives available. - * - * @subsection eclipse2_debugging_start Starting a Debug Session - * In order to start a debugging session first make sure that OpenOCD is - * running then press the drop down menu on the right side of the - * debug icon in the toolbar (the small green bug) and select your - * debug configuration (we created just one but you may have multiple - * debug configurations in your project, as example I usually create - * another debug configuration that just starts the target without - * uploading the code). - *

          - * @image html eclipse012.jpg - *
          - * The debugger will be initialized, you will see the operation in progress on - * the console then Eclipse will switch to the debug perspective and you will - * see your program stopped on the default breakpoint in the main function. - *

          - * @image html eclipse013.jpg - *
          - * From there you can perform all the usual debugging tasks, set breakpoints, - * single step execution, variables, memory and registers inspection etc. - * Please refer to the Eclipse documentation about those "normal" operations. - * Note that if the debugging start procedure hangs then there is probably - * an error in your configuration or problems with the target, read the - * console log and/or the OpenOCD output in order to understand where the - * problem is. - * - * @subsection eclipse2_debugging_stop Stopping a Debug Session - * From the debug perspective press the stop button (small red square) in the - * debug window, the target will be stopped and you may both return to the - * C/C++ perspective or start it again. - */ diff --git a/docs/src/events.dox b/docs/src/events.dox deleted file mode 100644 index 27de187e4..000000000 --- a/docs/src/events.dox +++ /dev/null @@ -1,124 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_events Events Explained - * Events are an important feature in ChibiOS/RT, most device drivers generate - * events in order to notify the application that something happened at the - * I/O level.
          - * While event flags are not something unknown in other operating systems, - * their peculiar implementation in ChibiOS/RT requires a more in depth - * explanation.
          - * Lets start with the events related terminology: - * - Event Source, an @p EventSource is a system object that can be - * broadcasted asynchronously in response of a system event, as example, - * when the CAN driver receives a packet from the CAN bus it broadcasts - * an event source in order to inform the registered threads that a packet - * has just arrived. - * - Broadcast, the operation performed on an event source in order - * to inform the registered threads that an event just occurred. - * Broadcasting can happened both in interrupt handlers and in threads. - * - Event Listener, a system object that associates a @p Thread object - * to an event source. The process of associating a @p Thread to an - * @p EventSource using an @p EventListener is called registration. - * - Registration, action performed by a thread in order to be informed - * of events from a specific event source. Of course a thread can be - * registered on more than one event source by using multiple - * @p EventListener objects. Threads can also unregister from an event - * source. - * - Pending Events, event flags waiting to be served by a thread. - * - Add, the broadcast operation adds (logical or) an events - * mask to all the registered threads. - * - Wait, synchronous operation performed by a thread in order to - * wait a specific combination of events. The API offers a variety of - * wait functions, please refer to the events API documentation. - * . - * Note that events are asynchronously generated, as example in an interrupt - * handler, but are synchronously served. - * - *

          Events related data structures

          - * The following diagram explains the relationship between an event source, - * its list of event listeners and the registered threads. - * @dot - digraph example { - rankdir="LR"; - - node [shape=rectangle, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1.0", height="0.5"]; - edge [fontname=Helvetica, fontsize=8, sep=3.0]; - - es [shape=record, label="EventSource | es_next", style="bold"]; - - subgraph cluster_0 { - fontname=Helvetica; - label = "Listeners List"; - color = blue; - node [shape=record, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1.5", height="1.0"]; - el4 [label="EventListener 4 | el_mask: 0x0001 | el_listener | el_next"]; - el3 [label="EventListener 3 | el_mask: 0x0C00 | el_listener | el_next"]; - el2 [label="EventListener 2 | el_mask: 0x0001 | el_listener | el_next"]; - el1 [label="EventListener 1 | el_mask: 0x0004 | el_listener | el_next"]; - el1 -> el2 -> el3 -> el4 [label=" el_next", constraint=false]; - } - - subgraph cluster_1 { - fontname=Helvetica; - label = "Registered Threads"; - color = blue; - node [shape=record, fontname=Helvetica, fontsize=8, - fixedsize="true", width="1.5", height="0.8"]; - t1 [label="Thread 1 | p_epending:0x0000 | p_ewmask:0xFFFF"]; - t2 [label="Thread 2 | p_epending:0x000F | p_ewmask:0x0C01"]; - t3 [label="Thread 3 | p_epending:0x0008 | p_ewmask:0x0001"]; - t4 [label="Thread 4 | p_epending:0x0000 | p_ewmask:0xFFFF"]; - } - - es -> el1 [label=" es_next"]; - el4 -> es [label=" el_next"]; - el1 -> t1 [label="el_listener"]; - el2 -> t2 [label="el_listener"]; - el3 -> t3 [label="el_listener"]; - el4 -> t4 [label="el_listener"]; - } - * @enddot - * Note that each event listener has a different bit mask to be added on - * its associated thread when the event source is broadcasted, this means - * that each thread can define its own event identifiers independently. A - * broadcast operation can also add more than one bit on the - * registered threads.
          - * The threads have a variety of wait primitives, they can wait for one - * or more event flags, and can also specify AND/OR conditions, as example - * a thread can wait for any of the specified events or wait for all the - * specified events.
          - * The field @p p_epending is the mask of the currently pending events, - * the field @p p_ewmask is the mask of the events the thread is interested - * on in that moment (AND or OR condition depending on the invoked - * wait API). - * - *

          Use Scenarios

          - * Events are best used when one of more of the following conditions are - * required: - * - Having to wait on multiple conditions, Events are the only mechanism - * that easily allow that. - * - Synchronous response to one or more asynchronous events. - * - Single threaded applications working in a event driver environment (but - * events are not limited to single threaded applications). - * . - */ diff --git a/docs/src/goals.dox b/docs/src/goals.dox deleted file mode 100644 index 6dc8f0034..000000000 --- a/docs/src/goals.dox +++ /dev/null @@ -1,88 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page goals Project Goals - *

          Another RTOS?

          - * The first question to be answered is: there was really the need for YET - * ANOTHER RTOS?
          - * There are several reasons: - * - The ChibiOS/RT ancestor was created more than 15 years ago and while it - * had far less features than the current product it was complete and - * functioning. ChibiOS/RT is just a new (and silly) name given to - * something created when there were not many free RTOSes around (actually - * none, at least none in my knowledge, there was no widespread Internet - * at that time). - * - When, after a while, I needed a RTOS again, none of the existing FOSS - * projects met my expectations or my ideas of how a RTOS should be, not - * even close (see below). I decided that work on that old project was - * a better idea than contribute to, or fork, something else. - * - I wanted another toy. - * . - *

          Why is it different?

          - * Well, there are some design choices that should be explained and contribute - * to make ChibiOS/RT a peculiar design. Nothing really new in itself but - * the whole is interesting: - * - *

          Static design

          - * Everything in the kernel is static, nowhere memory is allocated or freed, - * there are three allocator subsystems but those are options and not part of - * core OS. Safety is something you design in, not something you can add later. - * - *

          No tables, arrays or other fixed structures

          - * The kernel has no internal tables, there is nothing that must be configured - * at compile time or that can overflow at run time. No upper bounds, the - * internal structures are all dynamic even if all the objects are statically - * allocated. - * - *

          No error conditions and no error checks

          - * All the system APIs have no error conditions, all the previous points are - * finalized to this objective. Everything you can invoke in the kernel is - * designed to not fail unless you pass garbage as parameters, stray pointers - * as examples. The APIs are not slowed down by parameter checks, - * parameter checks (and consistency checks) do exist but only when the - * debug switch is activated.
          - * All the static core APIs always succeed if correct parameters are passed. - * Exception to this are the optional allocators APIs that, of course, - * can report memory exhausted. - * - *

          Very simple APIs

          - * Each API should have the parameters you would expect for that function and - * do just one thing with no options. - * - *

          Fast and compact

          - * Note, first "fast" then "compact", the focus is on speed and execution - * efficiency and then on code size. This does not mean that the OS is large, - * the kernel size with all the subsystems activated weighs around 5.3KiB - * and can shrink down around to 1.2Kib in a minimal configuration - * (STM32, Cortex-M3). It would be possible to make something even smaller but: - * -# It would be pointless, it is already @a really small. - * -# I would not trade efficiency or features in order to save few bytes. - * . - * About the "fast" part, the kernel is able to start/exit over - * 220,000 threads per second on a 72MHz STM32. - * The Context Switch takes 1.2 microseconds on the same STM32. - * - *

          Tests and metrics

          - * I think it is nice to know how an OS is tested and how it performs before - * committing to use it. Test results on all the supported platforms and - * performance metrics are included in each ChibiOS/RT release. The test - * code is released as well, all the included demos are capable of executing - * the test suite and the OS benchmarks, see @ref testsuite. - */ diff --git a/docs/src/integrationguide.dox b/docs/src/integrationguide.dox deleted file mode 100644 index dd91d8cf8..000000000 --- a/docs/src/integrationguide.dox +++ /dev/null @@ -1,95 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_integrationguide Integration Guide - * All the delivered ChibiOS/RT demos are stand alone applications so if - * you just start your application from an existing demo there isn't any - * integration effort, you are simply using the existing makefiles, the - * default startup files etc, minimal effort.
          - * The matter is very different if you are going to integrate the OS into - * a different runtime framework or if you want to use a different build - * system, in that case you have the problem to integrate the OS source - * code into your application. - * - *

          What this guide does not cover

          - * This guide has a limited scope, the following topics are handled elsewhere: - * - Porting the OS to different architectures or different compilers is - * not covered in this guide, see @ref article_portguide instead. - * - This guide does not describe any specific environment or development - * tool, it is assumed you already know in detail the environment you - * want to work with. - * . - * - *

          Article Index

          - * - @ref integrationguide_kernel - * - @ref integrationguide_hal - * . - * @section integrationguide_kernel Integrating the Kernel - * This section covers the scenario where you want to use the ChibiOS/RT - * kernel into an existing application. In order to accomplish this you need - * to import in your project two components: - * - The portable kernel. - * - The port layer for your microcontroller. - * . - * See the @ref architecture for more details. - * You need to add the following files to your build process: - * - All the source files contained under ./os/kernel/src, note that - * you should add all of them even if you don't plan to use some of the - * subsystems. Unused subsystems can be excluded from the kernel - * configuration file @p chconf.h. - * - All the source files contained under - * ./os/ports/@/@. - * Note that those could be both C source files and assembler source files - * and that some architectures have an extra directories layer containing - * files required for a specific platform. - * . - * You also need to add to the compiler options the following paths for - * searching header files: - * - The portable kernel headers ./os/kernel/include. - * - The port layer headers - * ./os/ports/@/@. - * . - * @section integrationguide_hal Integrating the HAL - * If, in addition to the kernel as described in the previous section, you also - * need to integrate the HAL into your application you also need to import - * the following components: - * - HAL portable files. - * - Platform specific files. - * . - * See the @ref architecture for more details. - * You need to add the following files to your build process: - * - All the source files contained under ./os/hal/src, note that - * you should add all of them even if you don't plan to use some of the - * subsystems. Unused drivers can be excluded from the HAL configuration - * file @p halconf.h. - * - All the source files contained under - * ./os/hal/platforms/@. - * - All the source files contained under - * ./boards/@. - * . - * You also need to add to the compiler options the following paths for - * searching header files: - * - The portable HAL headers ./os/hal/include. - * - The platform layer headers - * ./os/hal/platforms/@. - * - The board description headers - * ./boards/@. - * . - */ diff --git a/docs/src/interrupts.dox b/docs/src/interrupts.dox deleted file mode 100644 index bceea96c4..000000000 --- a/docs/src/interrupts.dox +++ /dev/null @@ -1,69 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_interrupts How to write interrupt handlers - * Since version 1.1.0 ChibiOS/RT offers a cross-platform method for writing - * interrupt handlers. Port-related and compiler-related details are - * encapsulated within standard system macros. - * - *

          Writing Regular Interrupt handlers

          - * A Regular Interrupts handler (see @ref interrupt_classes) must be written - * using the following general form: - * @code -CH_IRQ_HANDLER(myIRQ) { - CH_IRQ_PROLOGUE(); - - // IRQ handling code, preemptable if the architecture supports it. - - chSysLockFromIsr(); - // Invocation of some I-Class system APIs, never preemptable. - chSysUnlockFromIsr(); - - // More IRQ handling code, again preemptable. - - CH_IRQ_EPILOGUE(); -} - * @endcode - * - *

          Writing Fast Interrupt handlers

          - * In those architectures (@ref ARM7 and @ref ARMCMx) supporting Fast - * Interrupts (see @ref interrupt_classes) handlers must be written - * using the following general form: - * @code -CH_FAST_IRQ_HANDLER(myIRQ) { - - // Fast IRQ handling code, preemptable if the architecture supports it. - // The invocation of any API is forbidden here because fast interrupt - // handlers can preempt the kernel even within its critical zones in - // order to minimize latency. -} - * @endcode - * - *

          Handlers naming

          - * A note about the handler name "myIRQ", in some ports it must be a - * vector number rather than a function name, it could also be a name from - * within a predefined set, see the notes about the various ports. - * - *

          Important Notes

          - * - There is an important application note about ARM7 interrupt handlers, - * please read about it in the ARM7 port section: @ref ARM7_IH - * . - */ - \ No newline at end of file diff --git a/docs/src/jitter.dox b/docs/src/jitter.dox deleted file mode 100644 index 759425b4e..000000000 --- a/docs/src/jitter.dox +++ /dev/null @@ -1,135 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_jitter Response Time and Jitter - * Response time jitter is one of the most sneaky source of problems when - * designing a real time system. When using a RTOS like ChibiOS/RT one must - * be aware of what the jitter is and how it can affect the performance of the - * system. A good place to start is this - * Wikipedia - * article. - * - *

          Interrupt handlers execution time

          - * The total execution time of an interrupt handler includes: - * - Hardware interrupts latency, this parameter is pretty much fixed and - * characteristic of the system. - * - Fixed handler overhead, as example registers stacking/unstacking. - * - Interrupt specific handler code execution time, as example, in a serial - * driver, this is the time used by the handler to transfer data from/to - * the UART. - * - OS overhead. Any operating system requires to run some extra code - * in interrupt handlers in order to handle correct preemption and Context - * Switching. - * . - *

          Interrupt Response Time

          - * The Interrupt Response Time is the time from an interrupt event and the - * execution of the handler code. Unfortunately this time is not constant - * in most cases, see the following graph: - * - * @dot - digraph example { - rankdir="LR"; - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - int [label="Interrupt"]; - busy [label="Busy"]; - served [label="Interrupt\nServed"]; - int -> served [label="Not Busy (minimum latency)"]; - int -> busy [label="Not Ready"]; - busy -> busy [label="Still Busy\n(added latency)"]; - busy -> served [label="Finally Ready"]; - } - * @enddot - * - * In this scenario the jitter (busy state) is represented by the sum of: - * - Higher or equal priority interrupt handlers execution time combined. - * This time can go from zero to the maximum randomly. This value can be - * guaranteed to be zero only if the interrupt has the highest priority in - * the system. - * - Highest execution time among lower priority handlers. This value is zero - * on those architectures (Cortex-M3 as example) where interrupt handlers - * can be preempted by higher priority sources. - * - Longest time in a kernel lock zone that can delay interrupt servicing. - * This value is zero for fast interrupt sources, see @ref system_states. - * . - *

          Threads Flyback Time

          - * This is the time between an event, as example an interrupt, and the - * execution of the thread that will process it. Imagine the following - * graph as the continuation of the previous one. - * - * @dot - digraph example { - rankdir="LR"; - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - served [label="Interrupt\nServed"]; - busy [label="Busy"]; - thread [label="Thread\nAwakened"]; - served -> busy [label="Not highest Priority"]; - busy -> busy [label="Higher priority Threads\n(added latency)"]; - busy -> thread [label="Highest Priority"]; - served -> thread [label="Highest Priority (minimum latency)"]; - } - * @enddot - * - * In this scenario all the jitter sources previously discussed are also - * present and there is the added jitter caused by the activity of the - * higher priority threads. - * - *

          Jitter Mitigation

          - * For each of the previously described jitter sources there are possible - * mitigation actions. - * - *

          Interrupt handlers optimization

          - * An obvious mitigation action is to optimize the interrupt handler code as - * much as possible for speed.
          - * Complex actions should never be performed in interrupt handlers. - * An handler should just serve the interrupt and wakeup a dedicated thread in - * order to handle the bulk of the work.
          - * Another possible mitigation action is to evaluate if a specific interrupt - * handler really needs to interact with the OS, if the handler uses full - * stand-alone code then it is possible to remove the OS related overhead.
          - * - *

          Kernel lock zones

          - * The OS kernel protects some critical internal data structure by disabling - * (fully in simple architecture, to some extent in more advanced - * microcontrollers) the interrupt sources. Because of this the kernel itself - * is a jitter cause, a good OS design minimizes the jitter generated by the - * kernel by using adequate data structures, algorithms and coding - * practices.
          - * A good OS design is not the whole story, some OS primitives may generate - * more or less jitter depending on the system state, as example the maximum - * number of threads on a certain queue, the maximum number of nested mutexes - * and so on. Some algorithms employed internally can have constant execution - * time but others may have linear execution time or be even more complex. - * - *

          Higher priority threads activity

          - * At thread level, the response time is affected by the interrupt-related - * jitter but mainly by the activity of the higher priority threads and - * contention on protected resources.
          - * It is possible to improve the system overall response time and reduce jitter - * by carefully assigning priorities to the various threads and carefully - * designing mutual exclusion zones.
          - * The use of the proper synchronization mechanism (semaphores, mutexes, events, - * messages and so on) also helps to improve the overall system performance. - * The use of the Priority Inheritance algorithm implemented in the mutexes - * subsystem can improve the overall response time and reduce jitter but it is - * not a magic wand, a proper system design comes first. - */ diff --git a/docs/src/licfaq.dox b/docs/src/licfaq.dox deleted file mode 100644 index f2563134c..000000000 --- a/docs/src/licfaq.dox +++ /dev/null @@ -1,119 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page lic_faq License and F.A.Q. - * ChibiOS/RT is a - * GPL3-licensed product but it offers a linking exception in its stable - * releases.
          - * This article contains some answers about the exception. - * - * @section faq Frequently Asked Questions - * - Is ChibiOS/RT free ?
          - * Yes, free as both in free beer and freedom. - * - Can I use it in my commercial embedded product?
          - * Yes, you just have to advertise that you are using ChibiOS/RT by putting - * a link to the project somewhere on your web site or documentation. - * - Am I forced to release the source code of my product?
          - * The exception to the GPL allows you to use ChibiOS/RT in your commercial - * application without have to release your source code under certains - * conditions. See the @ref exception_text under "Approved Interfaces" for - * details. - * - What I have to contribute back?
          - * In general you have to offer changes done on existing files (where - * allowed) or new developments done using the OS template files. As example: - * - Ports to new architectures because a new port uses copyrighted OS - * template files. - * - New, HAL-style, device drivers because device drivers use copyrighted - * template files. - * - Improvements on modifiable OS code as described in the - * "approved interfaces" section of the @ref exception_text. - * . - * - Is the exception applicable to any ChibiOS/RT version ?
          - * The exception is valid only for ChibiOS/RT releases marked as @e stable. - * Beta, unstable or development versions are covered by the GPL3 alone - * because are meant for testing only. - * - I don't want to be bound by any of the above restriction, is this - * possible?
          - * You may contact us about a commercial license. - * . - * @section exception_text GPL Exception Text - -
          GPL Exception Text for ChibiOS/RT 1.4.x
          - - In addition, as a special exception, the copyright holder of ChibiOS/RT, -gives You the additional right to link the unmodified code of this Program with -code not covered under the GNU General Public License ("Non-GPL Code") and to -distribute linked combinations including the two, subject to the limitations -in this paragraph. - - -# Non-GPL Code permitted under this exception must only link to the - unmodified code of this Program through those well defined interfaces - identified as "Approved Interfaces". - -# Every copy of the combined work is accompanied by a written statement - that details to the recipient the version of ChibiOS/RT used and an - offer by yourself to provide the ChibiOS/RT source code should the - recipient request it. - -# The combined work is not itself an RTOS, scheduler, kernel or related - product. - -# The combined work is not itself a binary library intended for linking - into other software applications. - . - -
          The Approved Interfaces
          - - -# The files of Non-GPL Code may include the unmodified ChibiOS/RT - distribution header files contained under: - - ./os/kernel/include - - ./os/hal/include - - ./os/hal/platforms - - ./os/various - . - without causing the resulting work to be covered by the GNU General - Public License. - -# The files of Non-GPL Code may link to the unmodified ChibiOS/RT - distribution files contained under: - - ./os/kernel/src - - ./os/hal/src - - ./os/hal/platforms - - ./os/various - . - without causing the resulting work to be covered by the GNU General - Public License. - -# The files of Non-GPL Code may link to, or include, the modified or - unmodified ChibiOS/RT distribution files contained under: - - ./os/kernel/templates - - ./os/hal/templates - - ./os/ports - - ./boards - - ./demos - . - without causing the resulting work to be covered by the GNU General - Public License. - . - - Only the copyright holder of ChibiOS/RT may make changes or additions to the -list of Approved Interfaces. - - You must obey the GNU General Public License in all respects for all of the -Program code and other code used in conjunction with the Program except the -Non-GPL Code covered by this exception. - * - */ - diff --git a/docs/src/lifecycle.dox b/docs/src/lifecycle.dox deleted file mode 100644 index 18875e7da..000000000 --- a/docs/src/lifecycle.dox +++ /dev/null @@ -1,68 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_lifecycle Threads Lifecycle - * In ChibiOS/RT threads are divided in two categories: - * - Static threads. The memory used for static threads is allocated at - * compile time so static threads are always there, there is no management - * to be done. - * - Dynamic threads. Dynamic threads are allocated at runtime from one - * of the available allocators (see @ref heaps, @ref pools). - * . - * Dynamic threads create the problem of who is responsible of releasing - * their memory because a thread cannot dispose its own memory.
          - * This is handled in ChibiOS/RT through the mechanism of "thread references", - * When the @p CH_USE_DYNAMIC option is enabled the threads become objects - * with a reference counter. The memory of a thread, if dynamic, is freed - * when the last reference to the thread is released while the thread is in - * its @p THD_STATE_FINAL state.
          - * The following diagram explains the mechanism: - * @dot - digraph example { - rankdir="LR"; - node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"]; - edge [fontname=Helvetica, fontsize=8]; - - init [label="No thread", style="bold"]; - alive [label="Alive"]; - final [label="Terminated"]; - detached [label="Detached", style="bold"]; - - init -> alive [label="chThdCreateX()"]; - alive -> alive [label="chThdAddRef()"]; - alive -> alive [label="chThdRelease()\n[ref > 0]"]; - alive -> detached [label="chThdRelease()\n[ref == 0]"]; - alive -> init [label="chThdWait()\n[ref == 0]"]; - alive -> final [label="chThdExit()\nreturn"]; - final -> final [label="chThdAddRef()"]; - final -> final [label="chThdRelease()\nchThdWait()\n[ref > 0]"]; - final -> init [label="chThdRelease()\nchThdWait()\n[ref == 0]"]; - } - * @enddot - *
          - * As you can see the easiest way to ensure that the memory is released is - * to make another thread perform a @p chThdWait() on the dynamic thread.
          - * If all the references to the threads are released while the thread is - * still alive then the thread goes in a "detached" state and its memory - * cannot be recovered unless there is a dedicated task in the system that - * scans the threads through the @ref registry subsystem, scanning the registry - * has the side effect to release the zombies (detached and then terminated - * threads). - */ diff --git a/docs/src/main.dox b/docs/src/main.dox index e5872cdf5..76a39bff7 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -58,13 +58,7 @@ * driver models and device driver implementations. * . *

          Related pages

          - * - @subpage credits - * - @subpage lic_faq - * - @subpage goals - * - @subpage target - * - @subpage architecture * - @subpage concepts - * - @subpage articles * - @subpage testsuite * . */ diff --git a/docs/src/memory.dox b/docs/src/memory.dox deleted file mode 100644 index f41dff32f..000000000 --- a/docs/src/memory.dox +++ /dev/null @@ -1,138 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_manage_memory How to manage memory - * ChibiOS/RT is a static kernel so you don't need to manage memory at all - * if your application doesn't really require it. This doesn't mean that - * the OS is unable to manage memory but just that memory management is an - * optional part of the whole.
          - * The OS offers three distinct ways to manage memory, each one with its - * weaknesses and strengths: - * - Core Memory Manager. See @ref memcore. - * - Heap Allocator. See @ref heaps. - * - Memory Pools. See @ref pools. - * . - * The three mechanisms are able to coexist and are well integrated, as example - * the heap allocator uses the core memory manager in order to get more - * memory blocks, memory pools can optionally do the same thing. - * - *

          The three subsystems

          - * This is a small comparison table regarding the three subsystems, C-runtime - * and static objects are thrown in there for comparison:

          - *
          - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
          - * Subsystem - * - * Free capable - * - * Constant time - * - * Safe - * - * From IRQ - * - * Notes - *
          - * Static Objects - * N/AN/AYESYES - * Preferred solution for safety applications. - *
          - * Core Memory Manager - * NOYESYESYES - * Fast and safe but unable to free allocated memory. - *
          - * Heap Allocator - * YESNONONO - * Unsafe because fragmentation and not constant time, cannot be used - * from IRQ handlers. - *
          - * Memory Pools - * YESYESYESYES - * Fast and safe but it can handle fixed size objects only, you may have - * multiple memory pools however. - *
          - * C-Runtime - * YESNONONO - * Unsafe because fragmentation, not constant time, cannot be used - * from IRQ handlers and not thread safe. The C runtime must also be - * modified in order to work with the other allocators. - *
          - *
          - * When designing a system it is recommended to proceed as follow: - * -# Use static objects and initializers whenever possible. - * -# Where dynamic allocation is required without having to free the allocated - * memory then use the Core Memory Manager allocation APIs. - * -# Where dynamic allocation is required evaluate if one or more memory - * pools can be used. - * -# If all the above points do not satisfy your requirements then use the - * heap allocator. - * -# Consider the C-runtime allocator only for legacy code. - * . - */ - diff --git a/docs/src/mutualexcl.dox b/docs/src/mutualexcl.dox deleted file mode 100644 index 260732e19..000000000 --- a/docs/src/mutualexcl.dox +++ /dev/null @@ -1,210 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_mutual_exclusion Mutual Exclusion guide - * The most common problem when writing multithreaded code is the - * synchronization on the shared resources/services.
          - * ChibiOS/RT offers a rich variety of mechanisms that apparently solve the - * same problem. I wrote apparently because each mechanism has its pro and - * cons. - * This article will introduce the various mechanisms and the explain the - * right scenarios for each one. - * - *

          Basics

          - * Some of the concepts mentioned in this article can be found in the - * following Wikipedia articles: - * - - * Mutual Exclusion - * - - * Priority Inversion - * - Priority Inheritance - * - - * Priority Ceiling - * . - *

          Mutual exclusion by System Locks

          - * This is the lowest level mechanism, the system is locked by invoking the - * @p chSysLock() API and then unlocked by invoking @p chSysUnlock().
          - * The implementation is architecture dependent but it is guaranteed to, at - * least, disable the interrupt sources with hardware priority below or equal - * the kernel level. - * - *

          Advantages

          - * - It is the lightest as execution time, often a lock or unlock becomes just a - * single inlined assembler instruction. - * - It ensures mutual exclusion among threads but also interrupt handling code. - * - The implementation would ensure mutual exclusion even on multicore - * architectures where multiple hardware threads are present. - * . - *

          Disadvantages

          - * - Disabling interrupts for a long period of time can deteriorate the overall - * system response time and/or introduce jitter. - * . - *

          When use Locks

          - * - When mutual exclusion with interrupt handlers is required. - * - When the operation within the lock zone is very simple and has finite - * time. - * . - *

          Example

          - * @code - * ... - * chSysLock(); - * /* Protected code */ - * chSysUnlock(); - * ... - * @endcode - * - *

          Mutual exclusion by Semaphores

          - * In ChibiOS/RT the counting semaphores are mainly meant as a - * synchronization mechanism between interrupt handlers and high level code - * running at thread level. Usually a thread waits on a semaphore that is - * signaled asynchronously by an interrupt handler.
          - * The semaphores can, however, be used as simple mutexes by initializing - * the semaphore counter to one. - * - *

          Advantages

          - * - The semaphores code is "already there" if you use the I/O queues or - * mailboxes and you don't want to enable the mutexes too in order to save - * space. - * - Semaphores are lighter than mutexes because their queues are FIFO - * ordered and do not have any overhead caused by the priority inheritance - * algorithm. - * - A semaphore takes less RAM than a mutex (12 vs 16 bytes on 32 bit - * architectures). - * . - *

          Disadvantages

          - * - Semaphore queues are FIFO ordered by default, an option exist to make - * them priority ordered but this can impact I/O performance because - * semaphores are used in I/O queues. - * - Semaphores do not implement the Priority Inheritance algorithm. - * . - *

          When use Semaphores

          - * - When you don't need queuing by priority nor the Priority Inheritance - * algorithm. - * - When RAM/ROM space is scarce. - * . - *

          Example

          - * @code - * static Semaphore sem; /* Semaphore declaration */ - * ... - * chSemInit(&sem, 1); /* Semaphore initialization before use */ - * ... - * chSemWait(&sem); - * /* Protected code */ - * chSemSignal(&sem); - * ... - * @endcode - * - *

          Mutual exclusion by Mutexes

          - * The mutexes are the mechanism intended as the most general solution for - * Mutual Exclusion. - * - *

          Advantages

          - * - Mutexes implement the Priority Inheritance algorithm that is an important - * tool in reducing jitter and improve overall system response time (it is - * not a magic solution, just another tool for the system designer). - * . - *

          Disadvantages

          - * - Heaviest among all the possible choices. The Priority Inheritance method - * is efficiently implemented but nothing is more efficient than no code at - * all. - * . - *

          When use Mutexes

          - * - When you are designing a very complex system with hard realtime - * requirements. - * . - *

          Example

          - * @code - * static Mutex mtx; /* Mutex declaration */ - * ... - * chMtxInit(&mtx); /* Mutex initialization before use */ - * ... - * chMtxLock(&mtx); - * /* Protected code */ - * chMtxUnlock(); - * ... - * @endcode - * - *

          Mutual exclusion by priority boost

          - * Another way to implement mutual exclusion is to boost the thread priority - * to a level higher than all of the threads competing for a certain resource. - * This solution effectively implements an Immediate Priority Ceiling - * algorithm. - * - *

          Advantages

          - * - Almost free as code size, you need no semaphores nor mutexes. - * - No RAM overhead. - * - Fast execution, priority change is a quick operation under ChibiOS/RT. - * - The Priority Ceiling protocol can help mitigate potential Priority - * Inversion problems. - * . - *

          Disadvantages

          - * - Makes the design more complicated because priorities must be assigned to - * not just threads but also assigned to the resources to be protected. - * - Locking a resource affects all the threads with lower priority even if - * not interested to the resource. - * - All the threads that can access the resource must have lower priority - * than the resource itself. - * - The mechanism is not easy to understand in the code unless it is clearly - * documented. - * - This method does not work in on multicore architectures where multiple - * hardware threads are present. - * - Only useful in very simple applications. - * . - *

          Example

          - * @code - * /* Priority assigned to the resource, threads must have lower - * priority than this.*/ - * #define AAA_RESOURCE_PRIORITY NORMALPRIO+10 - * ... - * /* Locks the resources AAA.*/ - * tprio_t aaa_old_prio = chThdSetPriority(AAA_RESOURCE_PRIORITY); - * /* Accessing resource AAA */ - * chThdSetPriority(aaa_old_prio); /* Unlocks AAA.*/ - * ... - * @endcode - * - *

          Mutual exclusion by message passing

          - * Another method is to make a single dedicated thread execute the critical - * code and make it work as a messages server. The other threads can request - * the service to the server by sending a properly formatted message and - * then wait for the answer with the result.
          - * This method is very useful when integrating into the system components not - * designed to be reentrant or to be executed in a multithreaded environment, - * as example a 3rd part file system or a networking protocol stack. - * - *

          Advantages

          - * - It is possible to encapsulate very complex logic without worry about - * about concurrent accesses. - * - If the encapsulate code uses a large stack area only the server thread - * have to allocate enough RAM, the client threads save RAM by just - * requesting the service to the server. - * - Clean system architecture. - * - This method also implements a form of Priority Ceiling. The ceiling is - * the priority of the server thread itself. - * . - *

          Disadvantages

          - * - More complex implementation, a protocol must be created between clients - * and server. - * - Two context switches are required for each request to the server (but - * ChibiOSRT is very efficient at that). - * - Requires a dedicated thread as server. - * . - */ diff --git a/docs/src/portguide.dox b/docs/src/portguide.dox deleted file mode 100644 index 087724084..000000000 --- a/docs/src/portguide.dox +++ /dev/null @@ -1,120 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_portguide Porting ChibiOS/RT for Dummies - * Porting the operating system on a new platform is one of the most common - * tasks. The difficulty can range from easy to very difficult depending - * on several factors.
          - * We can divide in problem in several classes of progressively increasing - * difficulty: - * - @ref port_board - * - @ref port_family - * - @ref port_chip - * - @ref port_core - * . - * Another kind of port type is porting to another compiler and this is an - * added complexity level on the above classes. The kernel itself is portable - * but the port-specific code usually contains compiler specific extensions to - * the C language and the asm files syntax is almost never compatible. - * - * @section port_board Porting the OS to a new board - * This is the easiest port type, the scenario is that the specific - * microcontroller is already supported and a demo exists. This scenario also - * applies when porting the OS on a custom hardware using a supported - * microcontroller. This task can be easily performed with the following - * steps: - * -# Create a new directory under ./boards and copy inside the board files - * from another board using the same microcontroller. - * -# Customize the board files: - * - @p board.h This file contains the I/O pins setup for the uC, it - * may also contain other board-dependent settings, as example, the clock - * frequency. Customize this file depending on your target hardware. - * - @p board.c This file contains the initialization code, it is possible - * you just need to customize @p board.h and not this file. If you have - * some hardware specific initialization code then put it here. - * . - * -# Create a new directory under the ChibiOS/RT installation directory: - * ./projects/@ - * -# Copy an existing demo code under the newly created directory. - * -# Customize the demo: - * - @p Makefile You may edit this file in order to remove the test related - * sources and/or add you application source files. - * - @p main.c It contains the demo simple code, clean it and write your - * own @p main() function here, use this file just as a template. - * -# Compile your application and debug. - * . - * @section port_family Porting the OS to a closely related microcontroller - * In this scenario all the above steps are required but an analysis must - * be performed to evaluate the differences between from the supported micro - * and the target micro. Often the micros just differ for the memory area - * sizes and a change to the linker script is enough (the file is usually - * named @p ch.ld). Chips having more or less peripherals, everything else - * being the same or compatible are not a problem also as long the timer and - * the serial peripherals used by the port do not change.
          - * If there are differences in the internal peripherals, as example non - * compatible interrupt controllers (this happens in the LPC2000 family) - * or differences in UARTS, timers etc then the port falls in the following - * category. - * - * @section port_chip Porting the OS to another microcontroller using the same core - * This kind of port is required when a target microcontroller has the same - * core (a common example: ARM7) of a supported microcontroller but has - * differences in the internal peripherals.
          - * If this is your case proceed as follow: - * -# Create a new directory under @p ./os/hal/platforms and - * name it with the microcontroller name (or family name).
          - * In case of the ARM-based microcontroller you also need to create a - * equally named directory under - * @p ./os/ports/@/@ and - * put there the microcontroller related files such as the vectors table, - * see the existing ports as example. - * -# Copy into the newly created directory the most closely related existing - * chip port or the naked template files from - * @p ./os/hal/templates. - * -# Work out the differences in the drivers or implement them if you started - * from the templates. - * -# Edit/create the documentation file @p platform.dox, this - * is only required if you want to regenerate this documentation including - * your work. - * . - * Usually this kind of port just requires a serial driver (and those are very - * similar each other) and some code for the interrupt controller (this one - * can be part of the core port, as example the Cortex-M3 has this as standard - * part of the core).
          - * When the chip port is completed created your application as seen in the - * previous sections. - * - * @section port_core Porting the OS to a whole new architecture - * This is the hardest scenario, the time required by core ports depends - * strongly by the target architecture complexity and the level of support you - * need for the architecture specific features.
          - * As a reference, the MSP430 port took me 2 hours and it worked at the first - * run, it can be a reference for simple architectures, the ARM Cortex-M3 was - * painful instead, the architecture enforces you to implement things in a very - * specific way and I spent 2 week to go through all the documentation and - * figure out the correct way to implement the port (you can see that the - * preemption context switch is done in a very peculiar way because the - * exceptions architecture).
          - * One thing is sure, port an OS to a new architecture is not an easy task and - * if you have the required experience for such an effort then probably you - * don't need any advice from me. Just follow the directory patterns and fill - * the OS template files, the hardest part is decide the correct and efficient - * way to implement the context switching. - */ diff --git a/docs/src/roundrobin.dox b/docs/src/roundrobin.dox deleted file mode 100644 index df57ec971..000000000 --- a/docs/src/roundrobin.dox +++ /dev/null @@ -1,50 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_roundrobin Round Robin scheduling explained - * Unlike many other RTOSes, ChibiOS/RT supports multiple threads at the - * same priority level and schedules them using an aggressive - * round-robin strategy.
          - * The strategy is defined as aggressive because any scheduling event - * causes the round-robin threads to rotate.
          - * A round-robin rotation can happen because of the following events: - * - The currently executed thread voluntarily invokes the @p chThdYield() - * API in order to allow the execution of another thread at the same - * priority level, if any. - * - The currently executed thread voluntarily goes into a sleep state - * (see @ref thread_states), when the thread is awakened it goes behind - * any other thread at the same priority level. - * - The currently executed thread is preempted by an higher priority - * thread, the thread is reinserted in the ready list (see @ref scheduling) - * behind any other thread at the same priority level. - * - If the @p CH_TIME_QUANTUM configuration constant is set to a value - * greater than zero and if the specified time quantum expired and if - * a thread with equal priority is ready then the currently executing - * thread is automatically reinserted in the ready list behind any - * other thread at the same priority level. - * . - * As you can see the @p CH_TIME_QUANTUM setting is really useful only if - * there are threads at the same priority level that can run not preempted - * for long periods of time and that do not explicitly yield using - * @p chThdYield(). Because of this you should consider setting - * @p CH_TIME_QUANTUM to zero in your configuration file, this makes the - * kernel much faster and smaller and does not forbid the use of - * multiple threads at the same priority level. - */ diff --git a/docs/src/saveram.dox b/docs/src/saveram.dox deleted file mode 100644 index 233c322c6..000000000 --- a/docs/src/saveram.dox +++ /dev/null @@ -1,81 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_saveram Saving RAM by declaring thread functions "noreturn" - * One of the problems, when writing embedded multi-threaded applications, - * is that the thread functions do save the registers in the function - * entry code even if the system does not require it, exiting such - * a function would terminate the thread so there is no need to preserve - * the register values. This can waste tens of bytes for each thread.
          - * Consider the following code: - * @code -#include - -static WORKING_AREA(waMyThread, 64); - -static t_msg MyThread(void *arg) { - while (!chThdShoudTerminate()) { - /* Do thread inner work */ - } - return 1; -} - -main() { - chSysInit(); - ... - chThdCreateStatic(waMyThread, sizeof(waMyThread), NORMALPRIO, MyThread, NULL); - ... -} - * @endcode - * The resulting ASM code for the thread function would be something like this: - * @code -MyThread: - stmfd sp!, {r4, r5, r6, lr} - ... - ldmfd sp!, {r4, r5, r6, pc} - * @endcode - * Being that function a thread there is no need to save those registers, in - * embedded applications often the RAM is a scarce resource. That space can be - * saved by modifying the code as follow, using some advanced GCC extensions: - * @code -#include - -static WORKING_AREA(waMyThread, 64); - -__attribute__((noreturn)) -static void MyThread(void *arg) { - while (!chThdShoudTerminate()) { - /* Do thread inner work */ - } - chThdExit(1); -} - -main() { - chSysInit(); - ... - chThdCreateStatic(waMyThread, sizeof(waMyThread), NORMALPRIO, - (tfunc_t)MyThread, NULL); - ... -} - * @endcode - * This will make GCC believe that the function cannot return and there is no - * need to save registers. The code will be a bit less readable and less - * portable on other compilers however. - */ diff --git a/docs/src/stacks.dox b/docs/src/stacks.dox deleted file mode 100644 index d87d183f6..000000000 --- a/docs/src/stacks.dox +++ /dev/null @@ -1,107 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_stacks Stacks and stack sizes - * In an RTOS like ChibiOS/RT there are several dedicated stacks, each stack - * has a dedicated RAM space that must have a correctly sized assigned area. - *

          The stacks

          - * There are several stacks in the systems, some are always present, some - * others are present only in some architectures: - * - Main stack, this stack is used by the @p main() function and the - * thread that execute it. It is not a normal thread stack because it is - * initialized in the startup code and its size is defined in a port - * dependent way. Details are in the various ports documentation. - * - Interrupt Stack, some architectures have a dedicated interrupt - * stack. This is an important feature in a multithreaded environment, - * without a dedicated interrupt stack each thread has to reserve - * enough space, for interrupts servicing, within its own stack. This space, - * multiplied by the total threads number, can amount to a significant RAM - * overhead. - * - Thread Stack, each thread has a dedicated stack for its own - * execution and context switch. - * - Other Stacks, some architectures (ARM) can have other stacks but - * the OS does not directly use any of them. - * . - *

          Risks

          - * The most critical thing when writing an embedded multithreaded application - * is to determine the correct stack size for main, threads and, when present, - * interrupts.
          - * Assigning too much space to a stack is a waste of RAM, assigning too little - * space leads to crashes or, worst scenario, hard to track instability. - * - *

          Assigning the correct size

          - * You may try to examine the asm listings in order to calculate the exact - * stack requirements but this requires much time, experience and patience.
          - * An alternative way is to use an interactive method. Follow this procedure - * for each thread in the system: - * - Enable the following debug options in the kernel: - * - @p CH_DBG_ENABLE_STACK_CHECK, this enables a stack check before any - * context switch. This option halts the system in @p chSysHalt() just - * before a stack overflow happens. The halt condition is caused by - * a stack overflow when the global variable @p panic_msg is set to - * @p NULL, normally it would point to a panic message. - * - @p CH_DBG_FILL_THREADS, this option fills the threads working area - * with an easily recognizable pattern (0x55). - * - Assign a large and safe size to the thread stack, as example 256 bytes - * on 32 MCUs, 128 bytes on 8/16 bit MCUs. This is almost always too much - * for simple threads. - * - Run the application, if the application crashes or halts then increase - * the stack size and repeat (you know how to use the debugger right?). - * - Let the application run and make sure to trigger the thread in a way to - * make it follow most or all its code paths. If the application crashes or - * halts then increase the stack size and repeat. - * - Stop the application using the debugger and examine the thread working - * area (you know what a map file is, right?). You can see that the thread - * stack overwrote the fill pattern (0x55) from the top of the working area - * downward. You can estimate the excess stack by counting the untouched - * locations. - * - Trim down the stack size and repeat until the application still runs - * correctly and you have a decent margin in the stack. - * - Repeat for all the thread classes in the system. - * - Turn off the debug options. - * - Done. - * . - *

          Final Notes

          - * Some useful info: - * - Stack overflows are the most common problems source during development, - * when in trouble with crashes or anomalous behaviors always first verify - * stack sizes. - * - The required stack size can, and very often does change when changing - * compiler vendor, compiler version, compiler options, code type (ARM - * or THUMB as example). - * - Code compiled in THUMB mode uses more stack space compared to the - * same code compiled in ARM mode. In GCC this is related to lack of tail - * calls optimizations in THUMB mode, this is probably true also in other - * compilers. - * - Speed optimized code often requires less stack space compared to space - * optimized code. Be careful when changing optimizations. - * - The interrupts space overhead on the thread stacks (@p INT_REQUIRED_STACK - * defined in @p chcore.h) is included in the total working area size - * by the system macros @p THD_WA_SIZE() and @p WORKING_AREA().
          - * The correct way to reserve space into the thread stacks for interrupts - * processing is to override the @p INT_REQUIRED_STACK default value. - * Architectures with a dedicated interrupt stack do not require changes - * to this value. Resizing of the global interrupt stack may be required - * instead. - * - Often is a good idea to have some extra space in stacks unless you - * are really starved on RAM. Anyway, it is best to optimize stack space - * at the very end of your development cycle. - * . - */ diff --git a/docs/src/stop_os.dox b/docs/src/stop_os.dox deleted file mode 100644 index d2434dea9..000000000 --- a/docs/src/stop_os.dox +++ /dev/null @@ -1,133 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_stop_os How to cleanly stop the OS - * Stopping the OS should not be normally required but there are scenarios - * where one might want the complete control over the system again. - * As example entering into a bootload mode, or invoking some flashing - * algorithm locked in ROM.
          - * ChibiOS/RT does not have a shutdown API and there is a reason for this, - * stopping the kernel would not be enough, a well defined operations sequence - * is required.
          - * The shutdown operation should always be implemented into the @p main() - * function because in that context the stack pointer is guaranteed to be - * in the area allocated by the startup code. Stopping from a thread would - * leave the stack pointer "somewhere".
          - * The shutdown sequence should include the following steps, some steps - * are optional and depend on the application: - * - Safely stop critical threads. As example a thread that uses a File System - * should flush all the modified buffers to the persistent storage before - * terminating.
          - * The system should be designed to request the thread termination using - * @p chThdTerminate() and then wait its termination using @p chThdWait(). - * This phase can be skipped for non-critical threads. - * - Invoke the xxxStop() method on all the active device drivers, this - * disables the interrupt sources used by the various peripherals. This - * is required in order to not have interrupts after the shutdown that - * may invoke OS primitives. - * - Invoke chSysDisable(). - * - Stop the system timer whose service routine invokes - * @p chSysTimerHandlerI(). - * - Disable any other interrupt source that may invoke OS APIs. In general - * all the interrupt sources that have handlers declared by using the - * @p CH_IRQ_HANDLER() macro. - * - Perform any application related de-initialization. - * - Invoke chSysEnable(). - * . - * Now the OS is stopped and you can safely assume there are nothing going on - * under the hood. From here you can also restart the OS after finishing your - * critical operations using the following sequence: - * - Invoke chSysDisable(). - * - Restart the system timer. - * - Reinitialize the OS by invoking @p chSysInit(). - * - Restart your device drivers using the @p xxxStart() methods. - * - Restart all your threads. - * . - *

          Example

          - * This is an example of an hypothetical application that have to shutdown - * the OS when a certain event is generated. - * @code -#include "ch.h" -#include "hal.h" - -/* A shutdown flag.*/ -bool_t shutdown_required; - -/* Critical thread.*/ -static void my_thread(void *p) { - - while (!chThdShouldTerminate()) { - /* Normal thread activity code.*/ - } - /* Thread de-initialization before terminating, here you put the critical - thread finalization code.*/ - return 0; -} - -/* Main program, it is entered with interrupts disabled.*/ -void main(void) { - - /* HAL initialization, you need to do this just once.*/ - halInit(); - - /* Main loop, the main() function never exits.*/ - while (TRUE) { - Thread *tp; - - shutdown_required = FALSE; - - /* ChibiOS/RT initialization. This function becomes an OS thread.*/ - chSysInit(); - - /* Starting a device driver, SD2 in this case.*/ - sdStart(&SD2, NULL); - - /* Starting our critical thread.*/ - tp = chThdCreateFromHeap(NULL, THD_WA_SIZE(256), - NORMALPRIO, my_thread, &SD2); - - /* Main thread activity into a loop.*/ - while (!shutdown_required) { - /* Main activity, OS active until a shutdown becomes necessary.*/ - } - - /* Starting the shutdown sequence.*/ - chThdTerminate(tp); /* Requesting termination. */ - chThdWait(tp); /* Waiting for the actual termination. */ - sdStop(&SD2); /* Stopping serial port 2. */ - chSysDisable(); - stop_system_timer(); - stop_any_other_interrupt(); - chSysEnable(); - - /* Now the main function is again a normal function, no more a - OS thread.*/ - do_funny_stuff(); - - /* Restarting the OS but you could also stop the system or trigger a - reset instead.*/ - chSysDisable(); - } -} - * @endcode - * As you can see it is possible to jump in and out of the "OS mode" quite - * easily. Note that this is just an example, the real code could be very - * different depending on your requirements. - */ diff --git a/docs/src/target.dox b/docs/src/target.dox deleted file mode 100644 index 9904f1426..000000000 --- a/docs/src/target.dox +++ /dev/null @@ -1,82 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page target Application Range - * @brief ChibiOS/RT Application Range. - * - @ref applications - * - @ref min_requirements - * - @ref desirable_features - * - @ref upper_limit - * . - * @section applications Application Scenarios - * ChibiOS/RT is usable in many applicative areas, as example and not limited - * to: - * - Automotive. - * - Robotic Applications. - * - Consumer Electronics. - * - Energy Management. - * - Teaching and Learning. - * - Hobby. - * . - * @section min_requirements Absolute Minimum Requirements - * A certain set of minimum system requirements must be satisfied in order to - * use ChibiOS/RT on a new architecture: - * - 8bits architecture minimum. - * - A "real" stack pointer that can be positioned anywhere in the data address - * space. The OS could be ported to architectures with an hardware stack but - * I wouldn't recommend it because the context switch would become - * ridiculously inefficient. - * - Support for maskable interrupt sources and at least an OS-dedicated timer. - * - Support for standard C89 (C99 supported) language with no - * architecture-related non-standard restrictions. Non standard mandatory - * language extensions or restrictions may result in reduced functionality - * or impossibility of use. - * - 256/512bytes RAM permanently allocated to the kernel and its two mandatory - * threads "idle" and "main", the exact amount depends on the architecture. - * This figure is not inclusive of the HAL and device drivers (non mandatory - * components). - * - 8KiB of program space for a full featured kernel scalable down to about - * 1.2KiB for reduced configurations. This figure is not inclusive of the - * HAL and device drivers (non mandatory components). - * . - * @section desirable_features Desirable Features - * - Efficient instruction set for linked lists traversal. The kernel makes - * extensive use of simple and bidirectional linked lists so the performance - * is directly affected by the supported addressing modes, number of - * registers etc. - * - Uniformly sized C pointers. - * - 2KiB RAM. - * - 16KiB ROM/Flash. - * . - * @section upper_limit Upper Recommended Limit - * The application range of ChibiOS/RT ends when one or more of the following - * features are required: - * - Separation between user code space and kernel space, both just logical or - * using a Memory Management/Protection Unit. Applications in ChibiOS/RT are - * supposed to be monolithic and trusted. The kernel and the application - * share the same address space. - * - Multiple applications. ChibiOS/RT supports the single multithreaded - * application model. - * - Multicore SMP architectures. Currently ChibiOS/RT only supports a single - * core unless running multiple distinct and separate OS instances. - * A true multicore kernel is planned for when multicore MCUs will become - * commonly available. - * . - */ diff --git a/docs/src/timing.dox b/docs/src/timing.dox deleted file mode 100644 index 14c3b14ec..000000000 --- a/docs/src/timing.dox +++ /dev/null @@ -1,91 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_timing Reliable timings using Threads - * One common task is to have threads do something at regular, scheduled, - * intervals. - * An obvious solution is to write something like this: - * @code -msg_t my_thread(void *param) { - - while (TRUE) { - do_something(); - chThdSleepMilliseconds(1000); // Fixed interval - } -} - * @endcode - * This example works well assuming that the @p do_something() execution time - * is well below the system tick period and that @p my_thread() is not - * preempted by other threads that could insert long intervals.
          - * If the above conditions are not satisfied you may have @p do_something() - * executed at irregular intervals, as example:

          - * T0...T0+1000...T0+2002...T0+3002...T0+4005...etc.

          - * Also note that the error increases over time and this kind of behavior can - * lead to anomalies really hard to debug. - *

          A better solution

          - * It is possible to rewrite the above code using absolute deadlines rather - * than fixed intervals: - * @code -msg_t my_thread(void *param) { - - systick_t time = chTimeNow(); // T0 - while (TRUE) { - time += MS2ST(1000); // Next deadline - do_something(); - chThdSleepUntil(time); - } -} - * @endcode - * Using this code @p do_something() will always be executed at an absolute - * deadline time and the error will not accumulate over time regardless of - * the execution time and delays inserted by other threads.
          - * Note that this solution requires that the @p do_something() execution - * time must not exceed the deadline or the thread would stay sleeping into - * @p chThdSleepUntil(). - * - *

          A different way

          - * Another way to perform activities at regular intervals is the use of a - * virtual timer. Virtual timers are able to generate callbacks at scheduled - * intervals. Virtual timers are one shot timers so you need to restart them - * from within the callback if you need a periodic timer like in this case. - * @code -VirtualTimer vt; - -void do_something(void *p) { - - chVTSetI(&vt, MS2ST(1000), do_something, p); // Restarts the timer. - // Periodic code here. -} - -int main(int argc, char **argv) { - - chSysLock(); - chVTSetI(&vt, MS2ST(1000), do_something, NULL); // Starts the timer. - chSysUnlock(); - ... -} - * @endcode - * Note that the callback code is executed from within the I-Locked state (see - * @ref system_states) so you can only execute I-Class APIs from there (see - * @ref api_suffixes).
          - * This solution has the advantage to not require a dedicated thread and - * thus uses much less RAM but the periodic code must have a very short - * execution time or it would degrade the overall system response time. - */ diff --git a/docs/src/wakeup.dox b/docs/src/wakeup.dox deleted file mode 100644 index b53806b78..000000000 --- a/docs/src/wakeup.dox +++ /dev/null @@ -1,148 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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, see . -*/ - -/** - * @page article_wakeup How to wake up a thread from an interrupt handler - * Waking up a thread after an hardware event is one of the most common tasks - * that an RTOS must be able to perform efficiently. In ChibiOS/RT there are - * several mechanisms that can be used, often each mechanism is best suited - * in a specific scenario. - * - *

          Synchronously waking up a specific thread

          - * A common situation is to have to synchronously wake up a specific thread. - * This can be accomplished without the use of any specific synchronization - * primitive, it uses the very efficient low level scheduler APIs, note that - * you can also optionally send a simple message from the IRQ handler to - * the thread. - * @code -static Thread *tp = NULL; - -void mythread(void *p) { - - while (TRUE) { - msg_t msg; - - // Waiting for the IRQ to happen. - chSysLock(); - tp = chThdSelf(); - chSchGoSleepS(PRSUSPENDED); - msg = chThdSelf()->p_rdymsg; // Retrieving the message, optional - chSysUnlock(); - // Perform processing here. - } -} - -CH_IRQ_HANDLER(myIRQ) { - CH_IRQ_PROLOGUE(); - - // Wakes up the thread. - chSysLockFromIsr(); - if (tp != NULL) { - tp->p_rdymsg = (msg_t)55; // Sending the message, optional - chSchReadyI(tp); - tp = NULL; - } - chSysUnlockFromIsr(). - - CH_IRQ_EPILOGUE(); -} - * @endcode - * - *

          Synchronously waking up one of the waiting threads

          - * Lets assume you have a queue of waiting threads, you want to wake up - * the threads one by one in FIFO order, if there are no waiting threads - * then nothing happens.
          - * This can be accomplished using a @p Semaphore object initialized to zero: - * @code -CH_IRQ_HANDLER(myIRQ) { - CH_IRQ_PROLOGUE(); - - // If there is at least one waiting thread then signal it. - chSysLockFromIsr(); - if (chSemGetCounterI(&mysem) < 0) - chSemSignalI(&mysem); - chSysUnlockFromIsr(). - - CH_IRQ_EPILOGUE(); -} - * @endcode - * - *

          Synchronously waking up all the waiting threads

          - * In this scenario you want to synchronously wake up all the waiting threads, - * if there are no waiting threads then nothing happens.
          - * This can be accomplished using a @p Semaphore object initialized to zero: - * @code -CH_IRQ_HANDLER(myIRQ) { - CH_IRQ_PROLOGUE(); - - // Wakes up all the threads waiting on the semaphore. - chSysLockFromIsr(); - chSemResetI(&mysem); - chSysUnlockFromIsr(). - - CH_IRQ_EPILOGUE(); -} - * @endcode - * - *

          Asynchronously waking up a specific thread

          - * If you have to asynchronously wake up a specific thread then a simple - * event flags can be used. - * @code -static Thread *tp; - -void mythread(void *p) { - - tp = chThdSelf(); - while (TRUE) { - // Checks if an IRQ happened else wait. - chEvtWaitAny((eventmask_t)1); - // Perform processing here. - } -} - -CH_IRQ_HANDLER(myIRQ) { - CH_IRQ_PROLOGUE(); - - // Wakes up the thread. - chSysLockFromIsr(); - chEvtSignalI(tp, (eventmask_t)1); - chSysUnlockFromIsr(). - - CH_IRQ_EPILOGUE(); -} - * @endcode - * - *

          Asynchronously waking up one or more threads

          - * By using event sources it is possible to asynchronously wake up one or more - * listener threads. The mechanism requires a single initialized - * @p EventSource object, all the threads registered as listeners on the - * event source will be broadcasted. - * @code -CH_IRQ_HANDLER(myIRQ) { - CH_IRQ_PROLOGUE(); - - // Pends an event flag on all the listening threads. - chSysLockFromIsr(); - chEvtBroadcastI(&my_event_source); - chSysUnlockFromIsr(). - - CH_IRQ_EPILOGUE(); -} - * @endcode - */ -- cgit v1.2.3 From 7f61cb948ccdbd728643e0f174ee87542d9a862d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 3 Oct 2010 13:45:52 +0000 Subject: Added shortcut to the web documentation. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2233 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/readme.txt | 22 ++-------------------- docs/rsc/eclipse003.jpg | Bin 42621 -> 0 bytes docs/rsc/eclipse004.jpg | Bin 49163 -> 0 bytes docs/rsc/eclipse005.jpg | Bin 45472 -> 0 bytes docs/rsc/eclipse006.jpg | Bin 15292 -> 0 bytes docs/rsc/eclipse007.jpg | Bin 61644 -> 0 bytes docs/rsc/eclipse008.jpg | Bin 19051 -> 0 bytes docs/rsc/eclipse009.jpg | Bin 33845 -> 0 bytes docs/rsc/eclipse010.jpg | Bin 29039 -> 0 bytes docs/rsc/eclipse011.jpg | Bin 34286 -> 0 bytes docs/rsc/eclipse012.jpg | Bin 12243 -> 0 bytes docs/rsc/eclipse013.jpg | Bin 60847 -> 0 bytes docs/rsc/tool001.jpg | Bin 22548 -> 0 bytes docs/rsc/tool002.jpg | Bin 47193 -> 0 bytes 14 files changed, 2 insertions(+), 20 deletions(-) delete mode 100644 docs/rsc/eclipse003.jpg delete mode 100644 docs/rsc/eclipse004.jpg delete mode 100644 docs/rsc/eclipse005.jpg delete mode 100644 docs/rsc/eclipse006.jpg delete mode 100644 docs/rsc/eclipse007.jpg delete mode 100644 docs/rsc/eclipse008.jpg delete mode 100644 docs/rsc/eclipse009.jpg delete mode 100644 docs/rsc/eclipse010.jpg delete mode 100644 docs/rsc/eclipse011.jpg delete mode 100644 docs/rsc/eclipse012.jpg delete mode 100644 docs/rsc/eclipse013.jpg delete mode 100644 docs/rsc/tool001.jpg delete mode 100644 docs/rsc/tool002.jpg (limited to 'docs') diff --git a/docs/readme.txt b/docs/readme.txt index 17d5b9136..e89c7161d 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -3,10 +3,10 @@ Open ./docs/index.html to open the start page or ./docs/html/index.html in order to access directly the doxigen documentation. -*** Documentation rebuild procedure *** +*** Documentation build procedure *** The following software must be installed: -- Doxygen 1.5.7.1 or later. +- Doxygen 1.6.3 or later. - Graphviz 2.21 or later. The ./bin directory must be specified in the path in order to make Graphviz accessible by Doxygen. @@ -14,21 +14,3 @@ Build procedure: - Run Doxywizard. - Load ./docs/Doxyfile from Doxywizard. - Start. - -*** Doxygen usage rules *** -- The JavaDoc style is recommended (@ instad of \, /** instead of /*!). -- Params descriptions must not begin with a capital letter and must not be - terminated with a dot unless it is composed of multiple paragraphs. -- Retvals descriptions must not begin with a capital letter but must be - terminated by a dot. -- Normal paragraphs, return rescriptions and notes must start with a capital - letter and must be terminated with a dot. -- Multiple return values should be listed using the @retval command. -- Parameters direction must be specified. - -Examples: -@note This is a note. -@retval RDY_OK is a possible return value. -@return The pointer to the created thread is returned. -@param[in] n the number of bytes to be written -@param[in] n the number of bytes to be written. This value can be zero. diff --git a/docs/rsc/eclipse003.jpg b/docs/rsc/eclipse003.jpg deleted file mode 100644 index a5cee7998..000000000 Binary files a/docs/rsc/eclipse003.jpg and /dev/null differ diff --git a/docs/rsc/eclipse004.jpg b/docs/rsc/eclipse004.jpg deleted file mode 100644 index 4d3fc2a85..000000000 Binary files a/docs/rsc/eclipse004.jpg and /dev/null differ diff --git a/docs/rsc/eclipse005.jpg b/docs/rsc/eclipse005.jpg deleted file mode 100644 index 63ce31e19..000000000 Binary files a/docs/rsc/eclipse005.jpg and /dev/null differ diff --git a/docs/rsc/eclipse006.jpg b/docs/rsc/eclipse006.jpg deleted file mode 100644 index fd56acdb5..000000000 Binary files a/docs/rsc/eclipse006.jpg and /dev/null differ diff --git a/docs/rsc/eclipse007.jpg b/docs/rsc/eclipse007.jpg deleted file mode 100644 index 9332d5777..000000000 Binary files a/docs/rsc/eclipse007.jpg and /dev/null differ diff --git a/docs/rsc/eclipse008.jpg b/docs/rsc/eclipse008.jpg deleted file mode 100644 index f602fa81e..000000000 Binary files a/docs/rsc/eclipse008.jpg and /dev/null differ diff --git a/docs/rsc/eclipse009.jpg b/docs/rsc/eclipse009.jpg deleted file mode 100644 index fb8264b11..000000000 Binary files a/docs/rsc/eclipse009.jpg and /dev/null differ diff --git a/docs/rsc/eclipse010.jpg b/docs/rsc/eclipse010.jpg deleted file mode 100644 index d92381ba2..000000000 Binary files a/docs/rsc/eclipse010.jpg and /dev/null differ diff --git a/docs/rsc/eclipse011.jpg b/docs/rsc/eclipse011.jpg deleted file mode 100644 index 1da305279..000000000 Binary files a/docs/rsc/eclipse011.jpg and /dev/null differ diff --git a/docs/rsc/eclipse012.jpg b/docs/rsc/eclipse012.jpg deleted file mode 100644 index e40725fa4..000000000 Binary files a/docs/rsc/eclipse012.jpg and /dev/null differ diff --git a/docs/rsc/eclipse013.jpg b/docs/rsc/eclipse013.jpg deleted file mode 100644 index bc8441eef..000000000 Binary files a/docs/rsc/eclipse013.jpg and /dev/null differ diff --git a/docs/rsc/tool001.jpg b/docs/rsc/tool001.jpg deleted file mode 100644 index f4a004fba..000000000 Binary files a/docs/rsc/tool001.jpg and /dev/null differ diff --git a/docs/rsc/tool002.jpg b/docs/rsc/tool002.jpg deleted file mode 100644 index c36767ea3..000000000 Binary files a/docs/rsc/tool002.jpg and /dev/null differ -- cgit v1.2.3 From 61922d458b3032cca129b795c430eee089864a43 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 25 Oct 2010 18:48:13 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2291 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index ee6752f5d..7aa877d07 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -631,19 +631,20 @@ INPUT = ../docs/src \ ../os/ports/cosmic/STM8 \ ../os/ports/RC/STM8 \ ../os/hal \ + ../os/hal/dox \ ../os/hal/include \ ../os/hal/src \ ../os/hal/templates \ ../os/hal/platforms \ - ../os/hal/platforms/AT91SAM7 \ - ../os/hal/platforms/AVR \ - ../os/hal/platforms/LPC11xx \ - ../os/hal/platforms/LPC13xx \ - ../os/hal/platforms/LPC214x \ - ../os/hal/platforms/MSP430 \ - ../os/hal/platforms/SPC56x \ - ../os/hal/platforms/STM32 \ - ../os/hal/platforms/STM8 \ + ../os/hal/platforms/AT91SAM7/platform.dox \ + ../os/hal/platforms/AVR/platform.dox \ + ../os/hal/platforms/LPC11xx/platform.dox \ + ../os/hal/platforms/LPC13xx/platform.dox \ + ../os/hal/platforms/LPC214x/platform.dox \ + ../os/hal/platforms/MSP430/platform.dox \ + ../os/hal/platforms/SPC56x/platform.dox \ + ../os/hal/platforms/STM32/platform.dox \ + ../os/hal/platforms/STM8/platform.dox \ ../os/various \ ../test \ ../ext/ext.dox -- cgit v1.2.3 From a884e58e2cea877f804cb643d4d1e0909bd1fa49 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 30 Oct 2010 11:18:28 +0000 Subject: Added a polled exchange function to the SPI driver model, implemented on LPCxxxx SPI drivers. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2302 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48.txt | 34 ++++++++++++++++++++-------------- docs/reports/LPC1343-72.txt | 34 ++++++++++++++++++++-------------- docs/reports/LPC2148-48-ARM.txt | 31 +++++++++++++++++-------------- docs/reports/LPC2148-48-THUMB.txt | 25 ++++++++++++++----------- 4 files changed, 71 insertions(+), 53 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48.txt b/docs/reports/LPC1114-48.txt index 33c853f5d..ec518e4f6 100644 --- a/docs/reports/LPC1114-48.txt +++ b/docs/reports/LPC1114-48.txt @@ -5,7 +5,7 @@ Settings: CLK=48, (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.5unstable +*** Kernel: 2.1.2unstable *** GCC Version: 4.3.3 *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 @@ -34,6 +34,9 @@ Settings: CLK=48, (3 wait states) --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -85,6 +88,9 @@ Settings: CLK=48, (3 wait states) --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -92,55 +98,55 @@ Settings: CLK=48, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 125437 msgs/S, 250874 ctxswc/S +--- Score : 124135 msgs/S, 248270 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 102120 msgs/S, 204240 ctxswc/S +--- Score : 99992 msgs/S, 199984 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 102120 msgs/S, 204240 ctxswc/S +--- Score : 99992 msgs/S, 199984 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 384256 ctxswc/S +--- Score : 380432 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 78221 threads/S +--- Score : 80188 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 105737 threads/S +--- Score : 111404 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 31756 reschedules/S, 190536 ctxswc/S +--- Score : 31034 reschedules/S, 186204 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 238060 ctxswc/S +--- Score : 253200 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 316568 bytes/S +--- Score : 298992 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 355402 timers/S +--- Score : 350196 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 607004 wait+signal/S +--- Score : 591948 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 371272 lock+unlock/S +--- Score : 334860 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 340 bytes +--- System: 360 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes diff --git a/docs/reports/LPC1343-72.txt b/docs/reports/LPC1343-72.txt index be0807c5c..277879671 100644 --- a/docs/reports/LPC1343-72.txt +++ b/docs/reports/LPC1343-72.txt @@ -5,7 +5,7 @@ Settings: CLK=72, (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.5unstable +*** Kernel: 2.1.2unstable *** GCC Version: 4.3.3 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -34,6 +34,9 @@ Settings: CLK=72, (3 wait states) --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -85,6 +88,9 @@ Settings: CLK=72, (3 wait states) --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -92,55 +98,55 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 246902 msgs/S, 493804 ctxswc/S +--- Score : 241881 msgs/S, 483762 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 199024 msgs/S, 398048 ctxswc/S +--- Score : 196281 msgs/S, 392562 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 199024 msgs/S, 398048 ctxswc/S +--- Score : 196281 msgs/S, 392562 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 797224 ctxswc/S +--- Score : 806072 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 154518 threads/S +--- Score : 155163 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 212574 threads/S +--- Score : 219028 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 65262 reschedules/S, 391572 ctxswc/S +--- Score : 63239 reschedules/S, 379434 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 476648 ctxswc/S +--- Score : 473392 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 521644 bytes/S +--- Score : 482836 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 674724 timers/S +--- Score : 707908 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 977676 wait+signal/S +--- Score : 909504 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 662296 lock+unlock/S +--- Score : 588968 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 324 bytes +--- System: 360 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index 9cae2a078..e5c3669fb 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,8 +5,8 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.7unstable -*** GCC Version: 4.5.0 +*** Kernel: 2.1.2unstable +*** GCC Version: 4.5.1 *** Architecture: ARM *** Core Variant: ARM7TDMI *** Platform: LPC214x @@ -34,6 +34,9 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -95,51 +98,51 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 138220 msgs/S, 276440 ctxswc/S +--- Score : 145385 msgs/S, 290770 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 104419 msgs/S, 208838 ctxswc/S +--- Score : 113890 msgs/S, 227780 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 104419 msgs/S, 208838 ctxswc/S +--- Score : 113890 msgs/S, 227780 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 460416 ctxswc/S +--- Score : 493760 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 85707 threads/S +--- Score : 89746 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 124543 threads/S +--- Score : 128237 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 33282 reschedules/S, 199692 ctxswc/S +--- Score : 35380 reschedules/S, 212280 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 265316 ctxswc/S +--- Score : 276084 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 316988 bytes/S +--- Score : 341980 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 335642 timers/S +--- Score : 333360 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 585024 wait+signal/S +--- Score : 607412 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 368620 lock+unlock/S +--- Score : 380408 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index aeaae4845..a45dc45b5 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -5,8 +5,8 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.7unstable -*** GCC Version: 4.5.0 +*** Kernel: 2.1.2unstable +*** GCC Version: 4.5.1 *** Architecture: ARM *** Core Variant: ARM7TDMI *** Platform: LPC214x @@ -34,6 +34,9 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -95,15 +98,15 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 106460 msgs/S, 212920 ctxswc/S +--- Score : 106223 msgs/S, 212446 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 88195 msgs/S, 176390 ctxswc/S +--- Score : 88032 msgs/S, 176064 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 88195 msgs/S, 176390 ctxswc/S +--- Score : 88032 msgs/S, 176064 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -111,23 +114,23 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 69580 threads/S +--- Score : 71990 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 104828 threads/S +--- Score : 110394 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 29580 reschedules/S, 177480 ctxswc/S +--- Score : 29290 reschedules/S, 175740 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 221556 ctxswc/S +--- Score : 221560 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 261124 bytes/S +--- Score : 261396 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) @@ -139,7 +142,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 260148 lock+unlock/S +--- Score : 244200 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 35d05f85d17de7ebd5cad4638ecd92d91e5be9aa Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 31 Oct 2010 07:36:07 +0000 Subject: Updated reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2309 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/ATmega128-16.txt | 21 ++-- docs/reports/MSP430F1611-0.75.txt | 24 +++-- docs/reports/MSP430F1611-8.txt | 24 +++-- docs/reports/STM32F103-48.txt | 45 ++++---- docs/reports/STM32F103-72.txt | 9 +- docs/reports/STM8S105-16-Cosmic.txt | 29 +++--- docs/reports/STM8S105-16-Raisonance.txt | 25 +++-- docs/reports/coverage.txt | 12 +-- docs/reports/kernel.txt | 178 ++++++++++++++++---------------- 9 files changed, 200 insertions(+), 167 deletions(-) (limited to 'docs') diff --git a/docs/reports/ATmega128-16.txt b/docs/reports/ATmega128-16.txt index 1228d019c..a7bc3cf38 100644 --- a/docs/reports/ATmega128-16.txt +++ b/docs/reports/ATmega128-16.txt @@ -5,7 +5,7 @@ Settings: F_CPU=16000000 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.0unstable +*** Kernel: 2.1.2unstable *** GCC Version: 4.3.0 *** Architecture: AVR *** Core Variant: MegaAVR @@ -34,6 +34,9 @@ Settings: F_CPU=16000000 --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -80,15 +83,15 @@ Settings: F_CPU=16000000 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 31248 msgs/S, 62496 ctxswc/S +--- Score : 31125 msgs/S, 62250 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 25058 msgs/S, 50116 ctxswc/S +--- Score : 24979 msgs/S, 49958 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 25058 msgs/S, 50116 ctxswc/S +--- Score : 24979 msgs/S, 49958 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -96,11 +99,11 @@ Settings: F_CPU=16000000 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 20805 threads/S +--- Score : 21252 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 26709 threads/S +--- Score : 27451 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) @@ -108,11 +111,11 @@ Settings: F_CPU=16000000 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 60756 ctxswc/S +--- Score : 60760 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 82696 bytes/S +--- Score : 80180 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) @@ -124,7 +127,7 @@ Settings: F_CPU=16000000 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 117588 lock+unlock/S +--- Score : 116720 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index a1175ee2d..d04fecff5 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -5,7 +5,7 @@ Settings: MCLK=DCOCLK 750KHz *** ChibiOS/RT test suite *** -*** Kernel: 1.5.4unstable +*** Kernel: 2.1.2unstable *** GCC Version: 3.2.3 *** Architecture: MSP430 *** Core Variant: MSP430 @@ -34,6 +34,9 @@ Settings: MCLK=DCOCLK 750KHz --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -85,6 +88,9 @@ Settings: MCLK=DCOCLK 750KHz --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -95,7 +101,7 @@ Settings: MCLK=DCOCLK 750KHz --- Score : 1970 msgs/S, 3940 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11. (Benchmark, messages #2) +--- Test Case 11.2 (Benchmark, messages #2) --- Score : 1624 msgs/S, 3248 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -108,27 +114,27 @@ Settings: MCLK=DCOCLK 750KHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 1125 threads/S +--- Score : 1145 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 1511 threads/S +--- Score : 1545 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 492 reschedulations/S, 2952 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 494 reschedules/S, 2964 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 4256 reschedulations/S, 4256 ctxswc/S +--- Score : 3820 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 5020 bytes/S +--- Score : 4920 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 5626 timers/S +--- Score : 5628 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) diff --git a/docs/reports/MSP430F1611-8.txt b/docs/reports/MSP430F1611-8.txt index b94d6f778..bcb4980ba 100644 --- a/docs/reports/MSP430F1611-8.txt +++ b/docs/reports/MSP430F1611-8.txt @@ -5,7 +5,7 @@ Settings: MCLK=XT2CLK 8MHz *** ChibiOS/RT test suite *** -*** Kernel: 1.5.4unstable +*** Kernel: 2.1.2unstable *** GCC Version: 3.2.3 *** Architecture: MSP430 *** Core Variant: MSP430 @@ -34,6 +34,9 @@ Settings: MCLK=XT2CLK 8MHz --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -85,6 +88,9 @@ Settings: MCLK=XT2CLK 8MHz --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -92,7 +98,7 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 21356 msgs/S, 42712 ctxswc/S +--- Score : 21355 msgs/S, 42710 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -108,27 +114,27 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 12194 threads/S +--- Score : 12403 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 16367 threads/S +--- Score : 16745 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 5329 reschedulations/S, 31974 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 5350 reschedules/S, 32100 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 46100 reschedulations/S, 46100 ctxswc/S +--- Score : 41332 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 54380 bytes/S +--- Score : 53292 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 60970 timers/S +--- Score : 61058 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index d57a1da73..b5b28b4eb 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -5,9 +5,12 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.3.5unstable -*** Architecture: ARM Cortex-M3 -*** GCC Version: 4.4.2 +*** Kernel: 2.1.2unstable +*** GCC Version: 4.5.1 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 MD +*** Test Board: Olimex STM32-P103 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -31,6 +34,9 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -82,6 +88,9 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -89,56 +98,56 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 161714 msgs/S, 323428 ctxswc/S +--- Score : 186214 msgs/S, 372428 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 135981 msgs/S, 271962 ctxswc/S +--- Score : 152411 msgs/S, 304822 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 135981 msgs/S, 271962 ctxswc/S +--- Score : 152411 msgs/S, 304822 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 498624 ctxswc/S +--- Score : 613592 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 127308 threads/S +--- Score : 121165 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 162820 threads/S +--- Score : 176605 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 43439 reschedulations/S, 260634 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 46508 reschedules/S, 279048 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 371820 reschedulations/S, 371820 ctxswc/S +--- Score : 357812 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 377504 bytes/S +--- Score : 355212 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 526068 timers/S +--- Score : 514688 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 686360 wait+signal/S +--- Score : 640320 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 475188 lock+unlock/S +--- Score : 475080 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 300 bytes ---- Thread: 60 bytes +--- System: 360 bytes +--- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes --- EventS: 4 bytes diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 1cac6cfe3..1edd0432b 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -34,6 +34,9 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -111,11 +114,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 155165 threads/S +--- Score : 162535 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 223798 threads/S +--- Score : 239471 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) @@ -123,7 +126,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478120 ctxswc/S +--- Score : 478124 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/STM8S105-16-Cosmic.txt b/docs/reports/STM8S105-16-Cosmic.txt index dc43056be..764767ad3 100644 --- a/docs/reports/STM8S105-16-Cosmic.txt +++ b/docs/reports/STM8S105-16-Cosmic.txt @@ -6,7 +6,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. *** ChibiOS/RT test suite *** -*** Kernel: 2.1.0unstable +*** Kernel: 2.1.2unstable *** Architecture: STM8 *** Platform: STM8x *** Test Board: ST STM8S-Discovery @@ -33,6 +33,9 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -94,51 +97,51 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 36244 msgs/S, 72488 ctxswc/S +--- Score : 35999 msgs/S, 71998 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 28697 msgs/S, 57394 ctxswc/S +--- Score : 28391 msgs/S, 56782 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 28697 msgs/S, 57394 ctxswc/S +--- Score : 28391 msgs/S, 56782 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 138392 ctxswc/S +--- Score : 136616 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 20894 threads/S +--- Score : 21059 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 32356 threads/S +--- Score : 32956 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 9299 reschedules/S, 55794 ctxswc/S +--- Score : 8480 reschedules/S, 50880 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 71596 ctxswc/S +--- Score : 70960 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 91500 bytes/S +--- Score : 76592 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 72654 timers/S +--- Score : 72764 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 293272 wait+signal/S +--- Score : 172796 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 141764 lock+unlock/S +--- Score : 141760 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM8S105-16-Raisonance.txt b/docs/reports/STM8S105-16-Raisonance.txt index f02838791..ef7d08903 100644 --- a/docs/reports/STM8S105-16-Raisonance.txt +++ b/docs/reports/STM8S105-16-Raisonance.txt @@ -6,7 +6,7 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.0unstable +*** Kernel: 2.1.2unstable *** Architecture: STM8 *** Platform: STM8x *** Test Board: ST STM8S-Discovery @@ -33,6 +33,9 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -94,23 +97,23 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 32031 msgs/S, 64062 ctxswc/S +--- Score : 31279 msgs/S, 62558 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24553 msgs/S, 49106 ctxswc/S +--- Score : 23785 msgs/S, 47570 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24553 msgs/S, 49106 ctxswc/S +--- Score : 23785 msgs/S, 47570 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 110712 ctxswc/S +--- Score : 107368 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 18000 threads/S +--- Score : 17819 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) @@ -118,23 +121,23 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 7067 reschedules/S, 42402 ctxswc/S +--- Score : 6268 reschedules/S, 37608 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 54880 ctxswc/S +--- Score : 53240 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 63540 bytes/S +--- Score : 53004 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 57702 timers/S +--- Score : 57786 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 216720 wait+signal/S +--- Score : 125116 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index 7148f40f3..67074ad1f 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -9,7 +9,7 @@ Lines executed:76.92% of 13 ../../os/kernel/src/chdebug.c:creating `chdebug.c.gcov' File `../../os/kernel/src/chlists.c' -Lines executed:100.00% of 29 +Lines executed:100.00% of 31 ../../os/kernel/src/chlists.c:creating `chlists.c.gcov' File `../../os/kernel/src/chvt.c' @@ -17,11 +17,11 @@ Lines executed:100.00% of 29 ../../os/kernel/src/chvt.c:creating `chvt.c.gcov' File `../../os/kernel/src/chschd.c' -Lines executed:100.00% of 65 +Lines executed:100.00% of 68 ../../os/kernel/src/chschd.c:creating `chschd.c.gcov' File `../../os/kernel/src/chthreads.c' -Lines executed:100.00% of 120 +Lines executed:100.00% of 134 ../../os/kernel/src/chthreads.c:creating `chthreads.c.gcov' File `../../os/kernel/src/chregistry.c' @@ -29,11 +29,11 @@ Lines executed:100.00% of 18 ../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov' File `../../os/kernel/src/chsem.c' -Lines executed:100.00% of 74 +Lines executed:100.00% of 81 ../../os/kernel/src/chsem.c:creating `chsem.c.gcov' File `../../os/kernel/src/chmtx.c' -Lines executed:100.00% of 96 +Lines executed:100.00% of 111 ../../os/kernel/src/chmtx.c:creating `chmtx.c.gcov' File `../../os/kernel/src/chcond.c' @@ -53,7 +53,7 @@ Lines executed:100.00% of 65 ../../os/kernel/src/chmboxes.c:creating `chmboxes.c.gcov' File `../../os/kernel/src/chqueues.c' -Lines executed:100.00% of 110 +Lines executed:100.00% of 112 ../../os/kernel/src/chqueues.c:creating `chqueues.c.gcov' File `../../os/kernel/src/chmemcore.c' diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 7f28feee6..bf0335758 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,305 +2,305 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 10920 +Kernel Size = 11084 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10468 +Kernel Size = 10644 Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -Kernel Size = 2176 +Kernel Size = 2236 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9572 +Kernel Size = 9676 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9088 +Kernel Size = 9192 Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -Kernel Size = 2200 +Kernel Size = 2260 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5752 +Kernel Size = 5848 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5284 +Kernel Size = 5364 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -Kernel Size = 1512 +Kernel Size = 1520 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5192 +Kernel Size = 5280 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4820 +Kernel Size = 4884 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb Kernel Size = 1340 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4980 +Kernel Size = 5060 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4624 +Kernel Size = 4696 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1284 +Kernel Size = 1292 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5064 +Kernel Size = 5128 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4876 +Kernel Size = 4940 Platform : ARM Cortex-M0 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -Kernel Size = 1348 +Kernel Size = 1368 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4672 +Kernel Size = 4728 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4516 +Kernel Size = 4576 Platform : ARM Cortex-M0 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -Kernel Size = 1252 +Kernel Size = 1264 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8388 +Kernel Size = 8512 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7936 +Kernel Size = 8060 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -Kernel Size = 1884 +Kernel Size = 1920 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7772 +Kernel Size = 7876 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7408 +Kernel Size = 7528 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -Kernel Size = 1676 +Kernel Size = 1708 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8108 +Kernel Size = 8228 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7668 +Kernel Size = 7792 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1816 +Kernel Size = 1852 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7480 +Kernel Size = 7584 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7136 +Kernel Size = 7256 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1608 +Kernel Size = 1640 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5608 +Kernel Size = 5680 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5400 +Kernel Size = 5472 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1364 +Kernel Size = 1388 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5240 +Kernel Size = 5296 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5048 +Kernel Size = 5108 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1272 +Kernel Size = 1292 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5460 +Kernel Size = 5528 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5268 +Kernel Size = 5340 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1316 +Kernel Size = 1336 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5016 +Kernel Size = 5072 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4856 +Kernel Size = 4912 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.0 +Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1220 +Kernel Size = 1236 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5544 +Kernel Size = 5652 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5008 +Kernel Size = 5128 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1176 +Kernel Size = 1200 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5480 +Kernel Size = 5592 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4964 +Kernel Size = 5088 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1176 +Kernel Size = 1200 -- cgit v1.2.3 From 37e7834f456837979cef502be97a0afa07e36897 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 31 Oct 2010 08:34:16 +0000 Subject: New version numbers, fixed bug 3099701. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2311 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 7aa877d07..d7e6dd73b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.1.2 +PROJECT_NUMBER = 2.1.3 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From ae942d4ba52e6a0c03578a81f83862f591aa97f4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 6 Nov 2010 11:34:18 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2335 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 4 ++-- docs/reports/STM8S105-16-Cosmic.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 1edd0432b..1f2cfeb29 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.3unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -98,7 +98,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248573 msgs/S, 497146 ctxswc/S +--- Score : 248574 msgs/S, 497148 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) diff --git a/docs/reports/STM8S105-16-Cosmic.txt b/docs/reports/STM8S105-16-Cosmic.txt index 764767ad3..22a86cfc5 100644 --- a/docs/reports/STM8S105-16-Cosmic.txt +++ b/docs/reports/STM8S105-16-Cosmic.txt @@ -6,7 +6,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.3unstable *** Architecture: STM8 *** Platform: STM8x *** Test Board: ST STM8S-Discovery -- cgit v1.2.3 From 25b567b12c60a6256376ef5159ff3767d04878f6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 6 Nov 2010 11:53:43 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2337 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d7e6dd73b..468ab580e 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -618,15 +618,11 @@ INPUT = ../docs/src \ ../os/ports \ ../os/ports/GCC/AVR \ ../os/ports/GCC/ARM7 \ - ../os/ports/GCC/ARM7/crt0.s \ - ../os/ports/GCC/ARM7/chcoreasm.s \ ../os/ports/GCC/ARMCMx \ - ../os/ports/GCC/ARMCMx/crt0.s \ - ../os/ports/GCC/ARMCMx/STM32F10x \ + ../os/ports/GCC/ARMCMx/STM32 \ ../os/ports/GCC/ARMCMx/LPC11xx \ ../os/ports/GCC/ARMCMx/LPC13xx \ ../os/ports/GCC/PPC \ - ../os/ports/GCC/PPC/crt0.s \ ../os/ports/GCC/MSP430 \ ../os/ports/cosmic/STM8 \ ../os/ports/RC/STM8 \ @@ -691,7 +687,8 @@ FILE_PATTERNS = *.c \ *.mm \ *.dox \ *.py \ - *.ddf + *.ddf \ + *.s # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. -- cgit v1.2.3 From e5c365f61563007712f5f28500e04ba61e33994a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 9 Nov 2010 18:50:57 +0000 Subject: Documentation related fixes. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2340 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 468ab580e..1ec769657 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.1.3 +PROJECT_NUMBER = 2.1.4 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From bb6d225f57811ded378ffcb2457454decdb98e1c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 13 Nov 2010 16:59:32 +0000 Subject: Initial STM8L support. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2359 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8L152-16-Cosmic.txt | 161 ++++++++++++++++++++++++++++++++ docs/reports/STM8L152-16-Raisonance.txt | 161 ++++++++++++++++++++++++++++++++ 2 files changed, 322 insertions(+) create mode 100644 docs/reports/STM8L152-16-Cosmic.txt create mode 100644 docs/reports/STM8L152-16-Raisonance.txt (limited to 'docs') diff --git a/docs/reports/STM8L152-16-Cosmic.txt b/docs/reports/STM8L152-16-Cosmic.txt new file mode 100644 index 000000000..88eb55577 --- /dev/null +++ b/docs/reports/STM8L152-16-Cosmic.txt @@ -0,0 +1,161 @@ +*************************************************************************** +Options: Optimized for speed +Settings: CPUCLK=16MHz (HSI) +Compiler: Cosmic STM8 compiler 4.3.3.3. +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.4unstable +*** Architecture: STM8 +*** Platform: STM8L +*** Test Board: ST STM8L-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 35835 msgs/S, 71670 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 28288 msgs/S, 56576 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 28288 msgs/S, 56576 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 135880 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 20947 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 32685 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 8479 reschedules/S, 50874 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 70720 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 75344 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 72482 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 170476 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 142064 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 218 bytes +--- Thread: 32 bytes +--- Timer : 10 bytes +--- Semaph: 5 bytes +--- EventS: 2 bytes +--- EventL: 5 bytes +--- Mutex : 8 bytes +--- CondV.: 4 bytes +--- Queue : 15 bytes +--- MailB.: 18 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM8L152-16-Raisonance.txt b/docs/reports/STM8L152-16-Raisonance.txt new file mode 100644 index 000000000..954ad48a8 --- /dev/null +++ b/docs/reports/STM8L152-16-Raisonance.txt @@ -0,0 +1,161 @@ +*************************************************************************** +Options: Optimized for speed +Settings: CPUCLK=16MHz (HSI) +Compiler: Raisonance RKit-STM8_2.30.10.0175 +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.4unstable +*** Architecture: STM8 +*** Platform: STM8L +*** Test Board: ST STM8L-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 31276 msgs/S, 62552 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 23783 msgs/S, 47566 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 23783 msgs/S, 47566 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 107360 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 17818 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 27844 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 6268 reschedules/S, 37608 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 53228 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 53000 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 57696 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 125104 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 123176 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 214 bytes +--- Thread: 32 bytes +--- Timer : 10 bytes +--- Semaph: 5 bytes +--- EventS: 2 bytes +--- EventL: 5 bytes +--- Mutex : 8 bytes +--- CondV.: 4 bytes +--- Queue : 15 bytes +--- MailB.: 18 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 3d8808a39ebb8b6e5d90ddaf24de48f4dff2860e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 14 Nov 2010 13:38:45 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2364 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 1f2cfeb29..99782d211 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,11 +5,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.3unstable +*** Kernel: 2.1.4unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 -*** Platform: STM32 MD +*** Platform: STM32 Performance Line Medium Density *** Test Board: Olimex STM32-P103 ---------------------------------------------------------------------------- @@ -126,7 +126,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478124 ctxswc/S +--- Score : 478128 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From 5962467685985de2d79a85a1fcf8b1961d3d72de Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 15 Nov 2010 19:44:09 +0000 Subject: Added STM32VL-Discovery demo. Changes to all the board files. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2370 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F100-24.txt | 162 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 docs/reports/STM32F100-24.txt (limited to 'docs') diff --git a/docs/reports/STM32F100-24.txt b/docs/reports/STM32F100-24.txt new file mode 100644 index 000000000..88f7643db --- /dev/null +++ b/docs/reports/STM32F100-24.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: SYSCLK=24, ACR=0x10 (no wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.4unstable +*** GCC Version: 4.5.1 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Value Line Medium Density +*** Test Board: ST STM32VL-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 103344 msgs/S, 206688 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 84663 msgs/S, 169326 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 84663 msgs/S, 169326 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 341696 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 66320 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 96271 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 26090 reschedules/S, 156540 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 199352 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 203224 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 310132 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 382056 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 284268 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 0655c8307fbe763433070a3d384c08c3873ac81e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 16 Nov 2010 19:46:45 +0000 Subject: Small fix and re-tested. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2372 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S105-16-Cosmic.txt | 28 ++++++++++++++-------------- docs/reports/STM8S105-16-Raisonance.txt | 6 +++--- 2 files changed, 17 insertions(+), 17 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM8S105-16-Cosmic.txt b/docs/reports/STM8S105-16-Cosmic.txt index 22a86cfc5..febbda383 100644 --- a/docs/reports/STM8S105-16-Cosmic.txt +++ b/docs/reports/STM8S105-16-Cosmic.txt @@ -1,14 +1,14 @@ *************************************************************************** Options: Optimized for speed -Settings: CPUCLK=16MHz (HSI) +Settings: CPUCLK=16MHz (HSE) Compiler: Cosmic STM8 compiler 4.3.3.3. *************************************************************************** *** ChibiOS/RT test suite *** -*** Kernel: 2.1.3unstable +*** Kernel: 2.1.4unstable *** Architecture: STM8 -*** Platform: STM8x +*** Platform: STM8S *** Test Board: ST STM8S-Discovery ---------------------------------------------------------------------------- @@ -97,43 +97,43 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 35999 msgs/S, 71998 ctxswc/S +--- Score : 35678 msgs/S, 71356 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 28391 msgs/S, 56782 ctxswc/S +--- Score : 28141 msgs/S, 56282 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 28391 msgs/S, 56782 ctxswc/S +--- Score : 28141 msgs/S, 56282 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 136616 ctxswc/S +--- Score : 135312 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 21059 threads/S +--- Score : 20922 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 32956 threads/S +--- Score : 32889 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 8480 reschedules/S, 50880 ctxswc/S +--- Score : 8458 reschedules/S, 50748 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 70960 ctxswc/S +--- Score : 71040 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 76592 bytes/S +--- Score : 76228 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 72764 timers/S +--- Score : 73264 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) @@ -141,7 +141,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 141760 lock+unlock/S +--- Score : 143032 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM8S105-16-Raisonance.txt b/docs/reports/STM8S105-16-Raisonance.txt index ef7d08903..4e36e013b 100644 --- a/docs/reports/STM8S105-16-Raisonance.txt +++ b/docs/reports/STM8S105-16-Raisonance.txt @@ -1,14 +1,14 @@ *************************************************************************** Options: Optimized for speed -Settings: CPUCLK=16MHz (HSI) +Settings: CPUCLK=16MHz (HSE) Compiler: Raisonance RKit-STM8_2.30.10.0175 *************************************************************************** *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.4unstable *** Architecture: STM8 -*** Platform: STM8x +*** Platform: STM8S *** Test Board: ST STM8S-Discovery ---------------------------------------------------------------------------- -- cgit v1.2.3 From 920127b69c53840340f1821ca2cb6e064a9354c7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 17 Nov 2010 14:01:06 +0000 Subject: Changed a path. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2383 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 1ec769657..37e3a152f 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -617,7 +617,7 @@ INPUT = ../docs/src \ ../os/kernel/templates \ ../os/ports \ ../os/ports/GCC/AVR \ - ../os/ports/GCC/ARM7 \ + ../os/ports/GCC/ARM \ ../os/ports/GCC/ARMCMx \ ../os/ports/GCC/ARMCMx/STM32 \ ../os/ports/GCC/ARMCMx/LPC11xx \ -- cgit v1.2.3 From 3ae01fd47b63b190ee6d7588d8721e8edad3d150 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 19 Nov 2010 18:45:11 +0000 Subject: ARM7/9 port update, other improvements. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2389 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 37e3a152f..a4d7719c7 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -616,13 +616,15 @@ INPUT = ../docs/src \ ../os/kernel/src \ ../os/kernel/templates \ ../os/ports \ - ../os/ports/GCC/AVR \ ../os/ports/GCC/ARM \ + ../os/ports/GCC/ARM\LPC214x \ + ../os/ports/GCC/ARM\AT91SAM7 \ ../os/ports/GCC/ARMCMx \ ../os/ports/GCC/ARMCMx/STM32 \ ../os/ports/GCC/ARMCMx/LPC11xx \ ../os/ports/GCC/ARMCMx/LPC13xx \ ../os/ports/GCC/PPC \ + ../os/ports/GCC/AVR \ ../os/ports/GCC/MSP430 \ ../os/ports/cosmic/STM8 \ ../os/ports/RC/STM8 \ @@ -640,7 +642,8 @@ INPUT = ../docs/src \ ../os/hal/platforms/MSP430/platform.dox \ ../os/hal/platforms/SPC56x/platform.dox \ ../os/hal/platforms/STM32/platform.dox \ - ../os/hal/platforms/STM8/platform.dox \ + ../os/hal/platforms/STM8L/platform.dox \ + ../os/hal/platforms/STM8S/platform.dox \ ../os/various \ ../test \ ../ext/ext.dox -- cgit v1.2.3 From 7c81b3681add46aff660c5be0788378ac207e7f7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 20 Nov 2010 11:45:07 +0000 Subject: Re-tested all the ARM7 demos. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2397 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 15 ++++---- docs/reports/AT91SAM7X-48-THUMB.txt | 19 ++++++----- docs/reports/LPC2148-48-ARM.txt | 12 +++---- docs/reports/LPC2148-48-THUMB.txt | 6 ++-- docs/reports/coverage.txt | 10 ++++-- docs/reports/kernel.txt | 68 ++++++++++++++++++------------------- 6 files changed, 70 insertions(+), 60 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 73b7d21bd..b4085be19 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,9 +5,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.4unstable *** GCC Version: 4.5.1 -*** Architecture: ARM +*** Architecture: ARM7 *** Core Variant: ARM7TDMI *** Platform: AT91SAM7x *** Test Board: Olimex SAM7-EX256 @@ -34,6 +34,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -95,7 +98,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 114670 msgs/S, 229340 ctxswc/S +--- Score : 114671 msgs/S, 229342 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -111,15 +114,15 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 65594 threads/S +--- Score : 67349 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 93394 threads/S +--- Score : 96994 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 27232 reschedules/S, 163392 ctxswc/S +--- Score : 27231 reschedules/S, 163386 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index 4f75ef6ed..d3fdc3c18 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -5,9 +5,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 1.5.7unstable -*** GCC Version: 4.5.0 -*** Architecture: ARM +*** Kernel: 2.1.4unstable +*** GCC Version: 4.5.1 +*** Architecture: ARM7 *** Core Variant: ARM7TDMI *** Platform: AT91SAM7x *** Test Board: Olimex SAM7-EX256 @@ -34,6 +34,9 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -111,15 +114,15 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 68329 threads/S +--- Score : 70339 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 101120 threads/S +--- Score : 105584 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 28779 reschedules/S, 172674 ctxswc/S +--- Score : 28624 reschedules/S, 171744 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) @@ -127,7 +130,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 262808 bytes/S +--- Score : 258636 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) @@ -139,7 +142,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 268336 lock+unlock/S +--- Score : 256808 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index e5c3669fb..3a4ebc0aa 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,12 +5,12 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.4unstable *** GCC Version: 4.5.1 -*** Architecture: ARM +*** Architecture: ARM7 *** Core Variant: ARM7TDMI *** Platform: LPC214x -*** Test Board: Olimex LCP-P2148 +*** Test Board: Olimex LPC-P2148 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) @@ -98,7 +98,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 145385 msgs/S, 290770 ctxswc/S +--- Score : 145386 msgs/S, 290772 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -114,7 +114,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 89746 threads/S +--- Score : 89745 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) @@ -126,7 +126,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 276084 ctxswc/S +--- Score : 276080 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index a45dc45b5..9fcee16af 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -5,12 +5,12 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.4unstable *** GCC Version: 4.5.1 -*** Architecture: ARM +*** Architecture: ARM7 *** Core Variant: ARM7TDMI *** Platform: LPC214x -*** Test Board: Olimex LCP-P2148 +*** Test Board: Olimex LPC-P2148 ---------------------------------------------------------------------------- --- Test Case 1.1 (Threads, enqueuing test #1) diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index 67074ad1f..97c6a7f92 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -1,5 +1,5 @@ mkdir gcov -gcov -u ..\..\os\kernel\src\chsys.c ..\..\os\kernel\src\chdebug.c ..\..\os\kernel\src\chlists.c ..\..\os\kernel\src\chvt.c ..\..\os\kernel\src\chschd.c ..\..\os\kernel\src\chthreads.c ..\..\os\kernel\src\chregistry.c ..\..\os\kernel\src\chsem.c ..\..\os\kernel\src\chmtx.c ..\..\os\kernel\src\chcond.c ..\..\os\kernel\src\chevents.c ..\..\os\kernel\src\chmsg.c ..\..\os\kernel\src\chmboxes.c ..\..\os\kernel\src\chqueues.c ..\..\os\kernel\src\chmemcore.c ..\..\os\kernel\src\chheap.c ..\..\os\kernel\src\chmempools.c +gcov -u ..\..\os\kernel\src\chsys.c ..\..\os\kernel\src\chdebug.c ..\..\os\kernel\src\chlists.c ..\..\os\kernel\src\chvt.c ..\..\os\kernel\src\chschd.c ..\..\os\kernel\src\chthreads.c ..\..\os\kernel\src\chdynamic.c ..\..\os\kernel\src\chregistry.c ..\..\os\kernel\src\chsem.c ..\..\os\kernel\src\chmtx.c ..\..\os\kernel\src\chcond.c ..\..\os\kernel\src\chevents.c ..\..\os\kernel\src\chmsg.c ..\..\os\kernel\src\chmboxes.c ..\..\os\kernel\src\chqueues.c ..\..\os\kernel\src\chmemcore.c ..\..\os\kernel\src\chheap.c ..\..\os\kernel\src\chmempools.c File `../../os/kernel/src/chsys.c' Lines executed:100.00% of 27 ../../os/kernel/src/chsys.c:creating `chsys.c.gcov' @@ -21,9 +21,13 @@ Lines executed:100.00% of 68 ../../os/kernel/src/chschd.c:creating `chschd.c.gcov' File `../../os/kernel/src/chthreads.c' -Lines executed:100.00% of 134 +Lines executed:100.00% of 86 ../../os/kernel/src/chthreads.c:creating `chthreads.c.gcov' +File `../../os/kernel/src/chdynamic.c' +Lines executed:100.00% of 48 +../../os/kernel/src/chdynamic.c:creating `chdynamic.c.gcov' + File `../../os/kernel/src/chregistry.c' Lines executed:100.00% of 18 ../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov' @@ -41,7 +45,7 @@ Lines executed:100.00% of 59 ../../os/kernel/src/chcond.c:creating `chcond.c.gcov' File `../../os/kernel/src/chevents.c' -Lines executed:100.00% of 105 +Lines executed:100.00% of 111 ../../os/kernel/src/chevents.c:creating `chevents.c.gcov' File `../../os/kernel/src/chmsg.c' diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index bf0335758..f6817bc06 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11084 +Kernel Size = 11188 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10644 +Kernel Size = 10748 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9676 +Kernel Size = 9720 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9192 +Kernel Size = 9236 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5848 +Kernel Size = 5900 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5364 +Kernel Size = 5404 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5280 +Kernel Size = 5328 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4884 +Kernel Size = 4920 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -74,13 +74,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5060 +Kernel Size = 5108 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4696 +Kernel Size = 4728 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5128 +Kernel Size = 5152 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4940 +Kernel Size = 4964 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4728 +Kernel Size = 4748 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4576 +Kernel Size = 4592 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8512 +Kernel Size = 8560 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8060 +Kernel Size = 8108 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7876 +Kernel Size = 7920 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7528 +Kernel Size = 7572 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -164,13 +164,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8228 +Kernel Size = 8276 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7792 +Kernel Size = 7840 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -182,13 +182,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7584 +Kernel Size = 7628 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7256 +Kernel Size = 7300 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5680 +Kernel Size = 5716 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5472 +Kernel Size = 5508 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -218,13 +218,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5296 +Kernel Size = 5328 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5108 +Kernel Size = 5140 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5528 +Kernel Size = 5564 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5340 +Kernel Size = 5376 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5072 +Kernel Size = 5112 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4912 +Kernel Size = 4952 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -272,13 +272,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5652 +Kernel Size = 5676 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5128 +Kernel Size = 5156 Platform : MSP430 OS Setup : Minimal kernel @@ -290,13 +290,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5592 +Kernel Size = 5616 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5088 +Kernel Size = 5116 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From 9bc003fe7a08212f694de0fe6a6edfc1ab3fb1da Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 20 Nov 2010 14:09:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2398 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-48.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index b5b28b4eb..e7908e029 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -5,11 +5,11 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.4unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 -*** Platform: STM32 MD +*** Platform: STM32 Performance Line Medium Density *** Test Board: Olimex STM32-P103 ---------------------------------------------------------------------------- @@ -98,7 +98,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 186214 msgs/S, 372428 ctxswc/S +--- Score : 186215 msgs/S, 372430 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -122,7 +122,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 46508 reschedules/S, 279048 ctxswc/S +--- Score : 46509 reschedules/S, 279054 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) -- cgit v1.2.3 From 5d58cff918416389a2585e70860101a532757d3c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 27 Nov 2010 10:07:20 +0000 Subject: Updated reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2429 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F100-24.txt | 24 ++++---- docs/reports/STM32F103-48.txt | 8 +-- docs/reports/STM32F103-72.txt | 8 +-- docs/reports/STM8L152-16-Cosmic.txt | 24 ++++---- docs/reports/STM8L152-16-Raisonance.txt | 4 +- docs/reports/kernel.txt | 102 ++++++++++++++++---------------- 6 files changed, 85 insertions(+), 85 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F100-24.txt b/docs/reports/STM32F100-24.txt index 88f7643db..1f9bcd645 100644 --- a/docs/reports/STM32F100-24.txt +++ b/docs/reports/STM32F100-24.txt @@ -98,51 +98,51 @@ Settings: SYSCLK=24, ACR=0x10 (no wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 103344 msgs/S, 206688 ctxswc/S +--- Score : 103348 msgs/S, 206696 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 84663 msgs/S, 169326 ctxswc/S +--- Score : 84666 msgs/S, 169332 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 84663 msgs/S, 169326 ctxswc/S +--- Score : 84666 msgs/S, 169332 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 341696 ctxswc/S +--- Score : 341704 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 66320 threads/S +--- Score : 64356 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 96271 threads/S +--- Score : 94372 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 26090 reschedules/S, 156540 ctxswc/S +--- Score : 26091 reschedules/S, 156546 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 199352 ctxswc/S +--- Score : 199360 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 203224 bytes/S +--- Score : 203236 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 310132 timers/S +--- Score : 327148 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 382056 wait+signal/S +--- Score : 382084 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 284268 lock+unlock/S +--- Score : 284288 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index e7908e029..480f8a8dd 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -114,19 +114,19 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 121165 threads/S +--- Score : 117593 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 176605 threads/S +--- Score : 173405 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 46509 reschedules/S, 279054 ctxswc/S +--- Score : 46508 reschedules/S, 279048 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 357812 ctxswc/S +--- Score : 357800 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 99782d211..852f717ab 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -98,7 +98,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248574 msgs/S, 497148 ctxswc/S +--- Score : 248573 msgs/S, 497146 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -114,11 +114,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 162535 threads/S +--- Score : 156856 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 239471 threads/S +--- Score : 235543 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) @@ -126,7 +126,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478128 ctxswc/S +--- Score : 478124 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/STM8L152-16-Cosmic.txt b/docs/reports/STM8L152-16-Cosmic.txt index 88eb55577..34ffb7966 100644 --- a/docs/reports/STM8L152-16-Cosmic.txt +++ b/docs/reports/STM8L152-16-Cosmic.txt @@ -97,51 +97,51 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 35835 msgs/S, 71670 ctxswc/S +--- Score : 35517 msgs/S, 71034 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 28288 msgs/S, 56576 ctxswc/S +--- Score : 28040 msgs/S, 56080 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 28288 msgs/S, 56576 ctxswc/S +--- Score : 28040 msgs/S, 56080 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 135880 ctxswc/S +--- Score : 134880 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 20947 threads/S +--- Score : 20757 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 32685 threads/S +--- Score : 32486 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 8479 reschedules/S, 50874 ctxswc/S +--- Score : 8461 reschedules/S, 50766 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 70720 ctxswc/S +--- Score : 70640 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 75344 bytes/S +--- Score : 76220 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 72482 timers/S +--- Score : 72812 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 170476 wait+signal/S +--- Score : 172316 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 142064 lock+unlock/S +--- Score : 143340 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM8L152-16-Raisonance.txt b/docs/reports/STM8L152-16-Raisonance.txt index 954ad48a8..ed51144bc 100644 --- a/docs/reports/STM8L152-16-Raisonance.txt +++ b/docs/reports/STM8L152-16-Raisonance.txt @@ -113,11 +113,11 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 17818 threads/S +--- Score : 17602 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 27844 threads/S +--- Score : 27508 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index f6817bc06..f8d2d85c4 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,305 +2,305 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11188 +Kernel Size = 11232 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10748 +Kernel Size = 10792 Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -Kernel Size = 2236 +Kernel Size = 2248 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9720 +Kernel Size = 9788 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9236 +Kernel Size = 9304 Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -Kernel Size = 2260 +Kernel Size = 2272 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5900 +Kernel Size = 5936 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5404 +Kernel Size = 5444 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -Kernel Size = 1520 +Kernel Size = 1528 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5328 +Kernel Size = 5364 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4920 +Kernel Size = 4960 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -Kernel Size = 1340 +Kernel Size = 1352 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5108 +Kernel Size = 5148 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4728 +Kernel Size = 4764 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1292 +Kernel Size = 1304 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5152 +Kernel Size = 5184 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4964 +Kernel Size = 4992 Platform : ARM Cortex-M0 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -Kernel Size = 1368 +Kernel Size = 1376 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4748 +Kernel Size = 4784 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4592 +Kernel Size = 4624 Platform : ARM Cortex-M0 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -Kernel Size = 1264 +Kernel Size = 1272 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8560 +Kernel Size = 8620 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8108 +Kernel Size = 8168 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -Kernel Size = 1920 +Kernel Size = 1928 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7920 +Kernel Size = 7980 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7572 +Kernel Size = 7632 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -Kernel Size = 1708 +Kernel Size = 1716 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8276 +Kernel Size = 8336 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7840 +Kernel Size = 7900 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1852 +Kernel Size = 1864 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7628 +Kernel Size = 7688 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7300 +Kernel Size = 7360 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1640 +Kernel Size = 1652 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5716 +Kernel Size = 5748 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5508 +Kernel Size = 5544 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1388 +Kernel Size = 1392 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5328 +Kernel Size = 5356 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5140 +Kernel Size = 5172 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1292 +Kernel Size = 1296 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5564 +Kernel Size = 5600 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5376 +Kernel Size = 5408 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1336 +Kernel Size = 1340 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5112 +Kernel Size = 5140 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4952 +Kernel Size = 4984 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1236 +Kernel Size = 1240 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5676 +Kernel Size = 5728 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5156 +Kernel Size = 5208 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1200 +Kernel Size = 1204 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5616 +Kernel Size = 5668 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5116 +Kernel Size = 5168 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1200 +Kernel Size = 1204 -- cgit v1.2.3 From aba1a9d6c36b13a1a41c608573381c2bc1cd9f8f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 27 Nov 2010 11:17:18 +0000 Subject: STM8S reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2432 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S105-16-Cosmic.txt | 22 +++++++++++----------- docs/reports/STM8S105-16-Raisonance.txt | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM8S105-16-Cosmic.txt b/docs/reports/STM8S105-16-Cosmic.txt index febbda383..271e51f2f 100644 --- a/docs/reports/STM8S105-16-Cosmic.txt +++ b/docs/reports/STM8S105-16-Cosmic.txt @@ -97,31 +97,31 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 35678 msgs/S, 71356 ctxswc/S +--- Score : 35999 msgs/S, 71998 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 28141 msgs/S, 56282 ctxswc/S +--- Score : 28391 msgs/S, 56782 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 28141 msgs/S, 56282 ctxswc/S +--- Score : 28391 msgs/S, 56782 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 135312 ctxswc/S +--- Score : 135888 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 20922 threads/S +--- Score : 20894 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 32889 threads/S +--- Score : 32620 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 8458 reschedules/S, 50748 ctxswc/S +--- Score : 8484 reschedules/S, 50904 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) @@ -129,19 +129,19 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 76228 bytes/S +--- Score : 76408 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 73264 timers/S +--- Score : 72602 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 172796 wait+signal/S +--- Score : 172328 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 143032 lock+unlock/S +--- Score : 142076 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM8S105-16-Raisonance.txt b/docs/reports/STM8S105-16-Raisonance.txt index 4e36e013b..bb08d71be 100644 --- a/docs/reports/STM8S105-16-Raisonance.txt +++ b/docs/reports/STM8S105-16-Raisonance.txt @@ -113,11 +113,11 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 17819 threads/S +--- Score : 17603 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 27846 threads/S +--- Score : 27510 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) -- cgit v1.2.3 From f13dabb9985c5604c4150f4c8476ba74607f293d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 27 Nov 2010 11:29:25 +0000 Subject: Fixes to the STM8S RIDE7 project. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2433 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8S208-16-Raisonance.txt | 69 +++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM8S208-16-Raisonance.txt b/docs/reports/STM8S208-16-Raisonance.txt index 144b5b253..267f008f2 100644 --- a/docs/reports/STM8S208-16-Raisonance.txt +++ b/docs/reports/STM8S208-16-Raisonance.txt @@ -6,9 +6,9 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.0unstable +*** Kernel: 2.1.4unstable *** Architecture: STM8 -*** Platform: STM8x +*** Platform: STM8S *** Test Board: Raisonance REva V3 + STM8S208RB ---------------------------------------------------------------------------- @@ -33,9 +33,39 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 4.1 (Messages, loop) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 6.1 (Events, registration and dispatch) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -67,57 +97,64 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 32031 msgs/S, 64062 ctxswc/S +--- Score : 31278 msgs/S, 62556 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 24553 msgs/S, 49106 ctxswc/S +--- Score : 23785 msgs/S, 47570 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 24553 msgs/S, 49106 ctxswc/S +--- Score : 23785 msgs/S, 47570 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 110712 ctxswc/S +--- Score : 107368 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 18102 threads/S +--- Score : 17603 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 28091 threads/S +--- Score : 27510 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 7067 reschedules/S, 42402 ctxswc/S +--- Score : 6268 reschedules/S, 37608 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 54880 ctxswc/S +--- Score : 53236 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 63540 bytes/S +--- Score : 53004 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 57788 timers/S +--- Score : 57830 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 216720 wait+signal/S +--- Score : 125116 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 123188 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.12 (Benchmark, RAM footprint) ---- System: 208 bytes ---- Thread: 29 bytes +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 214 bytes +--- Thread: 32 bytes --- Timer : 10 bytes --- Semaph: 5 bytes --- EventS: 2 bytes --- EventL: 5 bytes +--- Mutex : 8 bytes +--- CondV.: 4 bytes --- Queue : 15 bytes +--- MailB.: 18 bytes --- Result: SUCCESS ---------------------------------------------------------------------------- -- cgit v1.2.3 From b94a43278128c44b642910bac6c5d862ac262143 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 27 Nov 2010 11:39:37 +0000 Subject: MSP430 reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2435 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 6 +++--- docs/reports/MSP430F1611-8.txt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index d04fecff5..f025cd811 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -5,7 +5,7 @@ Settings: MCLK=DCOCLK 750KHz *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.4unstable *** GCC Version: 3.2.3 *** Architecture: MSP430 *** Core Variant: MSP430 @@ -114,11 +114,11 @@ Settings: MCLK=DCOCLK 750KHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 1145 threads/S +--- Score : 1120 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 1545 threads/S +--- Score : 1523 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) diff --git a/docs/reports/MSP430F1611-8.txt b/docs/reports/MSP430F1611-8.txt index bcb4980ba..c960cc481 100644 --- a/docs/reports/MSP430F1611-8.txt +++ b/docs/reports/MSP430F1611-8.txt @@ -5,7 +5,7 @@ Settings: MCLK=XT2CLK 8MHz *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.4unstable *** GCC Version: 3.2.3 *** Architecture: MSP430 *** Core Variant: MSP430 @@ -114,11 +114,11 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 12403 threads/S +--- Score : 12139 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 16745 threads/S +--- Score : 16502 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) -- cgit v1.2.3 From 9b7b5ce6bfd67fc6317445651af4906c7a54c528 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 27 Nov 2010 19:16:40 +0000 Subject: Fixed bug 3120785. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2439 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index a4d7719c7..d13a29dd7 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.1.4 +PROJECT_NUMBER = 2.1.5 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From df69a42ff0fd72443ab8cf70245d9fa2ccb84256 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 5 Dec 2010 13:30:31 +0000 Subject: Updated reports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2462 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48.txt | 8 ++++---- docs/reports/LPC1343-72.txt | 10 +++++----- docs/reports/STM32F100-24.txt | 2 +- docs/reports/STM32F103-48.txt | 2 +- docs/reports/STM32F103-72.txt | 6 +++--- docs/reports/coverage.txt | 4 ++-- docs/reports/kernel.txt | 34 +++++++++++++++++----------------- 7 files changed, 33 insertions(+), 33 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48.txt b/docs/reports/LPC1114-48.txt index ec518e4f6..9c0ba0daa 100644 --- a/docs/reports/LPC1114-48.txt +++ b/docs/reports/LPC1114-48.txt @@ -5,7 +5,7 @@ Settings: CLK=48, (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.5unstable *** GCC Version: 4.3.3 *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 @@ -98,7 +98,7 @@ Settings: CLK=48, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 124135 msgs/S, 248270 ctxswc/S +--- Score : 124136 msgs/S, 248272 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -114,11 +114,11 @@ Settings: CLK=48, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 80188 threads/S +--- Score : 78349 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 111404 threads/S +--- Score : 110375 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) diff --git a/docs/reports/LPC1343-72.txt b/docs/reports/LPC1343-72.txt index 277879671..59239ad7f 100644 --- a/docs/reports/LPC1343-72.txt +++ b/docs/reports/LPC1343-72.txt @@ -5,7 +5,7 @@ Settings: CLK=72, (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.5unstable *** GCC Version: 4.3.3 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -98,7 +98,7 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 241881 msgs/S, 483762 ctxswc/S +--- Score : 241880 msgs/S, 483760 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -114,11 +114,11 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 155163 threads/S +--- Score : 151247 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 219028 threads/S +--- Score : 215745 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) @@ -126,7 +126,7 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 473392 ctxswc/S +--- Score : 473396 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/STM32F100-24.txt b/docs/reports/STM32F100-24.txt index 1f9bcd645..f395437b0 100644 --- a/docs/reports/STM32F100-24.txt +++ b/docs/reports/STM32F100-24.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=24, ACR=0x10 (no wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.5unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt index 480f8a8dd..7280a2ead 100644 --- a/docs/reports/STM32F103-48.txt +++ b/docs/reports/STM32F103-48.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.5unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 852f717ab..d54aab66f 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.5unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -98,7 +98,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248573 msgs/S, 497146 ctxswc/S +--- Score : 248574 msgs/S, 497148 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -126,7 +126,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478124 ctxswc/S +--- Score : 478128 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index 97c6a7f92..4804602ef 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -21,11 +21,11 @@ Lines executed:100.00% of 68 ../../os/kernel/src/chschd.c:creating `chschd.c.gcov' File `../../os/kernel/src/chthreads.c' -Lines executed:100.00% of 86 +Lines executed:100.00% of 87 ../../os/kernel/src/chthreads.c:creating `chthreads.c.gcov' File `../../os/kernel/src/chdynamic.c' -Lines executed:100.00% of 48 +Lines executed:100.00% of 50 ../../os/kernel/src/chdynamic.c:creating `chdynamic.c.gcov' File `../../os/kernel/src/chregistry.c' diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index f8d2d85c4..d956c87c2 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -14,7 +14,7 @@ Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -Kernel Size = 2248 +Kernel Size = 2068 Platform : PowerPC OS Setup : Full kernel @@ -32,7 +32,7 @@ Platform : PowerPC OS Setup : Minimal kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -Kernel Size = 2272 +Kernel Size = 2092 Platform : ARM Cortex-M3 OS Setup : Full kernel @@ -50,7 +50,7 @@ Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -Kernel Size = 1528 +Kernel Size = 1428 Platform : ARM Cortex-M3 OS Setup : Full kernel @@ -68,7 +68,7 @@ Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -Kernel Size = 1352 +Kernel Size = 1244 Platform : ARM Cortex-M3 OS Setup : Full kernel @@ -86,7 +86,7 @@ Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1304 +Kernel Size = 1196 Platform : ARM Cortex-M0 OS Setup : Full kernel @@ -104,7 +104,7 @@ Platform : ARM Cortex-M0 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -Kernel Size = 1376 +Kernel Size = 1300 Platform : ARM Cortex-M0 OS Setup : Full kernel @@ -122,7 +122,7 @@ Platform : ARM Cortex-M0 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -Kernel Size = 1272 +Kernel Size = 1180 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -140,7 +140,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -Kernel Size = 1928 +Kernel Size = 1820 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -158,7 +158,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -Kernel Size = 1716 +Kernel Size = 1568 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -176,7 +176,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1864 +Kernel Size = 1752 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel @@ -194,7 +194,7 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1652 +Kernel Size = 1500 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel @@ -212,7 +212,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1392 +Kernel Size = 1300 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel @@ -230,7 +230,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1296 +Kernel Size = 1188 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel @@ -248,7 +248,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1340 +Kernel Size = 1248 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel @@ -266,7 +266,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 1240 +Kernel Size = 1132 Platform : MSP430 OS Setup : Full kernel @@ -284,7 +284,7 @@ Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1204 +Kernel Size = 1120 Platform : MSP430 OS Setup : Full kernel @@ -302,5 +302,5 @@ Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1204 +Kernel Size = 1120 -- cgit v1.2.3 From 6f0b15aba33406fb080b6dcee17367a4c2882401 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 11 Dec 2010 08:37:28 +0000 Subject: Implemented CR on STM32 CAN driver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2466 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d13a29dd7..91e033402 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.1.5 +PROJECT_NUMBER = 2.1.6 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 975780704949e2ed551c3e50a81ea5e45d28a0af Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 14 Dec 2010 22:27:09 +0000 Subject: Added working prototype Cortex-Mx port for IAR compiler and related demo for STM32. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2479 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-IAR.txt | 161 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 docs/reports/STM32F103-72-IAR.txt (limited to 'docs') diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt new file mode 100644 index 000000000..858d63567 --- /dev/null +++ b/docs/reports/STM32F103-72-IAR.txt @@ -0,0 +1,161 @@ +*************************************************************************** +Options: High (balanced) +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.6unstable +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Performance Line Medium Density +*** Test Board: Olimex STM32-P103 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 216398 msgs/S, 432796 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 193652 msgs/S, 387304 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 193652 msgs/S, 387304 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 777768 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 149998 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 222442 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 60121 reschedules/S, 360726 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 423860 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 543284 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 677820 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 776748 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 605040 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 324 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 188bf5766fe5faa425b1f66d7bd2cccb6ef52632 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 15 Dec 2010 21:22:31 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2482 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-IAR.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index 858d63567..850ad2fd9 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -97,15 +97,15 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 216398 msgs/S, 432796 ctxswc/S +--- Score : 215747 msgs/S, 431494 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 193652 msgs/S, 387304 ctxswc/S +--- Score : 193653 msgs/S, 387306 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 193652 msgs/S, 387304 ctxswc/S +--- Score : 193653 msgs/S, 387306 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -145,7 +145,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 324 bytes +--- System: 360 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From b67722afdc0d5b141b998358a558730f532daec0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 15 Dec 2010 21:41:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2483 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-IAR.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index 850ad2fd9..c7e2c080f 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -1,5 +1,5 @@ *************************************************************************** -Options: High (balanced) +Options: High (fast) Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** @@ -97,51 +97,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 215747 msgs/S, 431494 ctxswc/S +--- Score : 237879 msgs/S, 475758 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 193653 msgs/S, 387306 ctxswc/S +--- Score : 206437 msgs/S, 412874 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 193653 msgs/S, 387306 ctxswc/S +--- Score : 204672 msgs/S, 409344 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 777768 ctxswc/S +--- Score : 861664 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 149998 threads/S +--- Score : 149985 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 222442 threads/S +--- Score : 226634 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 60121 reschedules/S, 360726 ctxswc/S +--- Score : 68159 reschedules/S, 408954 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 423860 ctxswc/S +--- Score : 459048 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 543284 bytes/S +--- Score : 535136 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 677820 timers/S +--- Score : 674558 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 776748 wait+signal/S +--- Score : 1056488 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 605040 lock+unlock/S +--- Score : 627440 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 0c29d36a845682d2bae50823e1a610dd5e722dab Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 15 Dec 2010 21:46:23 +0000 Subject: IAR report using fastest mode. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2484 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-IAR.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index c7e2c080f..4426c3805 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -1,5 +1,5 @@ *************************************************************************** -Options: High (fast) +Options: -Ohs Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** -- cgit v1.2.3 From e9a2d16b2bc2b2ef8c1b02d787a570e97c78f52d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 15 Dec 2010 21:48:19 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2485 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-IAR.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index 4426c3805..274ccda44 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -1,6 +1,7 @@ *************************************************************************** Options: -Ohs Settings: SYSCLK=72, ACR=0x12 (2 wait states) +Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 *************************************************************************** *** ChibiOS/RT test suite -- cgit v1.2.3 From 7d7d9727f9a280d63157ac9997fe271610f05b1e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 19 Dec 2010 09:13:54 +0000 Subject: STM32 board files and demos now use the new organization. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2497 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F100-24.txt | 2 +- docs/reports/STM32F103-72-IAR.txt | 22 +++++++++++----------- docs/reports/STM32F103-72.txt | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F100-24.txt b/docs/reports/STM32F100-24.txt index f395437b0..5c87b1e52 100644 --- a/docs/reports/STM32F100-24.txt +++ b/docs/reports/STM32F100-24.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=24, ACR=0x10 (no wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.5unstable +*** Kernel: 2.1.6unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index 274ccda44..d0444444b 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -98,43 +98,43 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 237879 msgs/S, 475758 ctxswc/S +--- Score : 237877 msgs/S, 475754 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 206437 msgs/S, 412874 ctxswc/S +--- Score : 206433 msgs/S, 412866 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 204672 msgs/S, 409344 ctxswc/S +--- Score : 204665 msgs/S, 409330 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 861664 ctxswc/S +--- Score : 861656 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 149985 threads/S +--- Score : 149983 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 226634 threads/S +--- Score : 226631 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 68159 reschedules/S, 408954 ctxswc/S +--- Score : 68158 reschedules/S, 408948 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 459048 ctxswc/S +--- Score : 459040 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 535136 bytes/S +--- Score : 535124 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 674558 timers/S +--- Score : 674546 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) @@ -142,7 +142,7 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 627440 lock+unlock/S +--- Score : 627424 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index d54aab66f..e1f06d20a 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.5unstable +*** Kernel: 2.1.6unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 -- cgit v1.2.3 From ada9fb82aac5f1bc2465d4555380c2bef40cb8d3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 19 Dec 2010 09:36:44 +0000 Subject: LPC1xxx board files and demos updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2498 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48.txt | 2 +- docs/reports/LPC1343-72.txt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48.txt b/docs/reports/LPC1114-48.txt index 9c0ba0daa..1f2bccf50 100644 --- a/docs/reports/LPC1114-48.txt +++ b/docs/reports/LPC1114-48.txt @@ -5,7 +5,7 @@ Settings: CLK=48, (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.5unstable +*** Kernel: 2.1.6unstable *** GCC Version: 4.3.3 *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 diff --git a/docs/reports/LPC1343-72.txt b/docs/reports/LPC1343-72.txt index 59239ad7f..d0833f6f3 100644 --- a/docs/reports/LPC1343-72.txt +++ b/docs/reports/LPC1343-72.txt @@ -5,7 +5,7 @@ Settings: CLK=72, (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.5unstable +*** Kernel: 2.1.6unstable *** GCC Version: 4.3.3 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -98,7 +98,7 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 241880 msgs/S, 483760 ctxswc/S +--- Score : 241881 msgs/S, 483762 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -126,7 +126,7 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 473396 ctxswc/S +--- Score : 473392 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From f131e4297dc619b3f3148a079c634f2cec0fd687 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 19 Dec 2010 10:03:11 +0000 Subject: LPC214x board files and demos updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2499 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 8 ++++---- docs/reports/LPC2148-48-THUMB.txt | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index 3a4ebc0aa..c179db3cf 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,7 +5,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** GCC Version: 4.5.1 *** Architecture: ARM7 *** Core Variant: ARM7TDMI @@ -114,11 +114,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 89745 threads/S +--- Score : 88089 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 128237 threads/S +--- Score : 126542 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) @@ -126,7 +126,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 276080 ctxswc/S +--- Score : 276084 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 9fcee16af..199f592f4 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -5,7 +5,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** GCC Version: 4.5.1 *** Architecture: ARM7 *** Core Variant: ARM7TDMI @@ -98,7 +98,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 106223 msgs/S, 212446 ctxswc/S +--- Score : 106224 msgs/S, 212448 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -114,11 +114,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 71990 threads/S +--- Score : 70297 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 110394 threads/S +--- Score : 109135 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) -- cgit v1.2.3 From 35c315a77a92d8ca0efefea329770c6bf9adca2d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 19 Dec 2010 10:25:31 +0000 Subject: AT91SAM7x board files and demos updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2500 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 8 ++++---- docs/reports/AT91SAM7X-48-THUMB.txt | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index b4085be19..9a177cde4 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,7 +5,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** GCC Version: 4.5.1 *** Architecture: ARM7 *** Core Variant: ARM7TDMI @@ -114,11 +114,11 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 67349 threads/S +--- Score : 65956 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 96994 threads/S +--- Score : 95636 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) @@ -126,7 +126,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 211344 ctxswc/S +--- Score : 211348 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/AT91SAM7X-48-THUMB.txt b/docs/reports/AT91SAM7X-48-THUMB.txt index d3fdc3c18..b283f46d5 100644 --- a/docs/reports/AT91SAM7X-48-THUMB.txt +++ b/docs/reports/AT91SAM7X-48-THUMB.txt @@ -5,7 +5,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** GCC Version: 4.5.1 *** Architecture: ARM7 *** Core Variant: ARM7TDMI @@ -98,7 +98,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 106526 msgs/S, 213052 ctxswc/S +--- Score : 106525 msgs/S, 213050 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -114,11 +114,11 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 70339 threads/S +--- Score : 68821 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 105584 threads/S +--- Score : 104432 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) -- cgit v1.2.3 From ace3f844709b1bfdd4c88acbc943bdecf29f9f21 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 19 Dec 2010 10:39:21 +0000 Subject: AVR board files and demos updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2501 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/ATmega128-16.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/reports/ATmega128-16.txt b/docs/reports/ATmega128-16.txt index a7bc3cf38..2317da5c7 100644 --- a/docs/reports/ATmega128-16.txt +++ b/docs/reports/ATmega128-16.txt @@ -5,7 +5,7 @@ Settings: F_CPU=16000000 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.2unstable +*** Kernel: 2.1.6unstable *** GCC Version: 4.3.0 *** Architecture: AVR *** Core Variant: MegaAVR @@ -99,11 +99,11 @@ Settings: F_CPU=16000000 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 21252 threads/S +--- Score : 21054 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 27451 threads/S +--- Score : 27121 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) -- cgit v1.2.3 From 13f5b1b97fa1ca9516665807682c164aa926fb78 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 19 Dec 2010 10:50:04 +0000 Subject: MSP430 board files and demo updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2502 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-0.75.txt | 2 +- docs/reports/MSP430F1611-8.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-0.75.txt b/docs/reports/MSP430F1611-0.75.txt index f025cd811..39ff47b54 100644 --- a/docs/reports/MSP430F1611-0.75.txt +++ b/docs/reports/MSP430F1611-0.75.txt @@ -5,7 +5,7 @@ Settings: MCLK=DCOCLK 750KHz *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** GCC Version: 3.2.3 *** Architecture: MSP430 *** Core Variant: MSP430 diff --git a/docs/reports/MSP430F1611-8.txt b/docs/reports/MSP430F1611-8.txt index c960cc481..804290409 100644 --- a/docs/reports/MSP430F1611-8.txt +++ b/docs/reports/MSP430F1611-8.txt @@ -5,7 +5,7 @@ Settings: MCLK=XT2CLK 8MHz *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** GCC Version: 3.2.3 *** Architecture: MSP430 *** Core Variant: MSP430 -- cgit v1.2.3 From 675adde160fba196043bb471ae36a222238db49e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 19 Dec 2010 12:50:56 +0000 Subject: STM8 board files and demos updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2509 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM8L152-16-Cosmic.txt | 2 +- docs/reports/STM8L152-16-Raisonance.txt | 2 +- docs/reports/STM8S105-16-Cosmic.txt | 2 +- docs/reports/STM8S105-16-Raisonance.txt | 2 +- docs/reports/STM8S208-16-Raisonance.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM8L152-16-Cosmic.txt b/docs/reports/STM8L152-16-Cosmic.txt index 34ffb7966..7c82ce881 100644 --- a/docs/reports/STM8L152-16-Cosmic.txt +++ b/docs/reports/STM8L152-16-Cosmic.txt @@ -6,7 +6,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** Architecture: STM8 *** Platform: STM8L *** Test Board: ST STM8L-Discovery diff --git a/docs/reports/STM8L152-16-Raisonance.txt b/docs/reports/STM8L152-16-Raisonance.txt index ed51144bc..076d771d2 100644 --- a/docs/reports/STM8L152-16-Raisonance.txt +++ b/docs/reports/STM8L152-16-Raisonance.txt @@ -6,7 +6,7 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** Architecture: STM8 *** Platform: STM8L *** Test Board: ST STM8L-Discovery diff --git a/docs/reports/STM8S105-16-Cosmic.txt b/docs/reports/STM8S105-16-Cosmic.txt index 271e51f2f..220994fef 100644 --- a/docs/reports/STM8S105-16-Cosmic.txt +++ b/docs/reports/STM8S105-16-Cosmic.txt @@ -6,7 +6,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** Architecture: STM8 *** Platform: STM8S *** Test Board: ST STM8S-Discovery diff --git a/docs/reports/STM8S105-16-Raisonance.txt b/docs/reports/STM8S105-16-Raisonance.txt index bb08d71be..3c909b0be 100644 --- a/docs/reports/STM8S105-16-Raisonance.txt +++ b/docs/reports/STM8S105-16-Raisonance.txt @@ -6,7 +6,7 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** Architecture: STM8 *** Platform: STM8S *** Test Board: ST STM8S-Discovery diff --git a/docs/reports/STM8S208-16-Raisonance.txt b/docs/reports/STM8S208-16-Raisonance.txt index 267f008f2..9d7577735 100644 --- a/docs/reports/STM8S208-16-Raisonance.txt +++ b/docs/reports/STM8S208-16-Raisonance.txt @@ -6,7 +6,7 @@ Compiler: Raisonance RKit-STM8_2.30.10.0175 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.4unstable +*** Kernel: 2.1.6unstable *** Architecture: STM8 *** Platform: STM8S *** Test Board: Raisonance REva V3 + STM8S208RB -- cgit v1.2.3 From 25d2722b09c5ed808fbb5b09bafc94f253da2479 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 20 Dec 2010 15:06:27 +0000 Subject: Doc. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2514 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 91e033402..d1dd65d2a 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -626,6 +626,8 @@ INPUT = ../docs/src \ ../os/ports/GCC/PPC \ ../os/ports/GCC/AVR \ ../os/ports/GCC/MSP430 \ + ../os/ports/IAR/ARMCMx \ + ../os/ports/IAR/ARMCMx/STM32 \ ../os/ports/cosmic/STM8 \ ../os/ports/RC/STM8 \ ../os/hal \ -- cgit v1.2.3 From b135c771466a61547a347440786f80f59fe78ca0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 21 Dec 2010 20:07:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2518 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- docs/reports/STM32F103-72-RVCT.txt | 162 +++++++++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 docs/reports/STM32F103-72-RVCT.txt (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index d1dd65d2a..1848eb9d9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.1.6 +PROJECT_NUMBER = 2.1.7 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/docs/reports/STM32F103-72-RVCT.txt b/docs/reports/STM32F103-72-RVCT.txt new file mode 100644 index 000000000..33f573dfb --- /dev/null +++ b/docs/reports/STM32F103-72-RVCT.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O3 -Otime --apcs=interwork +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.6unstable +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Performance Line Medium Density +*** Test Board: Olimex STM32-P103 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 234825 msgs/S, 469650 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 204718 msgs/S, 409436 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 203558 msgs/S, 407116 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 860576 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 156554 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 226685 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 68500 reschedules/S, 411000 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 480636 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 532244 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 579464 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 873592 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 606348 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From f8d5fa9066126abff066978e4cfcff44917fac52 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 22 Dec 2010 07:14:01 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2520 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-IAR.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index d0444444b..7271148c2 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -6,7 +6,7 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: STM32 Performance Line Medium Density @@ -98,7 +98,7 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 237877 msgs/S, 475754 ctxswc/S +--- Score : 237878 msgs/S, 475756 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -142,7 +142,7 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 627424 lock+unlock/S +--- Score : 627420 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 4efde56cebd1b9164e3a44b8f6e0155b73ec6b9a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 22 Dec 2010 14:46:41 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2523 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 1848eb9d9..bf33085a7 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -628,6 +628,8 @@ INPUT = ../docs/src \ ../os/ports/GCC/MSP430 \ ../os/ports/IAR/ARMCMx \ ../os/ports/IAR/ARMCMx/STM32 \ + ../os/ports/RVCT/ARMCMx \ + ../os/ports/RVCT/ARMCMx/STM32 \ ../os/ports/cosmic/STM8 \ ../os/ports/RC/STM8 \ ../os/hal \ -- cgit v1.2.3 From d6e350274dd85fb2abd72d97840a69895b949a65 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 6 Jan 2011 09:59:37 +0000 Subject: Changed the stack sections names in the IAR port. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2591 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-IAR.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index 7271148c2..0ad93a193 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -98,43 +98,43 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 237878 msgs/S, 475756 ctxswc/S +--- Score : 237880 msgs/S, 475760 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 206433 msgs/S, 412866 ctxswc/S +--- Score : 206437 msgs/S, 412874 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 204665 msgs/S, 409330 ctxswc/S +--- Score : 204672 msgs/S, 409344 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 861656 ctxswc/S +--- Score : 861664 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 149983 threads/S +--- Score : 149986 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 226631 threads/S +--- Score : 228798 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 68158 reschedules/S, 408948 ctxswc/S +--- Score : 68159 reschedules/S, 408954 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 459040 ctxswc/S +--- Score : 459052 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 535124 bytes/S +--- Score : 523436 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 674546 timers/S +--- Score : 674558 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) @@ -142,7 +142,7 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 627420 lock+unlock/S +--- Score : 621992 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 85dd366dd4cd059d6b1a35f0fde24192d8eb5ed2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 6 Jan 2011 10:05:23 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2592 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-RVCT.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-RVCT.txt b/docs/reports/STM32F103-72-RVCT.txt index 33f573dfb..7695e1d17 100644 --- a/docs/reports/STM32F103-72-RVCT.txt +++ b/docs/reports/STM32F103-72-RVCT.txt @@ -6,7 +6,7 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: STM32 Performance Line Medium Density @@ -98,51 +98,51 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 234825 msgs/S, 469650 ctxswc/S +--- Score : 230298 msgs/S, 460596 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 204718 msgs/S, 409436 ctxswc/S +--- Score : 202403 msgs/S, 404806 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 203558 msgs/S, 407116 ctxswc/S +--- Score : 201268 msgs/S, 402536 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 860576 ctxswc/S +--- Score : 818864 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156554 threads/S +--- Score : 154859 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 226685 threads/S +--- Score : 221776 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 68500 reschedules/S, 411000 ctxswc/S +--- Score : 67404 reschedules/S, 404424 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 480636 ctxswc/S +--- Score : 487136 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 532244 bytes/S +--- Score : 547444 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 579464 timers/S +--- Score : 565768 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 873592 wait+signal/S +--- Score : 876268 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 606348 lock+unlock/S +--- Score : 607628 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 2db4cf0e6db4900c8369e16cf998d1437abc7fcf Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 6 Jan 2011 14:43:37 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2597 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index bf33085a7..5a61308cf 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -628,8 +628,12 @@ INPUT = ../docs/src \ ../os/ports/GCC/MSP430 \ ../os/ports/IAR/ARMCMx \ ../os/ports/IAR/ARMCMx/STM32 \ + ../os/ports/IAR/ARMCMx/LPC11xx \ + ../os/ports/IAR/ARMCMx/LPC13xx \ ../os/ports/RVCT/ARMCMx \ ../os/ports/RVCT/ARMCMx/STM32 \ + ../os/ports/RVCT/ARMCMx/LPC11xx \ + ../os/ports/RVCT/ARMCMx/LPC13xx \ ../os/ports/cosmic/STM8 \ ../os/ports/RC/STM8 \ ../os/hal \ -- cgit v1.2.3 From 9095897d130220478e08c24722bdca11b85df1f7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 7 Jan 2011 11:30:26 +0000 Subject: IAR and Keil reports for the STM32VL-Discovery. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2601 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F100-24-IAR.txt | 162 +++++++++++++++++++++++++++++++++++++ docs/reports/STM32F100-24-RVCT.txt | 162 +++++++++++++++++++++++++++++++++++++ docs/reports/STM32F100-24.txt | 2 +- docs/reports/STM32F103-72-RVCT.txt | 2 +- 4 files changed, 326 insertions(+), 2 deletions(-) create mode 100644 docs/reports/STM32F100-24-IAR.txt create mode 100644 docs/reports/STM32F100-24-RVCT.txt (limited to 'docs') diff --git a/docs/reports/STM32F100-24-IAR.txt b/docs/reports/STM32F100-24-IAR.txt new file mode 100644 index 000000000..5230cd9fe --- /dev/null +++ b/docs/reports/STM32F100-24-IAR.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -Ohs +Settings: SYSCLK=24, ACR=0x10 (no wait states) +Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.7unstable +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Value Line Medium Density +*** Test Board: ST STM32VL-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 97050 msgs/S, 194100 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 84666 msgs/S, 169332 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 84666 msgs/S, 169332 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 336864 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 60909 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 88760 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 28086 reschedules/S, 168516 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 183660 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 214132 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 310062 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 463584 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 271312 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F100-24-RVCT.txt b/docs/reports/STM32F100-24-RVCT.txt new file mode 100644 index 000000000..29fcd3156 --- /dev/null +++ b/docs/reports/STM32F100-24-RVCT.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O3 -Otime --apcs=interwork +Settings: SYSCLK=24, ACR=0x10 (no wait states) +Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.7unstable +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Value Line Medium Density +*** Test Board: ST STM32VL-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 99090 msgs/S, 198180 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 86522 msgs/S, 173044 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 86522 msgs/S, 173044 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 343016 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 65072 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 91152 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 29264 reschedules/S, 175584 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 202360 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 228520 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 294828 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 454856 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 277668 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F100-24.txt b/docs/reports/STM32F100-24.txt index 5c87b1e52..17c4954c3 100644 --- a/docs/reports/STM32F100-24.txt +++ b/docs/reports/STM32F100-24.txt @@ -1,5 +1,5 @@ *************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu Settings: SYSCLK=24, ACR=0x10 (no wait states) *************************************************************************** diff --git a/docs/reports/STM32F103-72-RVCT.txt b/docs/reports/STM32F103-72-RVCT.txt index 7695e1d17..0a1ab838c 100644 --- a/docs/reports/STM32F103-72-RVCT.txt +++ b/docs/reports/STM32F103-72-RVCT.txt @@ -1,7 +1,7 @@ *************************************************************************** Options: -O3 -Otime --apcs=interwork Settings: SYSCLK=72, ACR=0x12 (2 wait states) -Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 +Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. *************************************************************************** *** ChibiOS/RT test suite -- cgit v1.2.3 From f26a2c302cf6f547088cbd812ca1aad653000417 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 7 Jan 2011 11:52:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2602 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F100-24.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F100-24.txt b/docs/reports/STM32F100-24.txt index 17c4954c3..b928ec47e 100644 --- a/docs/reports/STM32F100-24.txt +++ b/docs/reports/STM32F100-24.txt @@ -1,11 +1,11 @@ *************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu +Options: -O3 -fomit-frame-pointer -mabi=apcs-gnu Settings: SYSCLK=24, ACR=0x10 (no wait states) *************************************************************************** *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 -- cgit v1.2.3 From 3f9e76264a6f921975ad78f208c4a94968867ec9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 7 Jan 2011 16:45:39 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2609 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1343-72-GCC.txt | 162 ++++++++++++++++++++++++++++++++++++++ docs/reports/LPC1343-72-RVCT.txt | 162 ++++++++++++++++++++++++++++++++++++++ docs/reports/LPC1343-72.txt | 162 -------------------------------------- docs/reports/STM32F100-24-GCC.txt | 162 ++++++++++++++++++++++++++++++++++++++ docs/reports/STM32F100-24.txt | 162 -------------------------------------- docs/reports/STM32F103-48-GCC.txt | 162 ++++++++++++++++++++++++++++++++++++++ docs/reports/STM32F103-48.txt | 162 -------------------------------------- docs/reports/STM32F103-72-GCC.txt | 162 ++++++++++++++++++++++++++++++++++++++ docs/reports/STM32F103-72.txt | 162 -------------------------------------- 9 files changed, 810 insertions(+), 648 deletions(-) create mode 100644 docs/reports/LPC1343-72-GCC.txt create mode 100644 docs/reports/LPC1343-72-RVCT.txt delete mode 100644 docs/reports/LPC1343-72.txt create mode 100644 docs/reports/STM32F100-24-GCC.txt delete mode 100644 docs/reports/STM32F100-24.txt create mode 100644 docs/reports/STM32F103-48-GCC.txt delete mode 100644 docs/reports/STM32F103-48.txt create mode 100644 docs/reports/STM32F103-72-GCC.txt delete mode 100644 docs/reports/STM32F103-72.txt (limited to 'docs') diff --git a/docs/reports/LPC1343-72-GCC.txt b/docs/reports/LPC1343-72-GCC.txt new file mode 100644 index 000000000..d0833f6f3 --- /dev/null +++ b/docs/reports/LPC1343-72-GCC.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu +Settings: CLK=72, (3 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.6unstable +*** GCC Version: 4.3.3 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: LPC13xx +*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1343 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 241881 msgs/S, 483762 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 196281 msgs/S, 392562 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 196281 msgs/S, 392562 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 806072 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 151247 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 215745 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 63239 reschedules/S, 379434 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 473392 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 482836 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 707908 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 909504 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 588968 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/LPC1343-72-RVCT.txt b/docs/reports/LPC1343-72-RVCT.txt new file mode 100644 index 000000000..66c41be00 --- /dev/null +++ b/docs/reports/LPC1343-72-RVCT.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O3 -Otime --apcs=interwork +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.7unstable +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: LPC13xx +*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1343 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 241137 msgs/S, 482274 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 214496 msgs/S, 428992 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 212595 msgs/S, 425190 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 885792 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 165954 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 237156 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 73472 reschedules/S, 440832 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 485508 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 557016 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 611542 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 951724 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 659220 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/LPC1343-72.txt b/docs/reports/LPC1343-72.txt deleted file mode 100644 index d0833f6f3..000000000 --- a/docs/reports/LPC1343-72.txt +++ /dev/null @@ -1,162 +0,0 @@ -*************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -Settings: CLK=72, (3 wait states) -*************************************************************************** - -*** ChibiOS/RT test suite -*** -*** Kernel: 2.1.6unstable -*** GCC Version: 4.3.3 -*** Architecture: ARMv7-M -*** Core Variant: Cortex-M3 -*** Platform: LPC13xx -*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1343 - ----------------------------------------------------------------------------- ---- Test Case 1.1 (Threads, enqueuing test #1) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.2 (Threads, enqueuing test #2) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.3 (Threads, priority change) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.4 (Threads, delays) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.3 (Semaphores, atomic signal-wait) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.4 (Binary Semaphores, functionality) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.1 (Mutexes, priority enqueuing test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.2 (Mutexes, priority inheritance, simple case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.3 (Mutexes, priority inheritance, complex case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.4 (Mutexes, priority return) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.5 (Mutexes, status) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, signal test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.7 (CondVar, broadcast test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.8 (CondVar, boost test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, loop) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 5.1 (Mailboxes, queuing and timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.1 (Events, registration and dispatch) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.2 (Events, wait and broadcast) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.3 (Events, timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, queue/dequeue) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.3 (Dynamic APIs, registry and references) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.1 (Queues, input queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.2 (Queues, output queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, messages #1) ---- Score : 241881 msgs/S, 483762 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, messages #2) ---- Score : 196281 msgs/S, 392562 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, messages #3) ---- Score : 196281 msgs/S, 392562 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, context switch) ---- Score : 806072 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 151247 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 215745 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 63239 reschedules/S, 379434 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 473392 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 482836 bytes/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 707908 timers/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 909504 wait+signal/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 588968 lock+unlock/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes ---- Thread: 68 bytes ---- Timer : 20 bytes ---- Semaph: 12 bytes ---- EventS: 4 bytes ---- EventL: 12 bytes ---- Mutex : 16 bytes ---- CondV.: 8 bytes ---- Queue : 32 bytes ---- MailB.: 40 bytes ---- Result: SUCCESS ----------------------------------------------------------------------------- - -Final result: SUCCESS diff --git a/docs/reports/STM32F100-24-GCC.txt b/docs/reports/STM32F100-24-GCC.txt new file mode 100644 index 000000000..b928ec47e --- /dev/null +++ b/docs/reports/STM32F100-24-GCC.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O3 -fomit-frame-pointer -mabi=apcs-gnu +Settings: SYSCLK=24, ACR=0x10 (no wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.7unstable +*** GCC Version: 4.5.1 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Value Line Medium Density +*** Test Board: ST STM32VL-Discovery + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 103348 msgs/S, 206696 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 84666 msgs/S, 169332 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 84666 msgs/S, 169332 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 341704 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 64356 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 94372 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 26091 reschedules/S, 156546 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 199360 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 203236 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 327148 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 382084 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 284288 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F100-24.txt b/docs/reports/STM32F100-24.txt deleted file mode 100644 index b928ec47e..000000000 --- a/docs/reports/STM32F100-24.txt +++ /dev/null @@ -1,162 +0,0 @@ -*************************************************************************** -Options: -O3 -fomit-frame-pointer -mabi=apcs-gnu -Settings: SYSCLK=24, ACR=0x10 (no wait states) -*************************************************************************** - -*** ChibiOS/RT test suite -*** -*** Kernel: 2.1.7unstable -*** GCC Version: 4.5.1 -*** Architecture: ARMv7-M -*** Core Variant: Cortex-M3 -*** Platform: STM32 Value Line Medium Density -*** Test Board: ST STM32VL-Discovery - ----------------------------------------------------------------------------- ---- Test Case 1.1 (Threads, enqueuing test #1) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.2 (Threads, enqueuing test #2) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.3 (Threads, priority change) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.4 (Threads, delays) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.3 (Semaphores, atomic signal-wait) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.4 (Binary Semaphores, functionality) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.1 (Mutexes, priority enqueuing test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.2 (Mutexes, priority inheritance, simple case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.3 (Mutexes, priority inheritance, complex case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.4 (Mutexes, priority return) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.5 (Mutexes, status) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, signal test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.7 (CondVar, broadcast test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.8 (CondVar, boost test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, loop) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 5.1 (Mailboxes, queuing and timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.1 (Events, registration and dispatch) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.2 (Events, wait and broadcast) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.3 (Events, timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, queue/dequeue) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.3 (Dynamic APIs, registry and references) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.1 (Queues, input queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.2 (Queues, output queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, messages #1) ---- Score : 103348 msgs/S, 206696 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, messages #2) ---- Score : 84666 msgs/S, 169332 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, messages #3) ---- Score : 84666 msgs/S, 169332 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, context switch) ---- Score : 341704 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 64356 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 94372 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 26091 reschedules/S, 156546 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 199360 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 203236 bytes/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 327148 timers/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 382084 wait+signal/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 284288 lock+unlock/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes ---- Thread: 68 bytes ---- Timer : 20 bytes ---- Semaph: 12 bytes ---- EventS: 4 bytes ---- EventL: 12 bytes ---- Mutex : 16 bytes ---- CondV.: 8 bytes ---- Queue : 32 bytes ---- MailB.: 40 bytes ---- Result: SUCCESS ----------------------------------------------------------------------------- - -Final result: SUCCESS diff --git a/docs/reports/STM32F103-48-GCC.txt b/docs/reports/STM32F103-48-GCC.txt new file mode 100644 index 000000000..7280a2ead --- /dev/null +++ b/docs/reports/STM32F103-48-GCC.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: SYSCLK=48, ACR=0x11 (1 wait state) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.5unstable +*** GCC Version: 4.5.1 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Performance Line Medium Density +*** Test Board: Olimex STM32-P103 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 186215 msgs/S, 372430 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 152411 msgs/S, 304822 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 152411 msgs/S, 304822 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 613592 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 117593 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 173405 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 46508 reschedules/S, 279048 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 357800 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 355212 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 514688 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 640320 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 475080 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F103-48.txt b/docs/reports/STM32F103-48.txt deleted file mode 100644 index 7280a2ead..000000000 --- a/docs/reports/STM32F103-48.txt +++ /dev/null @@ -1,162 +0,0 @@ -*************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 -Settings: SYSCLK=48, ACR=0x11 (1 wait state) -*************************************************************************** - -*** ChibiOS/RT test suite -*** -*** Kernel: 2.1.5unstable -*** GCC Version: 4.5.1 -*** Architecture: ARMv7-M -*** Core Variant: Cortex-M3 -*** Platform: STM32 Performance Line Medium Density -*** Test Board: Olimex STM32-P103 - ----------------------------------------------------------------------------- ---- Test Case 1.1 (Threads, enqueuing test #1) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.2 (Threads, enqueuing test #2) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.3 (Threads, priority change) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.4 (Threads, delays) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.3 (Semaphores, atomic signal-wait) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.4 (Binary Semaphores, functionality) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.1 (Mutexes, priority enqueuing test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.2 (Mutexes, priority inheritance, simple case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.3 (Mutexes, priority inheritance, complex case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.4 (Mutexes, priority return) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.5 (Mutexes, status) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, signal test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.7 (CondVar, broadcast test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.8 (CondVar, boost test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, loop) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 5.1 (Mailboxes, queuing and timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.1 (Events, registration and dispatch) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.2 (Events, wait and broadcast) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.3 (Events, timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, queue/dequeue) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.3 (Dynamic APIs, registry and references) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.1 (Queues, input queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.2 (Queues, output queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, messages #1) ---- Score : 186215 msgs/S, 372430 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, messages #2) ---- Score : 152411 msgs/S, 304822 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, messages #3) ---- Score : 152411 msgs/S, 304822 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, context switch) ---- Score : 613592 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 117593 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 173405 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 46508 reschedules/S, 279048 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 357800 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 355212 bytes/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 514688 timers/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 640320 wait+signal/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 475080 lock+unlock/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes ---- Thread: 68 bytes ---- Timer : 20 bytes ---- Semaph: 12 bytes ---- EventS: 4 bytes ---- EventL: 12 bytes ---- Mutex : 16 bytes ---- CondV.: 8 bytes ---- Queue : 32 bytes ---- MailB.: 40 bytes ---- Result: SUCCESS ----------------------------------------------------------------------------- - -Final result: SUCCESS diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt new file mode 100644 index 000000000..e1f06d20a --- /dev/null +++ b/docs/reports/STM32F103-72-GCC.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.6unstable +*** GCC Version: 4.5.1 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Performance Line Medium Density +*** Test Board: Olimex STM32-P103 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 248574 msgs/S, 497148 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 201227 msgs/S, 402454 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 201227 msgs/S, 402454 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 839008 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 156856 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 235543 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 61138 reschedules/S, 366828 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 478128 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 465772 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 647262 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 787368 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 586492 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt deleted file mode 100644 index e1f06d20a..000000000 --- a/docs/reports/STM32F103-72.txt +++ /dev/null @@ -1,162 +0,0 @@ -*************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 -Settings: SYSCLK=72, ACR=0x12 (2 wait states) -*************************************************************************** - -*** ChibiOS/RT test suite -*** -*** Kernel: 2.1.6unstable -*** GCC Version: 4.5.1 -*** Architecture: ARMv7-M -*** Core Variant: Cortex-M3 -*** Platform: STM32 Performance Line Medium Density -*** Test Board: Olimex STM32-P103 - ----------------------------------------------------------------------------- ---- Test Case 1.1 (Threads, enqueuing test #1) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.2 (Threads, enqueuing test #2) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.3 (Threads, priority change) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.4 (Threads, delays) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.3 (Semaphores, atomic signal-wait) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.4 (Binary Semaphores, functionality) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.1 (Mutexes, priority enqueuing test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.2 (Mutexes, priority inheritance, simple case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.3 (Mutexes, priority inheritance, complex case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.4 (Mutexes, priority return) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.5 (Mutexes, status) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, signal test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.7 (CondVar, broadcast test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.8 (CondVar, boost test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, loop) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 5.1 (Mailboxes, queuing and timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.1 (Events, registration and dispatch) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.2 (Events, wait and broadcast) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.3 (Events, timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, queue/dequeue) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.3 (Dynamic APIs, registry and references) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.1 (Queues, input queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.2 (Queues, output queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248574 msgs/S, 497148 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, messages #2) ---- Score : 201227 msgs/S, 402454 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, messages #3) ---- Score : 201227 msgs/S, 402454 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, context switch) ---- Score : 839008 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156856 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 235543 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 61138 reschedules/S, 366828 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478128 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 465772 bytes/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647262 timers/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 787368 wait+signal/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586492 lock+unlock/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes ---- Thread: 68 bytes ---- Timer : 20 bytes ---- Semaph: 12 bytes ---- EventS: 4 bytes ---- EventL: 12 bytes ---- Mutex : 16 bytes ---- CondV.: 8 bytes ---- Queue : 32 bytes ---- MailB.: 40 bytes ---- Result: SUCCESS ----------------------------------------------------------------------------- - -Final result: SUCCESS -- cgit v1.2.3 From 93a20bf96ed74f14266e1c8a411d3ebd526921c9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 7 Jan 2011 17:10:43 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2611 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1343-72-IAR.txt | 162 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 docs/reports/LPC1343-72-IAR.txt (limited to 'docs') diff --git a/docs/reports/LPC1343-72-IAR.txt b/docs/reports/LPC1343-72-IAR.txt new file mode 100644 index 000000000..28f540ce9 --- /dev/null +++ b/docs/reports/LPC1343-72-IAR.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -Ohs +Settings: SYSCLK=24, ACR=0x10 (no wait states) +Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.7unstable +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: LPC13xx +*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1343 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 241085 msgs/S, 482170 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 213819 msgs/S, 427638 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 214456 msgs/S, 428912 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 896616 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 153845 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 234021 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 70296 reschedules/S, 421776 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 472660 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 528260 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 668306 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 1041200 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 644332 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 52c033d27e37a0726604a7e4f69f6d1469a9d25f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 8 Jan 2011 16:45:56 +0000 Subject: Cortex-M0 RCTV port. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2619 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-RVCT.txt | 162 +++++++++++++++++++++++++++++++++++++++ docs/reports/LPC1114-48.txt | 2 +- docs/reports/LPC1343-72-IAR.txt | 2 +- docs/reports/LPC1343-72-RVCT.txt | 2 +- 4 files changed, 165 insertions(+), 3 deletions(-) create mode 100644 docs/reports/LPC1114-48-RVCT.txt (limited to 'docs') diff --git a/docs/reports/LPC1114-48-RVCT.txt b/docs/reports/LPC1114-48-RVCT.txt new file mode 100644 index 000000000..17df988de --- /dev/null +++ b/docs/reports/LPC1114-48-RVCT.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O3 -Otime --apcs=interwork +Settings: CLK=48, (2 wait states) +Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.7unstable +*** Architecture: ARMv6-M +*** Core Variant: Cortex-M0 +*** Platform: LPC11xx +*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1114 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 116826 msgs/S, 233652 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 100172 msgs/S, 200344 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 99754 msgs/S, 199508 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 377360 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 79506 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 112694 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 33626 reschedules/S, 201756 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 246616 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 261068 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 301424 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 614472 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 382980 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/LPC1114-48.txt b/docs/reports/LPC1114-48.txt index 1f2bccf50..78f27a01c 100644 --- a/docs/reports/LPC1114-48.txt +++ b/docs/reports/LPC1114-48.txt @@ -1,6 +1,6 @@ *************************************************************************** Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -Settings: CLK=48, (3 wait states) +Settings: CLK=48, (2 wait states) *************************************************************************** *** ChibiOS/RT test suite diff --git a/docs/reports/LPC1343-72-IAR.txt b/docs/reports/LPC1343-72-IAR.txt index 28f540ce9..3b0b45d03 100644 --- a/docs/reports/LPC1343-72-IAR.txt +++ b/docs/reports/LPC1343-72-IAR.txt @@ -1,6 +1,6 @@ *************************************************************************** Options: -Ohs -Settings: SYSCLK=24, ACR=0x10 (no wait states) +Settings: CLK=72, (3 wait states) Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 *************************************************************************** diff --git a/docs/reports/LPC1343-72-RVCT.txt b/docs/reports/LPC1343-72-RVCT.txt index 66c41be00..6edf4f2b5 100644 --- a/docs/reports/LPC1343-72-RVCT.txt +++ b/docs/reports/LPC1343-72-RVCT.txt @@ -1,6 +1,6 @@ *************************************************************************** Options: -O3 -Otime --apcs=interwork -Settings: SYSCLK=72, ACR=0x12 (2 wait states) +Settings: CLK=72, (3 wait states) Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. *************************************************************************** -- cgit v1.2.3 From 274a4627b929f7bc6def137366aa501ac8ba7062 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 8 Jan 2011 16:46:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2620 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-GCC.txt | 162 ++++++++++++++++++++++++++++++++++++++++ docs/reports/LPC1114-48.txt | 162 ---------------------------------------- 2 files changed, 162 insertions(+), 162 deletions(-) create mode 100644 docs/reports/LPC1114-48-GCC.txt delete mode 100644 docs/reports/LPC1114-48.txt (limited to 'docs') diff --git a/docs/reports/LPC1114-48-GCC.txt b/docs/reports/LPC1114-48-GCC.txt new file mode 100644 index 000000000..78f27a01c --- /dev/null +++ b/docs/reports/LPC1114-48-GCC.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu +Settings: CLK=48, (2 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.1.6unstable +*** GCC Version: 4.3.3 +*** Architecture: ARMv6-M +*** Core Variant: Cortex-M0 +*** Platform: LPC11xx +*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1114 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 124136 msgs/S, 248272 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 99992 msgs/S, 199984 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 99992 msgs/S, 199984 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 380432 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 78349 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 110375 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 31034 reschedules/S, 186204 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 253200 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 298992 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 350196 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 591948 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 334860 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/LPC1114-48.txt b/docs/reports/LPC1114-48.txt deleted file mode 100644 index 78f27a01c..000000000 --- a/docs/reports/LPC1114-48.txt +++ /dev/null @@ -1,162 +0,0 @@ -*************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -Settings: CLK=48, (2 wait states) -*************************************************************************** - -*** ChibiOS/RT test suite -*** -*** Kernel: 2.1.6unstable -*** GCC Version: 4.3.3 -*** Architecture: ARMv6-M -*** Core Variant: Cortex-M0 -*** Platform: LPC11xx -*** Test Board: Embedded Artists LPCXpresso Base Board + LPC1114 - ----------------------------------------------------------------------------- ---- Test Case 1.1 (Threads, enqueuing test #1) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.2 (Threads, enqueuing test #2) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.3 (Threads, priority change) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.4 (Threads, delays) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.3 (Semaphores, atomic signal-wait) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.4 (Binary Semaphores, functionality) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.1 (Mutexes, priority enqueuing test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.2 (Mutexes, priority inheritance, simple case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.3 (Mutexes, priority inheritance, complex case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.4 (Mutexes, priority return) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.5 (Mutexes, status) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, signal test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.7 (CondVar, broadcast test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.8 (CondVar, boost test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, loop) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 5.1 (Mailboxes, queuing and timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.1 (Events, registration and dispatch) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.2 (Events, wait and broadcast) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.3 (Events, timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, queue/dequeue) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.3 (Dynamic APIs, registry and references) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.1 (Queues, input queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.2 (Queues, output queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, messages #1) ---- Score : 124136 msgs/S, 248272 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, messages #2) ---- Score : 99992 msgs/S, 199984 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, messages #3) ---- Score : 99992 msgs/S, 199984 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, context switch) ---- Score : 380432 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 78349 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 110375 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 31034 reschedules/S, 186204 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 253200 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 298992 bytes/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 350196 timers/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 591948 wait+signal/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 334860 lock+unlock/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes ---- Thread: 68 bytes ---- Timer : 20 bytes ---- Semaph: 12 bytes ---- EventS: 4 bytes ---- EventL: 12 bytes ---- Mutex : 16 bytes ---- CondV.: 8 bytes ---- Queue : 32 bytes ---- MailB.: 40 bytes ---- Result: SUCCESS ----------------------------------------------------------------------------- - -Final result: SUCCESS -- cgit v1.2.3 From ff333430f1317247299863b592293faa7799e0a4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 9 Jan 2011 10:10:39 +0000 Subject: Serial driver changes, bug 3153550 fixed. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2625 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/AT91SAM7X-48-ARM.txt | 4 ++-- docs/reports/LPC2148-48-ARM.txt | 2 +- docs/reports/STM32F103-48-GCC.txt | 2 +- docs/reports/STM32F103-72-GCC.txt | 6 +++--- docs/reports/STM8L152-16-Cosmic.txt | 24 ++++++++++++------------ docs/reports/STM8S105-16-Cosmic.txt | 26 +++++++++++++------------- 6 files changed, 32 insertions(+), 32 deletions(-) (limited to 'docs') diff --git a/docs/reports/AT91SAM7X-48-ARM.txt b/docs/reports/AT91SAM7X-48-ARM.txt index 9a177cde4..3ea10a03a 100644 --- a/docs/reports/AT91SAM7X-48-ARM.txt +++ b/docs/reports/AT91SAM7X-48-ARM.txt @@ -5,7 +5,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** GCC Version: 4.5.1 *** Architecture: ARM7 *** Core Variant: ARM7TDMI @@ -122,7 +122,7 @@ Settings: MCK=48.054857, MC_FMR = AT91C_MC_FWS_1FWS (1 wait state) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 27231 reschedules/S, 163386 ctxswc/S +--- Score : 27232 reschedules/S, 163392 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index c179db3cf..f1ce426dd 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,7 +5,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** GCC Version: 4.5.1 *** Architecture: ARM7 *** Core Variant: ARM7TDMI diff --git a/docs/reports/STM32F103-48-GCC.txt b/docs/reports/STM32F103-48-GCC.txt index 7280a2ead..be8d0d274 100644 --- a/docs/reports/STM32F103-48-GCC.txt +++ b/docs/reports/STM32F103-48-GCC.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=48, ACR=0x11 (1 wait state) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.5unstable +*** Kernel: 2.1.7unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index e1f06d20a..0052c806a 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -98,7 +98,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248574 msgs/S, 497148 ctxswc/S +--- Score : 248573 msgs/S, 497146 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -126,7 +126,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478128 ctxswc/S +--- Score : 478116 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/docs/reports/STM8L152-16-Cosmic.txt b/docs/reports/STM8L152-16-Cosmic.txt index 7c82ce881..40ad21154 100644 --- a/docs/reports/STM8L152-16-Cosmic.txt +++ b/docs/reports/STM8L152-16-Cosmic.txt @@ -6,7 +6,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** Architecture: STM8 *** Platform: STM8L *** Test Board: ST STM8L-Discovery @@ -97,43 +97,43 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 35517 msgs/S, 71034 ctxswc/S +--- Score : 35916 msgs/S, 71832 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 28040 msgs/S, 56080 ctxswc/S +--- Score : 28238 msgs/S, 56476 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 28040 msgs/S, 56080 ctxswc/S +--- Score : 28238 msgs/S, 56476 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 134880 ctxswc/S +--- Score : 136456 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 20757 threads/S +--- Score : 20730 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 32486 threads/S +--- Score : 32552 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 8461 reschedules/S, 50766 ctxswc/S +--- Score : 8502 reschedules/S, 51012 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 70640 ctxswc/S +--- Score : 69940 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 76220 bytes/S +--- Score : 76132 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 72812 timers/S +--- Score : 72482 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) @@ -141,7 +141,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 143340 lock+unlock/S +--- Score : 141436 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM8S105-16-Cosmic.txt b/docs/reports/STM8S105-16-Cosmic.txt index 220994fef..1b57fb7e3 100644 --- a/docs/reports/STM8S105-16-Cosmic.txt +++ b/docs/reports/STM8S105-16-Cosmic.txt @@ -6,7 +6,7 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** Architecture: STM8 *** Platform: STM8S *** Test Board: ST STM8S-Discovery @@ -97,51 +97,51 @@ Compiler: Cosmic STM8 compiler 4.3.3.3. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 35999 msgs/S, 71998 ctxswc/S +--- Score : 35678 msgs/S, 71356 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 28391 msgs/S, 56782 ctxswc/S +--- Score : 28191 msgs/S, 56382 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 28391 msgs/S, 56782 ctxswc/S +--- Score : 28191 msgs/S, 56382 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 135888 ctxswc/S +--- Score : 135456 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 20894 threads/S +--- Score : 20813 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 32620 threads/S +--- Score : 32554 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 8484 reschedules/S, 50904 ctxswc/S +--- Score : 8476 reschedules/S, 50856 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 71040 ctxswc/S +--- Score : 70336 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 76408 bytes/S +--- Score : 75868 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 72602 timers/S +--- Score : 72930 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 172328 wait+signal/S +--- Score : 170492 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 142076 lock+unlock/S +--- Score : 142080 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 463cf04eef626e77e60533a1d1a199f45aa755fc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 9 Jan 2011 13:13:02 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2628 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-GCC.txt | 4 ++-- docs/reports/LPC1343-72-GCC.txt | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-GCC.txt b/docs/reports/LPC1114-48-GCC.txt index 78f27a01c..260d994a4 100644 --- a/docs/reports/LPC1114-48-GCC.txt +++ b/docs/reports/LPC1114-48-GCC.txt @@ -5,7 +5,7 @@ Settings: CLK=48, (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** GCC Version: 4.3.3 *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 @@ -98,7 +98,7 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 124136 msgs/S, 248272 ctxswc/S +--- Score : 124135 msgs/S, 248270 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) diff --git a/docs/reports/LPC1343-72-GCC.txt b/docs/reports/LPC1343-72-GCC.txt index d0833f6f3..ed8476215 100644 --- a/docs/reports/LPC1343-72-GCC.txt +++ b/docs/reports/LPC1343-72-GCC.txt @@ -5,7 +5,7 @@ Settings: CLK=72, (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** GCC Version: 4.3.3 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -98,7 +98,7 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 241881 msgs/S, 483762 ctxswc/S +--- Score : 241880 msgs/S, 483760 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -126,7 +126,7 @@ Settings: CLK=72, (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 473392 ctxswc/S +--- Score : 473388 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From 7db9cb86d06c725387bca9b89a7dd849f7c46142 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 9 Jan 2011 14:26:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2630 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/MSP430F1611-8.txt | 22 ++++++------- docs/reports/coverage.txt | 4 +-- docs/reports/kernel.txt | 72 +++++++++++++++++++++--------------------- 3 files changed, 49 insertions(+), 49 deletions(-) (limited to 'docs') diff --git a/docs/reports/MSP430F1611-8.txt b/docs/reports/MSP430F1611-8.txt index 804290409..396b90924 100644 --- a/docs/reports/MSP430F1611-8.txt +++ b/docs/reports/MSP430F1611-8.txt @@ -5,7 +5,7 @@ Settings: MCLK=XT2CLK 8MHz *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable +*** Kernel: 2.1.7unstable *** GCC Version: 3.2.3 *** Architecture: MSP430 *** Core Variant: MSP430 @@ -98,35 +98,35 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 21355 msgs/S, 42710 ctxswc/S +--- Score : 20220 msgs/S, 40440 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 17593 msgs/S, 35186 ctxswc/S +--- Score : 16675 msgs/S, 33350 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 17593 msgs/S, 35186 ctxswc/S +--- Score : 16675 msgs/S, 33350 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 64024 ctxswc/S +--- Score : 59056 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 12139 threads/S +--- Score : 11694 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 16502 threads/S +--- Score : 15816 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 5350 reschedules/S, 32100 ctxswc/S +--- Score : 5293 reschedules/S, 31758 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 41332 ctxswc/S +--- Score : 38172 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -134,7 +134,7 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 61058 timers/S +--- Score : 61056 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) @@ -142,7 +142,7 @@ Settings: MCLK=XT2CLK 8MHz --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 81504 lock+unlock/S +--- Score : 81500 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index 4804602ef..e77771ca2 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -33,7 +33,7 @@ Lines executed:100.00% of 18 ../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov' File `../../os/kernel/src/chsem.c' -Lines executed:100.00% of 81 +Lines executed:91.01% of 89 ../../os/kernel/src/chsem.c:creating `chsem.c.gcov' File `../../os/kernel/src/chmtx.c' @@ -57,7 +57,7 @@ Lines executed:100.00% of 65 ../../os/kernel/src/chmboxes.c:creating `chmboxes.c.gcov' File `../../os/kernel/src/chqueues.c' -Lines executed:100.00% of 112 +Lines executed:90.16% of 122 ../../os/kernel/src/chqueues.c:creating `chqueues.c.gcov' File `../../os/kernel/src/chmemcore.c' diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index d956c87c2..de177a208 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11232 +Kernel Size = 11404 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10792 +Kernel Size = 10956 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9788 +Kernel Size = 9936 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9304 +Kernel Size = 9444 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5936 +Kernel Size = 6024 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5444 +Kernel Size = 5524 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5364 +Kernel Size = 5428 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4960 +Kernel Size = 5024 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -74,13 +74,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5148 +Kernel Size = 5212 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4764 +Kernel Size = 4828 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5184 +Kernel Size = 5276 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4992 +Kernel Size = 5080 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4784 +Kernel Size = 4852 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4624 +Kernel Size = 4692 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8620 +Kernel Size = 8748 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8168 +Kernel Size = 8288 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7980 +Kernel Size = 8100 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7632 +Kernel Size = 7744 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -164,13 +164,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8336 +Kernel Size = 8464 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7900 +Kernel Size = 8020 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -182,13 +182,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7688 +Kernel Size = 7808 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7360 +Kernel Size = 7472 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5748 +Kernel Size = 5844 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5544 +Kernel Size = 5636 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -218,13 +218,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5356 +Kernel Size = 5428 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5172 +Kernel Size = 5244 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5600 +Kernel Size = 5688 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5408 +Kernel Size = 5492 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5140 +Kernel Size = 5216 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.1 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 4984 +Kernel Size = 5056 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -272,35 +272,35 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5728 +Kernel Size = 5708 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5208 +Kernel Size = 5304 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -Kernel Size = 1120 +Kernel Size = 992 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5668 +Kernel Size = 5648 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5168 +Kernel Size = 5264 Platform : MSP430 OS Setup : Minimal kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -Kernel Size = 1120 +Kernel Size = 992 -- cgit v1.2.3 From 8f86368f15cc28d4879a50ec8d4d6f8139e4d57a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 9 Jan 2011 18:09:20 +0000 Subject: Fixed bug 3153746. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2632 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 5a61308cf..08f65b949 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.1.7 +PROJECT_NUMBER = 2.1.8 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 52d0114fdb2ea80c153988e3b7c36ddcfae80c14 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 22 Jan 2011 16:10:42 +0000 Subject: Coverage improvements. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2676 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/coverage.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index e77771ca2..dc63a753e 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -33,7 +33,7 @@ Lines executed:100.00% of 18 ../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov' File `../../os/kernel/src/chsem.c' -Lines executed:91.01% of 89 +Lines executed:100.00% of 89 ../../os/kernel/src/chsem.c:creating `chsem.c.gcov' File `../../os/kernel/src/chmtx.c' @@ -57,7 +57,7 @@ Lines executed:100.00% of 65 ../../os/kernel/src/chmboxes.c:creating `chmboxes.c.gcov' File `../../os/kernel/src/chqueues.c' -Lines executed:90.16% of 122 +Lines executed:100.00% of 122 ../../os/kernel/src/chqueues.c:creating `chqueues.c.gcov' File `../../os/kernel/src/chmemcore.c' -- cgit v1.2.3 From ae9a53c8021b3fc416018b33f501a31ca9788b0d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 Jan 2011 09:58:07 +0000 Subject: Version 2.2.0 released, trunk version number is 2.3.0 now. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2692 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 08f65b949..5617db620 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.1.8 +PROJECT_NUMBER = 2.3.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 5e31d55f748df66a6fef7570b4c11947e360d3fa Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 Jan 2011 16:23:08 +0000 Subject: Small fix to the STM32 serial driver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2694 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 0052c806a..8d85ad7ce 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -5,8 +5,8 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.7unstable -*** GCC Version: 4.5.1 +*** Kernel: 2.3.0unstable +*** GCC Version: 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: STM32 Performance Line Medium Density @@ -126,7 +126,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478116 ctxswc/S +--- Score : 478120 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From 60d8f68906f28d369f35b624e129deee5092c86d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 15 Feb 2011 18:44:29 +0000 Subject: More improvements to the generic USB driver, implemented suspend and wakeup handling in the STM32 USB driver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2742 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/SPC563M64-80.txt | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/reports/SPC563M64-80.txt b/docs/reports/SPC563M64-80.txt index 2a4f8ddad..d9acf403a 100644 --- a/docs/reports/SPC563M64-80.txt +++ b/docs/reports/SPC563M64-80.txt @@ -1,11 +1,6 @@ -*************************************************************************** -Options: -O2 -fomit-frame-pointer -msdata=none -falign-functions=16 -Settings: SYSCLK=80, optimal wait states, prefetching enabled -*************************************************************************** - *** ChibiOS/RT test suite *** -*** Kernel: 2.1.0unstable +*** Kernel: 2.3.0unstable *** GCC Version: 4.4.1 *** Architecture: PowerPC *** Core Variant: e200z3 @@ -34,6 +29,9 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Test Case 2.3 (Semaphores, atomic signal-wait) --- Result: SUCCESS ---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- --- Test Case 3.1 (Mutexes, priority enqueuing test) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -95,15 +93,15 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 281168 msgs/S, 562336 ctxswc/S +--- Score : 280179 msgs/S, 560358 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 226208 msgs/S, 452416 ctxswc/S +--- Score : 225570 msgs/S, 451140 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 226208 msgs/S, 452416 ctxswc/S +--- Score : 225570 msgs/S, 451140 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -111,15 +109,15 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 182729 threads/S +--- Score : 183148 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 263538 threads/S +--- Score : 268864 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 74067 reschedules/S, 444402 ctxswc/S +--- Score : 73999 reschedules/S, 443994 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) @@ -127,19 +125,19 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 618384 bytes/S +--- Score : 613316 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 1093664 timers/S +--- Score : 1093666 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 1027008 wait+signal/S +--- Score : 1027012 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 871856 lock+unlock/S +--- Score : 841236 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 108f7c4e1a50669853deb4429bb61f60604e156d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 21 Feb 2011 17:53:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2754 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 84 ++++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index de177a208..45f9776d0 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -36,235 +36,235 @@ Kernel Size = 2092 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 6024 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE Kernel Size = 5524 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb Kernel Size = 1428 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 5428 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE Kernel Size = 5024 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb Kernel Size = 1244 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 5212 Platform : ARM Cortex-M3 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE Kernel Size = 4828 Platform : ARM Cortex-M3 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" Kernel Size = 1196 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5276 +Kernel Size = 5280 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5080 +Kernel Size = 5084 Platform : ARM Cortex-M0 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -Kernel Size = 1300 +Kernel Size = 1304 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 4852 Platform : ARM Cortex-M0 OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE Kernel Size = 4692 Platform : ARM Cortex-M0 OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb Kernel Size = 1180 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 8748 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE Kernel Size = 8288 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 Kernel Size = 1820 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 8100 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE Kernel Size = 7744 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os Kernel Size = 1568 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 8464 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE Kernel Size = 8020 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" Kernel Size = 1752 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE Kernel Size = 7808 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE Kernel Size = 7472 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" Kernel Size = 1500 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5844 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5636 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 1300 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5428 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5244 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 1188 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5688 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5492 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 1248 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5216 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 5056 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -Compiler : arm-none-eabi-gcc (GCC) 4.5.1 +Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING Kernel Size = 1132 -- cgit v1.2.3 From fcb39bcbab4beeb5d1ce9bcbd886e54ac1321d34 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 21 Feb 2011 17:59:28 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2755 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 68 ++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 45f9776d0..c53f23df6 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11404 +Kernel Size = 11744 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 10956 +Kernel Size = 11296 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 9936 +Kernel Size = 10260 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9444 +Kernel Size = 9768 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 6024 +Kernel Size = 6180 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5524 +Kernel Size = 5680 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5428 +Kernel Size = 5576 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5024 +Kernel Size = 5168 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -74,13 +74,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5212 +Kernel Size = 5356 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4828 +Kernel Size = 4976 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5280 +Kernel Size = 5428 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5084 +Kernel Size = 5232 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4852 +Kernel Size = 4992 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4692 +Kernel Size = 4832 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8748 +Kernel Size = 8988 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8288 +Kernel Size = 8528 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8100 +Kernel Size = 8340 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7744 +Kernel Size = 7984 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -164,13 +164,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8464 +Kernel Size = 8704 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8020 +Kernel Size = 8260 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -182,13 +182,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 7808 +Kernel Size = 8048 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7472 +Kernel Size = 7712 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5844 +Kernel Size = 6004 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5636 +Kernel Size = 5796 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -218,13 +218,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5428 +Kernel Size = 5580 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5244 +Kernel Size = 5396 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5688 +Kernel Size = 5848 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5492 +Kernel Size = 5652 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5216 +Kernel Size = 5368 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5056 +Kernel Size = 5208 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -272,13 +272,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5708 +Kernel Size = 5884 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5304 +Kernel Size = 5476 Platform : MSP430 OS Setup : Minimal kernel @@ -290,13 +290,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5648 +Kernel Size = 5820 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5264 +Kernel Size = 5440 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From b3b1028036a2f18327fb97f2126192a2ace62bb2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 21 Feb 2011 19:06:46 +0000 Subject: TIME_IMMEDIATE and TIME_INFINITE values swapped. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2757 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 2 +- docs/reports/kernel.txt | 38 +++++++++++++++++++------------------- 2 files changed, 20 insertions(+), 20 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 8d85ad7ce..e35cb5270 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -130,7 +130,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 465772 bytes/S +--- Score : 474232 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index c53f23df6..d67788fd3 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -38,67 +38,67 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 6180 +Kernel Size = 6172 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5680 +Kernel Size = 5672 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -Kernel Size = 1428 +Kernel Size = 1432 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5576 +Kernel Size = 5568 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5168 +Kernel Size = 5156 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -Kernel Size = 1244 +Kernel Size = 1248 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5356 +Kernel Size = 5348 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4976 +Kernel Size = 4964 Platform : ARM Cortex-M3 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -Kernel Size = 1196 +Kernel Size = 1200 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5428 +Kernel Size = 5432 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5232 +Kernel Size = 5236 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8340 +Kernel Size = 8344 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7984 +Kernel Size = 7988 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -182,13 +182,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8048 +Kernel Size = 8052 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7712 +Kernel Size = 7716 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 6004 +Kernel Size = 6008 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5796 +Kernel Size = 5800 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,7 +236,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5848 +Kernel Size = 5852 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel @@ -260,7 +260,7 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5208 +Kernel Size = 5212 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel -- cgit v1.2.3 From 6f6e1a6401eda000dce198150937c7919b4c9855 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 23 Feb 2011 18:59:39 +0000 Subject: Improved messages subsystem. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2759 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 6 ++-- docs/reports/kernel.txt | 68 +++++++++++++++++++-------------------- 2 files changed, 37 insertions(+), 37 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index e35cb5270..772e24d45 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -98,15 +98,15 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248573 msgs/S, 497146 ctxswc/S +--- Score : 248569 msgs/S, 497138 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 201227 msgs/S, 402454 ctxswc/S +--- Score : 198998 msgs/S, 397996 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 201227 msgs/S, 402454 ctxswc/S +--- Score : 198998 msgs/S, 397996 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index d67788fd3..8f9530559 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11744 +Kernel Size = 11716 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 11296 +Kernel Size = 11244 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 10260 +Kernel Size = 10208 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9768 +Kernel Size = 9712 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 6172 +Kernel Size = 6124 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5672 +Kernel Size = 5624 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5568 +Kernel Size = 5524 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5156 +Kernel Size = 5112 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -74,13 +74,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5348 +Kernel Size = 5320 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4964 +Kernel Size = 4936 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5432 +Kernel Size = 5396 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5236 +Kernel Size = 5196 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4992 +Kernel Size = 4956 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4832 +Kernel Size = 4792 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8988 +Kernel Size = 8940 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8528 +Kernel Size = 8472 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8344 +Kernel Size = 8288 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7988 +Kernel Size = 7928 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -164,13 +164,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8704 +Kernel Size = 8676 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8260 +Kernel Size = 8220 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -182,13 +182,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8052 +Kernel Size = 8016 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7716 +Kernel Size = 7676 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 6008 +Kernel Size = 5964 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5800 +Kernel Size = 5752 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -218,13 +218,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5580 +Kernel Size = 5536 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5396 +Kernel Size = 5348 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5852 +Kernel Size = 5824 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5652 +Kernel Size = 5620 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5368 +Kernel Size = 5340 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5212 +Kernel Size = 5180 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -272,13 +272,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5884 +Kernel Size = 5840 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5476 +Kernel Size = 5428 Platform : MSP430 OS Setup : Minimal kernel @@ -290,13 +290,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5820 +Kernel Size = 5776 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5440 +Kernel Size = 5392 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From cd17bfa35ec8b30b490952abeb2177d3498d6bb4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 24 Feb 2011 18:21:36 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2763 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/kernel.txt | 68 ++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) (limited to 'docs') diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index 8f9530559..a998d8484 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11716 +Kernel Size = 11724 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 11244 +Kernel Size = 11252 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 10208 +Kernel Size = 10216 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9712 +Kernel Size = 9720 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 6124 +Kernel Size = 6128 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5624 +Kernel Size = 5628 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5524 +Kernel Size = 5532 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5112 +Kernel Size = 5120 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -74,13 +74,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5320 +Kernel Size = 5328 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4936 +Kernel Size = 4944 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,13 +92,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5396 +Kernel Size = 5404 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5196 +Kernel Size = 5204 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -110,13 +110,13 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4956 +Kernel Size = 4964 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4792 +Kernel Size = 4800 Platform : ARM Cortex-M0 OS Setup : Minimal kernel @@ -128,13 +128,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8940 +Kernel Size = 8948 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8472 +Kernel Size = 8480 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8288 +Kernel Size = 8296 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7928 +Kernel Size = 7936 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -164,13 +164,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8676 +Kernel Size = 8684 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8220 +Kernel Size = 8228 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -182,13 +182,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8016 +Kernel Size = 8024 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7676 +Kernel Size = 7684 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5964 +Kernel Size = 5972 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5752 +Kernel Size = 5760 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -218,13 +218,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5536 +Kernel Size = 5544 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5348 +Kernel Size = 5356 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5824 +Kernel Size = 5832 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5620 +Kernel Size = 5628 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5340 +Kernel Size = 5348 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5180 +Kernel Size = 5188 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -272,13 +272,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5840 +Kernel Size = 5848 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5428 +Kernel Size = 5436 Platform : MSP430 OS Setup : Minimal kernel @@ -290,13 +290,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5776 +Kernel Size = 5784 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5392 +Kernel Size = 5400 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From a34c2444c227b41a397fa8bde985e5015dc01a1d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 26 Feb 2011 09:36:20 +0000 Subject: Fixed bug 3193062 (GCC only). git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2764 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-GCC.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-GCC.txt b/docs/reports/LPC1114-48-GCC.txt index 260d994a4..32ea4154e 100644 --- a/docs/reports/LPC1114-48-GCC.txt +++ b/docs/reports/LPC1114-48-GCC.txt @@ -5,7 +5,7 @@ Settings: CLK=48, (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.7unstable +*** Kernel: 2.3.0unstable *** GCC Version: 4.3.3 *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 @@ -98,51 +98,51 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 124135 msgs/S, 248270 ctxswc/S +--- Score : 126834 msgs/S, 253668 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 99992 msgs/S, 199984 ctxswc/S +--- Score : 100879 msgs/S, 201758 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 99992 msgs/S, 199984 ctxswc/S +--- Score : 100879 msgs/S, 201758 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 380432 ctxswc/S +--- Score : 380632 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 78349 threads/S +--- Score : 78390 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 110375 threads/S +--- Score : 110433 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 31034 reschedules/S, 186204 ctxswc/S +--- Score : 31050 reschedules/S, 186300 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 253200 ctxswc/S +--- Score : 253332 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 298992 bytes/S +--- Score : 296368 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 350196 timers/S +--- Score : 350378 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 591948 wait+signal/S +--- Score : 592280 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 334860 lock+unlock/S +--- Score : 335036 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From a7ce64bb324a4d56808a806070de42adbef9a215 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 26 Feb 2011 12:44:06 +0000 Subject: Fixed bug 3193062 (IAR). git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2765 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-GCC.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-GCC.txt b/docs/reports/LPC1114-48-GCC.txt index 32ea4154e..87dd7dbbe 100644 --- a/docs/reports/LPC1114-48-GCC.txt +++ b/docs/reports/LPC1114-48-GCC.txt @@ -126,7 +126,7 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 253332 ctxswc/S +--- Score : 253328 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From 1d00697fe4f8bbe42e0c0d59f76879bd1e575883 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 26 Feb 2011 13:43:07 +0000 Subject: Fixed bug 3193062 (RVCT). git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2766 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-RVCT.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-RVCT.txt b/docs/reports/LPC1114-48-RVCT.txt index 17df988de..1b1015d94 100644 --- a/docs/reports/LPC1114-48-RVCT.txt +++ b/docs/reports/LPC1114-48-RVCT.txt @@ -6,7 +6,7 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. *** ChibiOS/RT test suite *** -*** Kernel: 2.1.7unstable +*** Kernel: 2.3.0unstable *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 *** Platform: LPC11xx @@ -98,51 +98,51 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 116826 msgs/S, 233652 ctxswc/S +--- Score : 119522 msgs/S, 239044 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 100172 msgs/S, 200344 ctxswc/S +--- Score : 102156 msgs/S, 204312 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 99754 msgs/S, 199508 ctxswc/S +--- Score : 102595 msgs/S, 205190 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 377360 ctxswc/S +--- Score : 375344 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 79506 threads/S +--- Score : 79025 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 112694 threads/S +--- Score : 111705 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 33626 reschedules/S, 201756 ctxswc/S +--- Score : 33692 reschedules/S, 202152 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 246616 ctxswc/S +--- Score : 249324 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 261068 bytes/S +--- Score : 264832 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 301424 timers/S +--- Score : 303508 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 614472 wait+signal/S +--- Score : 614828 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 382980 lock+unlock/S +--- Score : 381660 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 381bddaf5af985848e36ed8abbd4321bbb442538 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 26 Feb 2011 15:18:15 +0000 Subject: Improved mailboxes coverage. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2771 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/coverage.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index dc63a753e..731ba75d5 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -49,11 +49,11 @@ Lines executed:100.00% of 111 ../../os/kernel/src/chevents.c:creating `chevents.c.gcov' File `../../os/kernel/src/chmsg.c' -Lines executed:100.00% of 32 +Lines executed:100.00% of 27 ../../os/kernel/src/chmsg.c:creating `chmsg.c.gcov' File `../../os/kernel/src/chmboxes.c' -Lines executed:100.00% of 65 +Lines executed:100.00% of 94 ../../os/kernel/src/chmboxes.c:creating `chmboxes.c.gcov' File `../../os/kernel/src/chqueues.c' -- cgit v1.2.3 From eed6999aaf3a4579121b5e70d3a84ef620f896eb Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 1 Mar 2011 13:49:53 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2784 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/layout.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/rsc/layout.xml b/docs/rsc/layout.xml index eba6d68b3..4dc8961aa 100644 --- a/docs/rsc/layout.xml +++ b/docs/rsc/layout.xml @@ -137,12 +137,12 @@ + + - - @@ -154,12 +154,12 @@ + + - - -- cgit v1.2.3 From 3cc5ac6d9a6555ba70ea83c9eb9cae1bb1f44fd9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 6 Mar 2011 08:02:26 +0000 Subject: Improved preemption for Cortex-M0 port. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2797 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-GCC.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-GCC.txt b/docs/reports/LPC1114-48-GCC.txt index 87dd7dbbe..32ea4154e 100644 --- a/docs/reports/LPC1114-48-GCC.txt +++ b/docs/reports/LPC1114-48-GCC.txt @@ -126,7 +126,7 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 253328 ctxswc/S +--- Score : 253332 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) -- cgit v1.2.3 From 30c73db82fbd034b89094dd58f069be43c1734d2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 6 Mar 2011 09:43:12 +0000 Subject: More Cortex-M0 GCC port improvements. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2801 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-GCC.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-GCC.txt b/docs/reports/LPC1114-48-GCC.txt index 32ea4154e..e5f0a3f3b 100644 --- a/docs/reports/LPC1114-48-GCC.txt +++ b/docs/reports/LPC1114-48-GCC.txt @@ -98,51 +98,51 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 126834 msgs/S, 253668 ctxswc/S +--- Score : 126786 msgs/S, 253572 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 100879 msgs/S, 201758 ctxswc/S +--- Score : 100841 msgs/S, 201682 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 100879 msgs/S, 201758 ctxswc/S +--- Score : 100841 msgs/S, 201682 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 380632 ctxswc/S +--- Score : 380488 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 78390 threads/S +--- Score : 78359 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 110433 threads/S +--- Score : 110391 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 31050 reschedules/S, 186300 ctxswc/S +--- Score : 31038 reschedules/S, 186228 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 253332 ctxswc/S +--- Score : 253236 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 296368 bytes/S +--- Score : 296256 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 350378 timers/S +--- Score : 350246 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 592280 wait+signal/S +--- Score : 592052 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 335036 lock+unlock/S +--- Score : 334912 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 3964ec0195af626e59e6ce9dae1ed003576765ae Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 6 Mar 2011 10:32:00 +0000 Subject: Cortex-M0 improvements for RVCT. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2802 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-RVCT.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-RVCT.txt b/docs/reports/LPC1114-48-RVCT.txt index 1b1015d94..53953ee84 100644 --- a/docs/reports/LPC1114-48-RVCT.txt +++ b/docs/reports/LPC1114-48-RVCT.txt @@ -90,7 +90,7 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. ---------------------------------------------------------------------------- --- Test Case 9.3 (Dynamic APIs, registry and references) --- Result: SUCCESS ----------------------------------------------------------------------------- +--------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -98,51 +98,51 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 119522 msgs/S, 239044 ctxswc/S +--- Score : 121347 msgs/S, 242694 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 102156 msgs/S, 204312 ctxswc/S +--- Score : 102162 msgs/S, 204324 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 102595 msgs/S, 205190 ctxswc/S +--- Score : 102162 msgs/S, 204324 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 375344 ctxswc/S +--- Score : 377584 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 79025 threads/S +--- Score : 78768 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 111705 threads/S +--- Score : 112764 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 33692 reschedules/S, 202152 ctxswc/S +--- Score : 33088 reschedules/S, 198528 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 249324 ctxswc/S +--- Score : 249336 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 264832 bytes/S +--- Score : 270084 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 303508 timers/S +--- Score : 303522 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 614828 wait+signal/S +--- Score : 603212 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 381660 lock+unlock/S +--- Score : 372744 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 0df60fe0a49f6fc1413e1a8cc4e0fb01c45224d8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 8 Mar 2011 21:12:16 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2811 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 5617db620..82fbc181d 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.0 +PROJECT_NUMBER = 2.3.1 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. -- cgit v1.2.3 From 3e8aa7cd6ab42de755f5e873d3775c3d7065a58f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 12 Mar 2011 08:25:16 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2818 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F107-72-GCC.txt | 162 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 docs/reports/STM32F107-72-GCC.txt (limited to 'docs') diff --git a/docs/reports/STM32F107-72-GCC.txt b/docs/reports/STM32F107-72-GCC.txt new file mode 100644 index 000000000..884a1b30e --- /dev/null +++ b/docs/reports/STM32F107-72-GCC.txt @@ -0,0 +1,162 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.3.1unstable +*** GCC Version: 4.5.2 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Platform: STM32 Connectivity Line +*** Test Board: Olimex STM32-P107 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 249425 msgs/S, 498850 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 198438 msgs/S, 396876 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 198438 msgs/S, 396876 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 848888 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 156166 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 235534 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 61032 reschedules/S, 366192 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 472600 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 474216 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 644340 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 787320 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 586488 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 360 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From 47326e33d39ac1086cd0c62a10b0a30428033335 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 17 Mar 2011 09:01:09 +0000 Subject: Fixed bug 3219197. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2822 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F107-72-GCC.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F107-72-GCC.txt b/docs/reports/STM32F107-72-GCC.txt index 884a1b30e..3240b2663 100644 --- a/docs/reports/STM32F107-72-GCC.txt +++ b/docs/reports/STM32F107-72-GCC.txt @@ -98,7 +98,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 249425 msgs/S, 498850 ctxswc/S +--- Score : 249426 msgs/S, 498852 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) @@ -130,7 +130,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 474216 bytes/S +--- Score : 478964 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) -- cgit v1.2.3 From e7e79a6ccb4f3e320b2b8b7bad1b14d65218641d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 18 Mar 2011 18:38:08 +0000 Subject: License updated. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2827 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/concepts.dox | 3 ++- docs/src/main.dox | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index bcb6a5b97..f1047b6e0 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -1,5 +1,6 @@ /* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, + 2011 Giovanni Di Sirio. This file is part of ChibiOS/RT. diff --git a/docs/src/main.dox b/docs/src/main.dox index 76a39bff7..82b4ee243 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -1,5 +1,6 @@ /* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio. + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, + 2011 Giovanni Di Sirio. This file is part of ChibiOS/RT. -- cgit v1.2.3 From 506212845dd0644b2755191da1252380aababd24 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 23 Mar 2011 13:12:41 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2839 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 3478 ++++++++++++++++++++++++++------------------------ docs/readme.txt | 6 +- docs/rsc/custom.css | 471 ++++++- docs/rsc/footer.html | 7 +- docs/rsc/header.html | 41 +- docs/rsc/layout.xml | 36 +- docs/rsc/tabs.css | 102 -- 7 files changed, 2254 insertions(+), 1887 deletions(-) delete mode 100644 docs/rsc/tabs.css (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile index 82fbc181d..cec7e4b49 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1,1691 +1,1787 @@ -# Doxyfile 1.6.3 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = ChibiOS/RT - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = 2.3.1 - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = . - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = YES - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = NO - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 2 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = "iclass=@par Function Class:\n This is an \ - I-Class API, this function can be \ - invoked from within a system lock zone by both \ - threads and interrupt handlers." \ - "sclass=@par Function Class:\n This is an \ - S-Class API, this function can be \ - invoked from within a system lock zone by threads \ - only." \ - "api=@par Function Class:\n Normal API, this \ - function can be invoked by regular system threads \ - but not from within a lock zone." \ - "notapi=@par Function Class:\n Not an API, this \ - function is for internal use only." \ - "isr=@par Function Class:\n Interrupt handler, \ - this function should not be directly invoked." \ - "init=@par Function Class:\n Initializer, this \ - function just initializes an object and can be \ - invoked before the kernel is initialized." \ - "special=@par Function Class:\n Special function, \ - this function has special requirements see the \ - notes." - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set -# FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = NO - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = ./rsc/layout.xml - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = ../docs/src \ - ../os/kernel \ - ../os/kernel/include \ - ../os/kernel/src \ - ../os/kernel/templates \ - ../os/ports \ - ../os/ports/GCC/ARM \ - ../os/ports/GCC/ARM\LPC214x \ - ../os/ports/GCC/ARM\AT91SAM7 \ - ../os/ports/GCC/ARMCMx \ - ../os/ports/GCC/ARMCMx/STM32 \ - ../os/ports/GCC/ARMCMx/LPC11xx \ - ../os/ports/GCC/ARMCMx/LPC13xx \ - ../os/ports/GCC/PPC \ - ../os/ports/GCC/AVR \ - ../os/ports/GCC/MSP430 \ - ../os/ports/IAR/ARMCMx \ - ../os/ports/IAR/ARMCMx/STM32 \ - ../os/ports/IAR/ARMCMx/LPC11xx \ - ../os/ports/IAR/ARMCMx/LPC13xx \ - ../os/ports/RVCT/ARMCMx \ - ../os/ports/RVCT/ARMCMx/STM32 \ - ../os/ports/RVCT/ARMCMx/LPC11xx \ - ../os/ports/RVCT/ARMCMx/LPC13xx \ - ../os/ports/cosmic/STM8 \ - ../os/ports/RC/STM8 \ - ../os/hal \ - ../os/hal/dox \ - ../os/hal/include \ - ../os/hal/src \ - ../os/hal/templates \ - ../os/hal/platforms \ - ../os/hal/platforms/AT91SAM7/platform.dox \ - ../os/hal/platforms/AVR/platform.dox \ - ../os/hal/platforms/LPC11xx/platform.dox \ - ../os/hal/platforms/LPC13xx/platform.dox \ - ../os/hal/platforms/LPC214x/platform.dox \ - ../os/hal/platforms/MSP430/platform.dox \ - ../os/hal/platforms/SPC56x/platform.dox \ - ../os/hal/platforms/STM32/platform.dox \ - ../os/hal/platforms/STM8L/platform.dox \ - ../os/hal/platforms/STM8S/platform.dox \ - ../os/various \ - ../test \ - ../ext/ext.dox - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.ddf \ - *.s - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ - ../os/hal/platforms/STM8/stm8s.h \ - ../os/hal/platforms/STM8/stm8s_type.h \ - ../os/hal/platforms/LPC11xx/LPC11xx.h \ - ../os/hal/platforms/LPC11xx/system_LPC11xx.h \ - ../os/hal/platforms/LPC13xx/LPC13xx.h \ - ../os/hal/platforms/LPC13xx/system_LPC13xx.h - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = ./rsc - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = NO - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = ./rsc/header.html - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = ./rsc/footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = ./rsc/custom.css - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = YES - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = ../ChibiOS_RT.chm - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = "\"C:/Program Files/HTML Help Workshop/hhc.exe\"" - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = NO - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvances is that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = YES - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = YES - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = __DOXYGEN__ \ - CH_USE_WAITEXIT=1 \ - CH_USE_SEMAPHORES=1 \ - CH_USE_SEMSW=1 \ - CH_USE_MUTEXES=1 \ - CH_USE_CONDVARS=1 \ - CH_USE_CONDVARS_TIMEOUT=1 \ - CH_USE_EVENTS=1 \ - CH_USE_EVENTS_TIMEOUT=1 \ - CH_USE_QUEUES=1 \ - CH_USE_MEMCORE=1 \ - CH_USE_HEAP=1 \ - CH_USE_MEMPOOLS=1 \ - CH_USE_MESSAGES=1 \ - CH_USE_MAILBOXES=1 \ - CH_USE_DYNAMIC=1 \ - CH_USE_REGISTRY=1 \ - CH_DBG_ENABLE_ASSERTS=1 \ - CH_DBG_ENABLE_CHECKS=1 \ - CH_DBG_ENABLE_TRACE=1 \ - CH_DBG_ENABLE_STACK_CHECK=1 \ - CH_DBG_FILL_THREADS=1 \ - CH_DBG_THREADS_PROFILING=1 \ - CH_USE_ROUNDROBIN=1 - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = NO - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = YES - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 8 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = YES - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = NO - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = YES - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = NO - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 20 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 3 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = YES - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES +# Doxyfile 1.7.3 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" "). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = ChibiOS/RT + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = 2.3.1 + +# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = YES + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful if your file system +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = NO + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 2 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = "iclass=@par Function Class:\n This is an \ + I-Class API, this function can be \ + invoked from within a system lock zone by both \ + threads and interrupt handlers." \ + "sclass=@par Function Class:\n This is an \ + S-Class API, this function can be \ + invoked from within a system lock zone by threads \ + only." \ + "api=@par Function Class:\n Normal API, this \ + function can be invoked by regular system threads \ + but not from within a lock zone." \ + "notapi=@par Function Class:\n Not an API, this \ + function is for internal use only." \ + "isr=@par Function Class:\n Interrupt handler, \ + this function should not be directly invoked." \ + "init=@par Function Class:\n Initializer, this \ + function just initializes an object and can be \ + invoked before the kernel is initialized." \ + "special=@par Function Class:\n Special function, \ + this function has special requirements see the \ + notes." + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also makes the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penalty. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will roughly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = NO + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespaces are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = YES + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even if there is only one candidate or it is obvious which candidate to choose by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or macro consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and macros in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = ./rsc/layout.xml + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_NO_PARAMDOC option can be enabled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../docs/src \ + ../os/kernel \ + ../os/kernel/include \ + ../os/kernel/src \ + ../os/kernel/templates \ + ../os/ports \ + ../os/ports/GCC/ARM \ + ../os/ports/GCC/ARM\LPC214x \ + ../os/ports/GCC/ARM\AT91SAM7 \ + ../os/ports/GCC/ARMCMx \ + ../os/ports/GCC/ARMCMx/STM32 \ + ../os/ports/GCC/ARMCMx/LPC11xx \ + ../os/ports/GCC/ARMCMx/LPC13xx \ + ../os/ports/GCC/PPC \ + ../os/ports/GCC/AVR \ + ../os/ports/GCC/MSP430 \ + ../os/ports/IAR/ARMCMx \ + ../os/ports/IAR/ARMCMx/STM32 \ + ../os/ports/IAR/ARMCMx/LPC11xx \ + ../os/ports/IAR/ARMCMx/LPC13xx \ + ../os/ports/RVCT/ARMCMx \ + ../os/ports/RVCT/ARMCMx/STM32 \ + ../os/ports/RVCT/ARMCMx/LPC11xx \ + ../os/ports/RVCT/ARMCMx/LPC13xx \ + ../os/ports/cosmic/STM8 \ + ../os/ports/RC/STM8 \ + ../os/hal \ + ../os/hal/dox \ + ../os/hal/include \ + ../os/hal/src \ + ../os/hal/templates \ + ../os/hal/platforms \ + ../os/hal/platforms/AT91SAM7/platform.dox \ + ../os/hal/platforms/AVR/platform.dox \ + ../os/hal/platforms/LPC11xx/platform.dox \ + ../os/hal/platforms/LPC13xx/platform.dox \ + ../os/hal/platforms/LPC214x/platform.dox \ + ../os/hal/platforms/MSP430/platform.dox \ + ../os/hal/platforms/SPC56x/platform.dox \ + ../os/hal/platforms/STM32/platform.dox \ + ../os/hal/platforms/STM8L/platform.dox \ + ../os/hal/platforms/STM8S/platform.dox \ + ../os/various \ + ../test \ + ../ext/ext.dox + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.ddf \ + *.s + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ + ../os/hal/platforms/STM8/stm8s.h \ + ../os/hal/platforms/STM8/stm8s_type.h \ + ../os/hal/platforms/LPC11xx/LPC11xx.h \ + ../os/hal/platforms/LPC11xx/system_LPC11xx.h \ + ../os/hal/platforms/LPC13xx/LPC13xx.h \ + ../os/hal/platforms/LPC13xx/system_LPC13xx.h + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = ./rsc + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = NO + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = NO + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = ./rsc/header.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = ./rsc/footer.html + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = YES + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = ../ChibiOS_RT.chm + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = "\"C:/Program Files/HTML Help Workshop/hhc.exe\"" + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [0,1..20]) +# that doxygen will group on one line in the generated HTML documentation. +# Note that a value of 0 will completely suppress the enum values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = YES + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing +# MathJax, but it is strongly recommended to install a local copy of MathJax +# before deployment. + +MATHJAX_RELPATH = http://www.mathjax.org/mathjax + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = NO + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvantages are that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = YES + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = NO + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = NO + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called Helvetica to the output +# directory and reference it in all dot files that doxygen generates. +# When you want a differently looking font you can specify the font name +# using DOT_FONTNAME. You need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 8 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = NO + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will generate a graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = NO + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, svg, gif or svg. +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 20 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 3 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = YES + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/docs/readme.txt b/docs/readme.txt index e89c7161d..e50b98068 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -6,9 +6,9 @@ order to access directly the doxigen documentation. *** Documentation build procedure *** The following software must be installed: -- Doxygen 1.6.3 or later. -- Graphviz 2.21 or later. The ./bin directory must be specified in the path in - order to make Graphviz accessible by Doxygen. +- Doxygen 1.7.3 or later. +- Graphviz 2.26.3 or later. The ./bin directory must be specified in the path + in order to make Graphviz accessible by Doxygen. Build procedure: - Run Doxywizard. diff --git a/docs/rsc/custom.css b/docs/rsc/custom.css index 32a1f4dc3..4ac73ab1a 100644 --- a/docs/rsc/custom.css +++ b/docs/rsc/custom.css @@ -1,3 +1,5 @@ +/* The standard CSS for doxygen */ + body, table, div, p, dl { font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; font-size: 12px; @@ -6,7 +8,6 @@ body, table, div, p, dl { /* @group Heading Levels */ h1 { - text-align: center; font-size: 150%; } @@ -18,15 +19,52 @@ h3 { font-size: 100%; } +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd, p.starttd { + margin-top: 2px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + /* @end */ caption { font-weight: bold; } -div.qindex, div.navpath, div.navtab{ - background-color: #e8eef2; - border: 1px solid #84b0c7; +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; text-align: center; margin: 2px; padding: 2px; @@ -44,13 +82,13 @@ div.navtab { /* @group Link Styling */ a { - color: #153788; + color: #3D578C; font-weight: normal; text-decoration: none; } .contents a:visited { - color: #1b77c5; + color: #4665A2; } a:hover { @@ -63,9 +101,13 @@ a.qindex { a.qindexHL { font-weight: bold; - background-color: #6666cc; + background-color: #9CAFD4; color: #ffffff; - border: 1px double #9295C2; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; } a.el { @@ -76,9 +118,11 @@ a.elRef { } a.code { + color: #4665A2; } a.codeRef { + color: #4665A2; } /* @end */ @@ -93,10 +137,14 @@ dl.el { } pre.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; + border: 1px solid #C4CFE5; + background-color: #FBFCFD; padding: 4px 6px; margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; } div.ah { @@ -104,13 +152,22 @@ div.ah { font-weight: bold; color: #ffffff; margin-bottom: 3px; - margin-top: 3px + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); } div.groupHeader { margin-left: 16px; margin-top: 12px; - margin-bottom: 6px; font-weight: bold; } @@ -122,27 +179,32 @@ div.groupText { body { background: white; color: black; - margin-right: 20px; - margin-left: 20px; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 10px; + margin-right: 10px; } td.indexkey { - background-color: #e8eef2; + background-color: #EBEFF6; font-weight: bold; - border: 1px solid #CCCCCC; + border: 1px solid #C4CFE5; margin: 2px 0px 2px 0; padding: 2px 10px; } td.indexvalue { - background-color: #e8eef2; - border: 1px solid #CCCCCC; + background-color: #EBEFF6; + border: 1px solid #C4CFE5; padding: 2px 10px; margin: 2px 0px; } tr.memlist { - background-color: #f0f0f0; + background-color: #EEF1F7; } p.formulaDsp { @@ -157,6 +219,27 @@ img.formulaInl { vertical-align: middle; } +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + /* @group Code Colorization */ span.keyword { @@ -205,6 +288,7 @@ span.vhdllogic { /* @end */ +/* .search { color: #003399; font-weight: bold; @@ -221,6 +305,7 @@ input.search { font-weight: normal; background-color: #e8eef2; } +*/ td.tiny { font-size: 75%; @@ -229,26 +314,35 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #84b0c7; + border: 1px solid #A3B4D7; } th.dirtab { - background: #e8eef2; + background: #EBEFF6; font-weight: bold; } hr { - height: 0; + height: 0px; border: none; - border-top: 1px solid #666; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; } /* @group Member Descriptions */ +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #FAFAFA; + background-color: #F9FAFC; border: none; margin: 4px; padding: 1px 0 0 8px; @@ -260,11 +354,16 @@ hr { } .memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #ccc; + border-top: 1px solid #C4CFE5; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; } .memTemplParams { - color: #606060; + color: #4665A2; + white-space: nowrap; } /* @end */ @@ -275,14 +374,14 @@ hr { .memtemplate { font-size: 80%; - color: #606060; + color: #4665A2; font-weight: normal; - margin-left: 3px; + margin-left: 9px; } .memnav { - background-color: #e8eef2; - border: 1px solid #84b0c7; + background-color: #EBEFF6; + border: 1px solid #A3B4D7; text-align: center; margin: 2px; margin-right: 15px; @@ -291,39 +390,62 @@ hr { .memitem { padding: 0; + margin-bottom: 10px; } .memname { - white-space: nowrap; - font-weight: bold; -} - -.memproto, .memdoc { - border: 1px solid #84b0c7; + white-space: nowrap; + font-weight: bold; + margin-left: 6px; } .memproto { - padding: 0; - background-color: #d5e1e8; - font-weight: bold; - -webkit-border-top-left-radius: 8px; - -webkit-border-top-right-radius: 8px; - -moz-border-radius-topleft: 8px; - -moz-border-radius-topright: 8px; -} + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 8px; + border-top-left-radius: 8px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 8px; + -moz-border-radius-topleft: 8px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 8px; + -webkit-border-top-left-radius: 8px; + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; -.memdoc { - padding: 2px 5px; - background-color: #eef3f5; - border-top-width: 0; - -webkit-border-bottom-left-radius: 8px; - -webkit-border-bottom-right-radius: 8px; - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; } -.memdoc p, .memdoc dl, .memdoc ul { - margin: 6px 0; +.memdoc { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 2px 5px; + background-color: #FBFCFD; + border-top-width: 0; + /* opera specific markup */ + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); } .paramkey { @@ -342,6 +464,28 @@ hr { font-style: normal; } +.params, .retval, .exception, .tparams { + border-spacing: 6px 2px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + + + + /* @end */ /* @group Directory (tree) */ @@ -350,7 +494,7 @@ hr { .ftvtree { font-family: sans-serif; - margin: 0.5em; + margin: 0px; } /* these are for tree view when used as main index */ @@ -358,6 +502,7 @@ hr { .directory { font-size: 9pt; font-weight: bold; + margin: 5px; } .directory h3 { @@ -435,7 +580,221 @@ proper pixel height of your image. /* @end */ +div.dynheader { + margin-top: 8px; +} + address { font-style: normal; - color: #333; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; +} + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + padding-left: 5px; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; } + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug +{ + border-left:4px solid; + padding: 0 0 0 6px; +} + +dl.note +{ + border-color: #D0D000; +} + +dl.warning, dl.attention +{ + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + border-color: #00D000; +} + +dl.deprecated +{ + border-color: #505050; +} + +dl.todo +{ + border-color: #00C0E0; +} + +dl.test +{ + border-color: #3030E0; +} + +dl.bug +{ + border-color: #C08050; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectbrief +{ + font: 120% arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + diff --git a/docs/rsc/footer.html b/docs/rsc/footer.html index 08db8f4ed..a90299b83 100644 --- a/docs/rsc/footer.html +++ b/docs/rsc/footer.html @@ -1,4 +1,7 @@ -
          -Generated on $datetime for $projectname by doxygen $doxygenversion
          + +
        + diff --git a/docs/rsc/header.html b/docs/rsc/header.html index f79857920..3af6e226b 100644 --- a/docs/rsc/header.html +++ b/docs/rsc/header.html @@ -1,17 +1,28 @@ - - + + + + $title - - - - - - - - - - - + + + + + + + + + +
        +
        +
        ChibiOS/RT LogoChibiOS/RT

        Architecture - Reference Manual - Guides
        + + + + +
        +
        ChibiOS/RT 2.3.1
        +
        -
        \ No newline at end of file + diff --git a/docs/rsc/layout.xml b/docs/rsc/layout.xml index 4dc8961aa..4c98c929e 100644 --- a/docs/rsc/layout.xml +++ b/docs/rsc/layout.xml @@ -2,24 +2,24 @@ - - + + - - + + - + - - + + - - + + - - + + @@ -108,20 +108,20 @@ + + - - + + - - @@ -130,15 +130,14 @@ - - + @@ -152,10 +151,11 @@ + - + diff --git a/docs/rsc/tabs.css b/docs/rsc/tabs.css deleted file mode 100644 index 16b1be0d7..000000000 --- a/docs/rsc/tabs.css +++ /dev/null @@ -1,102 +0,0 @@ -/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ - -DIV.tabs -{ - float : left; - width : 100%; - background : url("tab_b.gif") repeat-x bottom; - margin-bottom : 4px; -} - -DIV.tabs UL -{ - margin : 0px; - padding-left : 10px; - list-style : none; -} - -DIV.tabs LI, DIV.tabs FORM -{ - display : inline; - margin : 0px; - padding : 0px; -} - -DIV.tabs FORM -{ - float : right; -} - -DIV.tabs A -{ - float : left; - background : url("tab_r.gif") no-repeat right top; - border-bottom : 1px solid #84B0C7; - font-size : 8px; - font-weight : bold; - text-decoration : none; -} - -DIV.tabs A:hover -{ - background-position: 100% -150px; -} - -DIV.tabs A:link, DIV.tabs A:visited, -DIV.tabs A:active, DIV.tabs A:hover -{ - color: #1A419D; -} - -DIV.tabs SPAN -{ - float : left; - display : block; - background : url("tab_l.gif") no-repeat left top; - padding : 5px 9px; - white-space : nowrap; -} - -DIV.tabs INPUT -{ - float : right; - display : inline; - font-size : 1em; -} - -DIV.tabs TD -{ - font-size : 8px; - font-weight : bold; - text-decoration : none; -} - - - -/* Commented Backslash Hack hides rule from IE5-Mac \*/ -DIV.tabs SPAN {float : none;} -/* End IE5-Mac hack */ - -DIV.tabs A:hover SPAN -{ - background-position: 0% -150px; -} - -DIV.tabs LI.current A -{ - background-position: 100% -150px; - border-width : 0px; -} - -DIV.tabs LI.current SPAN -{ - background-position: 0% -150px; - padding-bottom : 6px; -} - -DIV.navpath -{ - background : none; - border : none; - border-bottom : 1px solid #84B0C7; -} -- cgit v1.2.3 From 8df3af0e145543f362077ba84487a0221d02ae1b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 24 Mar 2011 08:30:21 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2840 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 1787 --------------------------------------------- docs/Doxyfile_chm | 1787 +++++++++++++++++++++++++++++++++++++++++++++ docs/Doxyfile_html | 1787 +++++++++++++++++++++++++++++++++++++++++++++ docs/readme.txt | 7 +- docs/rsc/footer.html | 7 - docs/rsc/footer_chm.html | 4 + docs/rsc/footer_html.html | 7 + docs/rsc/header.html | 28 - docs/rsc/header_chm.html | 21 + docs/rsc/header_html.html | 28 + 10 files changed, 3635 insertions(+), 1828 deletions(-) delete mode 100644 docs/Doxyfile create mode 100644 docs/Doxyfile_chm create mode 100644 docs/Doxyfile_html delete mode 100644 docs/rsc/footer.html create mode 100644 docs/rsc/footer_chm.html create mode 100644 docs/rsc/footer_html.html delete mode 100644 docs/rsc/header.html create mode 100644 docs/rsc/header_chm.html create mode 100644 docs/rsc/header_html.html (limited to 'docs') diff --git a/docs/Doxyfile b/docs/Doxyfile deleted file mode 100644 index cec7e4b49..000000000 --- a/docs/Doxyfile +++ /dev/null @@ -1,1787 +0,0 @@ -# Doxyfile 1.7.3 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = ChibiOS/RT - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = 2.3.1 - -# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = . - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = YES - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = NO - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 2 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = "iclass=@par Function Class:\n This is an \ - I-Class API, this function can be \ - invoked from within a system lock zone by both \ - threads and interrupt handlers." \ - "sclass=@par Function Class:\n This is an \ - S-Class API, this function can be \ - invoked from within a system lock zone by threads \ - only." \ - "api=@par Function Class:\n Normal API, this \ - function can be invoked by regular system threads \ - but not from within a lock zone." \ - "notapi=@par Function Class:\n Not an API, this \ - function is for internal use only." \ - "isr=@par Function Class:\n Interrupt handler, \ - this function should not be directly invoked." \ - "init=@par Function Class:\n Initializer, this \ - function just initializes an object and can be \ - invoked before the kernel is initialized." \ - "special=@par Function Class:\n Special function, \ - this function has special requirements see the \ - notes." - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even if there is only one candidate or it is obvious which candidate to choose by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = NO - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = ./rsc/layout.xml - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = ../docs/src \ - ../os/kernel \ - ../os/kernel/include \ - ../os/kernel/src \ - ../os/kernel/templates \ - ../os/ports \ - ../os/ports/GCC/ARM \ - ../os/ports/GCC/ARM\LPC214x \ - ../os/ports/GCC/ARM\AT91SAM7 \ - ../os/ports/GCC/ARMCMx \ - ../os/ports/GCC/ARMCMx/STM32 \ - ../os/ports/GCC/ARMCMx/LPC11xx \ - ../os/ports/GCC/ARMCMx/LPC13xx \ - ../os/ports/GCC/PPC \ - ../os/ports/GCC/AVR \ - ../os/ports/GCC/MSP430 \ - ../os/ports/IAR/ARMCMx \ - ../os/ports/IAR/ARMCMx/STM32 \ - ../os/ports/IAR/ARMCMx/LPC11xx \ - ../os/ports/IAR/ARMCMx/LPC13xx \ - ../os/ports/RVCT/ARMCMx \ - ../os/ports/RVCT/ARMCMx/STM32 \ - ../os/ports/RVCT/ARMCMx/LPC11xx \ - ../os/ports/RVCT/ARMCMx/LPC13xx \ - ../os/ports/cosmic/STM8 \ - ../os/ports/RC/STM8 \ - ../os/hal \ - ../os/hal/dox \ - ../os/hal/include \ - ../os/hal/src \ - ../os/hal/templates \ - ../os/hal/platforms \ - ../os/hal/platforms/AT91SAM7/platform.dox \ - ../os/hal/platforms/AVR/platform.dox \ - ../os/hal/platforms/LPC11xx/platform.dox \ - ../os/hal/platforms/LPC13xx/platform.dox \ - ../os/hal/platforms/LPC214x/platform.dox \ - ../os/hal/platforms/MSP430/platform.dox \ - ../os/hal/platforms/SPC56x/platform.dox \ - ../os/hal/platforms/STM32/platform.dox \ - ../os/hal/platforms/STM8L/platform.dox \ - ../os/hal/platforms/STM8S/platform.dox \ - ../os/various \ - ../test \ - ../ext/ext.dox - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.ddf \ - *.s - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ - ../os/hal/platforms/STM8/stm8s.h \ - ../os/hal/platforms/STM8/stm8s_type.h \ - ../os/hal/platforms/LPC11xx/LPC11xx.h \ - ../os/hal/platforms/LPC11xx/system_LPC11xx.h \ - ../os/hal/platforms/LPC13xx/LPC13xx.h \ - ../os/hal/platforms/LPC13xx/system_LPC13xx.h - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = ./rsc - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = NO - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = ./rsc/header.html - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = ./rsc/footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = YES - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = ../ChibiOS_RT.chm - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = "\"C:/Program Files/HTML Help Workshop/hhc.exe\"" - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [0,1..20]) -# that doxygen will group on one line in the generated HTML documentation. -# Note that a value of 0 will completely suppress the enum values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing -# MathJax, but it is strongly recommended to install a local copy of MathJax -# before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = NO - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = YES - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = YES - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = __DOXYGEN__ - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = NO - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = YES - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will write a font called Helvetica to the output -# directory and reference it in all dot files that doxygen generates. -# When you want a differently looking font you can specify the font name -# using DOT_FONTNAME. You need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 8 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = YES - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = NO - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = YES - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = NO - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, svg, gif or svg. -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 20 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 3 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = YES - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/docs/Doxyfile_chm b/docs/Doxyfile_chm new file mode 100644 index 000000000..83957f61b --- /dev/null +++ b/docs/Doxyfile_chm @@ -0,0 +1,1787 @@ +# Doxyfile 1.7.3 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" "). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = ChibiOS/RT + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = 2.3.1 + +# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = YES + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful if your file system +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = NO + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 2 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = "iclass=@par Function Class:\n This is an \ + I-Class API, this function can be \ + invoked from within a system lock zone by both \ + threads and interrupt handlers." \ + "sclass=@par Function Class:\n This is an \ + S-Class API, this function can be \ + invoked from within a system lock zone by threads \ + only." \ + "api=@par Function Class:\n Normal API, this \ + function can be invoked by regular system threads \ + but not from within a lock zone." \ + "notapi=@par Function Class:\n Not an API, this \ + function is for internal use only." \ + "isr=@par Function Class:\n Interrupt handler, \ + this function should not be directly invoked." \ + "init=@par Function Class:\n Initializer, this \ + function just initializes an object and can be \ + invoked before the kernel is initialized." \ + "special=@par Function Class:\n Special function, \ + this function has special requirements see the \ + notes." + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also makes the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penalty. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will roughly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = NO + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespaces are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = YES + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even if there is only one candidate or it is obvious which candidate to choose by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or macro consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and macros in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = ./rsc/layout.xml + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_NO_PARAMDOC option can be enabled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../docs/src \ + ../os/kernel \ + ../os/kernel/include \ + ../os/kernel/src \ + ../os/kernel/templates \ + ../os/ports \ + ../os/ports/GCC/ARM \ + ../os/ports/GCC/ARM\LPC214x \ + ../os/ports/GCC/ARM\AT91SAM7 \ + ../os/ports/GCC/ARMCMx \ + ../os/ports/GCC/ARMCMx/STM32 \ + ../os/ports/GCC/ARMCMx/LPC11xx \ + ../os/ports/GCC/ARMCMx/LPC13xx \ + ../os/ports/GCC/PPC \ + ../os/ports/GCC/AVR \ + ../os/ports/GCC/MSP430 \ + ../os/ports/IAR/ARMCMx \ + ../os/ports/IAR/ARMCMx/STM32 \ + ../os/ports/IAR/ARMCMx/LPC11xx \ + ../os/ports/IAR/ARMCMx/LPC13xx \ + ../os/ports/RVCT/ARMCMx \ + ../os/ports/RVCT/ARMCMx/STM32 \ + ../os/ports/RVCT/ARMCMx/LPC11xx \ + ../os/ports/RVCT/ARMCMx/LPC13xx \ + ../os/ports/cosmic/STM8 \ + ../os/ports/RC/STM8 \ + ../os/hal \ + ../os/hal/dox \ + ../os/hal/include \ + ../os/hal/src \ + ../os/hal/templates \ + ../os/hal/platforms \ + ../os/hal/platforms/AT91SAM7/platform.dox \ + ../os/hal/platforms/AVR/platform.dox \ + ../os/hal/platforms/LPC11xx/platform.dox \ + ../os/hal/platforms/LPC13xx/platform.dox \ + ../os/hal/platforms/LPC214x/platform.dox \ + ../os/hal/platforms/MSP430/platform.dox \ + ../os/hal/platforms/SPC56x/platform.dox \ + ../os/hal/platforms/STM32/platform.dox \ + ../os/hal/platforms/STM8L/platform.dox \ + ../os/hal/platforms/STM8S/platform.dox \ + ../os/various \ + ../test \ + ../ext/ext.dox + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.ddf \ + *.s + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ + ../os/hal/platforms/STM8/stm8s.h \ + ../os/hal/platforms/STM8/stm8s_type.h \ + ../os/hal/platforms/LPC11xx/LPC11xx.h \ + ../os/hal/platforms/LPC11xx/system_LPC11xx.h \ + ../os/hal/platforms/LPC13xx/LPC13xx.h \ + ../os/hal/platforms/LPC13xx/system_LPC13xx.h + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = ./rsc + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = NO + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = NO + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = ./rsc/header_chm.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = ./rsc/footer_chm.html + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = YES + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = ../ChibiOS_RT.chm + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = "\"C:/Program Files/HTML Help Workshop/hhc.exe\"" + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [0,1..20]) +# that doxygen will group on one line in the generated HTML documentation. +# Note that a value of 0 will completely suppress the enum values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing +# MathJax, but it is strongly recommended to install a local copy of MathJax +# before deployment. + +MATHJAX_RELPATH = http://www.mathjax.org/mathjax + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = NO + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvantages are that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = YES + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = NO + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = NO + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called Helvetica to the output +# directory and reference it in all dot files that doxygen generates. +# When you want a differently looking font you can specify the font name +# using DOT_FONTNAME. You need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 8 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = NO + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will generate a graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = NO + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, svg, gif or svg. +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 20 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 3 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = YES + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/docs/Doxyfile_html b/docs/Doxyfile_html new file mode 100644 index 000000000..8a6ca46a4 --- /dev/null +++ b/docs/Doxyfile_html @@ -0,0 +1,1787 @@ +# Doxyfile 1.7.3 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" "). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = ChibiOS/RT + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = 2.3.1 + +# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = YES + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = "C:/Documents and Settings/Administrator/" + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful if your file system +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = NO + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 2 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = "iclass=@par Function Class:\n This is an \ + I-Class API, this function can be \ + invoked from within a system lock zone by both \ + threads and interrupt handlers." \ + "sclass=@par Function Class:\n This is an \ + S-Class API, this function can be \ + invoked from within a system lock zone by threads \ + only." \ + "api=@par Function Class:\n Normal API, this \ + function can be invoked by regular system threads \ + but not from within a lock zone." \ + "notapi=@par Function Class:\n Not an API, this \ + function is for internal use only." \ + "isr=@par Function Class:\n Interrupt handler, \ + this function should not be directly invoked." \ + "init=@par Function Class:\n Initializer, this \ + function just initializes an object and can be \ + invoked before the kernel is initialized." \ + "special=@par Function Class:\n Special function, \ + this function has special requirements see the \ + notes." + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also makes the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penalty. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will roughly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = NO + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespaces are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = YES + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even if there is only one candidate or it is obvious which candidate to choose by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or macro consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and macros in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = ./rsc/layout.xml + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_NO_PARAMDOC option can be enabled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../docs/src \ + ../os/kernel \ + ../os/kernel/include \ + ../os/kernel/src \ + ../os/kernel/templates \ + ../os/ports \ + ../os/ports/GCC/ARM \ + ../os/ports/GCC/ARM\LPC214x \ + ../os/ports/GCC/ARM\AT91SAM7 \ + ../os/ports/GCC/ARMCMx \ + ../os/ports/GCC/ARMCMx/STM32 \ + ../os/ports/GCC/ARMCMx/LPC11xx \ + ../os/ports/GCC/ARMCMx/LPC13xx \ + ../os/ports/GCC/PPC \ + ../os/ports/GCC/AVR \ + ../os/ports/GCC/MSP430 \ + ../os/ports/IAR/ARMCMx \ + ../os/ports/IAR/ARMCMx/STM32 \ + ../os/ports/IAR/ARMCMx/LPC11xx \ + ../os/ports/IAR/ARMCMx/LPC13xx \ + ../os/ports/RVCT/ARMCMx \ + ../os/ports/RVCT/ARMCMx/STM32 \ + ../os/ports/RVCT/ARMCMx/LPC11xx \ + ../os/ports/RVCT/ARMCMx/LPC13xx \ + ../os/ports/cosmic/STM8 \ + ../os/ports/RC/STM8 \ + ../os/hal \ + ../os/hal/dox \ + ../os/hal/include \ + ../os/hal/src \ + ../os/hal/templates \ + ../os/hal/platforms \ + ../os/hal/platforms/AT91SAM7/platform.dox \ + ../os/hal/platforms/AVR/platform.dox \ + ../os/hal/platforms/LPC11xx/platform.dox \ + ../os/hal/platforms/LPC13xx/platform.dox \ + ../os/hal/platforms/LPC214x/platform.dox \ + ../os/hal/platforms/MSP430/platform.dox \ + ../os/hal/platforms/SPC56x/platform.dox \ + ../os/hal/platforms/STM32/platform.dox \ + ../os/hal/platforms/STM8L/platform.dox \ + ../os/hal/platforms/STM8S/platform.dox \ + ../os/various \ + ../test \ + ../ext/ext.dox + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.ddf \ + *.s + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h \ + ../os/hal/platforms/STM8/stm8s.h \ + ../os/hal/platforms/STM8/stm8s_type.h \ + ../os/hal/platforms/LPC11xx/LPC11xx.h \ + ../os/hal/platforms/LPC11xx/system_LPC11xx.h \ + ../os/hal/platforms/LPC13xx/LPC13xx.h \ + ../os/hal/platforms/LPC13xx/system_LPC13xx.h + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = ./rsc + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = NO + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = NO + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = ./rsc/header_html.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = ./rsc/footer_html.html + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = ../ChibiOS_RT.chm + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = "\"C:/Program Files/HTML Help Workshop/hhc.exe\"" + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [0,1..20]) +# that doxygen will group on one line in the generated HTML documentation. +# Note that a value of 0 will completely suppress the enum values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = YES + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing +# MathJax, but it is strongly recommended to install a local copy of MathJax +# before deployment. + +MATHJAX_RELPATH = http://www.mathjax.org/mathjax + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = NO + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvantages are that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = YES + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = NO + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = NO + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called Helvetica to the output +# directory and reference it in all dot files that doxygen generates. +# When you want a differently looking font you can specify the font name +# using DOT_FONTNAME. You need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 8 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = NO + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will generate a graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = NO + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, svg, gif or svg. +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 20 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 3 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = YES + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/docs/readme.txt b/docs/readme.txt index e50b98068..23f14ef60 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -1,8 +1,3 @@ -*** Documentation access *** - -Open ./docs/index.html to open the start page or ./docs/html/index.html in -order to access directly the doxigen documentation. - *** Documentation build procedure *** The following software must be installed: @@ -12,5 +7,5 @@ The following software must be installed: Build procedure: - Run Doxywizard. -- Load ./docs/Doxyfile from Doxywizard. +- Load ./docs/Doxyfile_html or ./docs/Doxyfile_chm from Doxywizard. - Start. diff --git a/docs/rsc/footer.html b/docs/rsc/footer.html deleted file mode 100644 index a90299b83..000000000 --- a/docs/rsc/footer.html +++ /dev/null @@ -1,7 +0,0 @@ -
      • -
      - - - diff --git a/docs/rsc/footer_chm.html b/docs/rsc/footer_chm.html new file mode 100644 index 000000000..6f8038e4f --- /dev/null +++ b/docs/rsc/footer_chm.html @@ -0,0 +1,4 @@ + + + diff --git a/docs/rsc/footer_html.html b/docs/rsc/footer_html.html new file mode 100644 index 000000000..a90299b83 --- /dev/null +++ b/docs/rsc/footer_html.html @@ -0,0 +1,7 @@ +
    • +
    + + + diff --git a/docs/rsc/header.html b/docs/rsc/header.html deleted file mode 100644 index 3af6e226b..000000000 --- a/docs/rsc/header.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -$title - - - - - - - - - -
    -
    - - - - - - -
    -
    ChibiOS/RT 2.3.1
    -
    -
    diff --git a/docs/rsc/header_chm.html b/docs/rsc/header_chm.html new file mode 100644 index 000000000..7900d8bf2 --- /dev/null +++ b/docs/rsc/header_chm.html @@ -0,0 +1,21 @@ + + + + +$title + + + + +
    +
    + + + + + + +
    +
    ChibiOS/RT 2.3.1
    +
    +
    diff --git a/docs/rsc/header_html.html b/docs/rsc/header_html.html new file mode 100644 index 000000000..3af6e226b --- /dev/null +++ b/docs/rsc/header_html.html @@ -0,0 +1,28 @@ + + + + +$title + + + + + + + + + +
    +
    + + + + + + +
    +
    ChibiOS/RT 2.3.1
    +
    +
    -- cgit v1.2.3 From 6e6c6944fb7f82c837c34d6ab3be6bb3ba1a97f3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 26 Mar 2011 15:13:46 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2843 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/footer_html.html | 15 ++++++++++----- docs/rsc/header_html.html | 17 +++++++++++++++-- 2 files changed, 25 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/rsc/footer_html.html b/docs/rsc/footer_html.html index a90299b83..0b176f750 100644 --- a/docs/rsc/footer_html.html +++ b/docs/rsc/footer_html.html @@ -1,7 +1,12 @@ -
  • - - + + + diff --git a/docs/rsc/header_html.html b/docs/rsc/header_html.html index 3af6e226b..8e3887f51 100644 --- a/docs/rsc/header_html.html +++ b/docs/rsc/header_html.html @@ -18,9 +18,22 @@ $(document).ready(initResizable);
    - + + -- cgit v1.2.3 From f5ae2552307f20f3fa3d987591fa60576981ce3d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 29 Mar 2011 14:51:08 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2850 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile_chm | 61 ++++++++++++++++++++++++++++++++++++++++++----------- docs/Doxyfile_html | 61 ++++++++++++++++++++++++++++++++++++++++++----------- docs/readme.txt | 2 +- docs/rsc/layout.xml | 20 +++++++++--------- 4 files changed, 109 insertions(+), 35 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile_chm b/docs/Doxyfile_chm index 83957f61b..be256da4e 100644 --- a/docs/Doxyfile_chm +++ b/docs/Doxyfile_chm @@ -1,4 +1,4 @@ -# Doxyfile 1.7.3 +# Doxyfile 1.7.4 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -33,7 +33,9 @@ PROJECT_NAME = ChibiOS/RT PROJECT_NUMBER = 2.3.1 -# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = @@ -304,6 +306,13 @@ DISTRIBUTE_GROUP_DOC = NO SUBGROUPING = YES +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct @@ -479,8 +488,11 @@ SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = NO -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even if there is only one candidate or it is obvious which candidate to choose by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen # will still accept a match between prototype and implementation in such cases. STRICT_PROTO_MATCHING = NO @@ -924,7 +936,13 @@ HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a -# standard header. +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is adviced to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = ./rsc/header_chm.html @@ -943,6 +961,15 @@ HTML_FOOTER = ./rsc/footer_chm.html HTML_STYLESHEET = +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the stylesheet and background images # according to this color. Hue is specified as an angle on a colorwheel, @@ -1145,9 +1172,10 @@ ECLIPSE_DOC_ID = org.doxygen.Project DISABLE_INDEX = NO -# This tag can be used to set the number of enum values (range [0,1..20]) -# that doxygen will group on one line in the generated HTML documentation. -# Note that a value of 0 will completely suppress the enum values from appearing in the overview section. +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. ENUM_VALUES_PER_LINE = 4 @@ -1206,7 +1234,8 @@ USE_MATHJAX = NO # HTML output directory using the MATHJAX_RELPATH option. The destination # directory should contain the MathJax.js script. For instance, if the mathjax # directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing +# MATHJAX_RELPATH should be ../mathjax. The default value points to the +# mathjax.org site, so you can quickly see the result without installing # MathJax, but it is strongly recommended to install a local copy of MathJax # before deployment. @@ -1285,6 +1314,13 @@ EXTRA_PACKAGES = LATEX_HEADER = +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references @@ -1494,7 +1530,7 @@ MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. +# pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES @@ -1524,7 +1560,8 @@ PREDEFINED = __DOXYGEN__ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. EXPAND_AS_DEFINED = @@ -1717,7 +1754,7 @@ GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = NO # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, svg, gif or svg. +# generated by dot. Possible values are svg, png, jpg, or gif. # If left blank png will be used. DOT_IMAGE_FORMAT = png diff --git a/docs/Doxyfile_html b/docs/Doxyfile_html index 8a6ca46a4..fb83e9e23 100644 --- a/docs/Doxyfile_html +++ b/docs/Doxyfile_html @@ -1,4 +1,4 @@ -# Doxyfile 1.7.3 +# Doxyfile 1.7.4 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -33,7 +33,9 @@ PROJECT_NAME = ChibiOS/RT PROJECT_NUMBER = 2.3.1 -# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = @@ -304,6 +306,13 @@ DISTRIBUTE_GROUP_DOC = NO SUBGROUPING = YES +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct @@ -479,8 +488,11 @@ SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = NO -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even if there is only one candidate or it is obvious which candidate to choose by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen # will still accept a match between prototype and implementation in such cases. STRICT_PROTO_MATCHING = NO @@ -924,7 +936,13 @@ HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a -# standard header. +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is adviced to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = ./rsc/header_html.html @@ -943,6 +961,15 @@ HTML_FOOTER = ./rsc/footer_html.html HTML_STYLESHEET = +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the stylesheet and background images # according to this color. Hue is specified as an angle on a colorwheel, @@ -1145,9 +1172,10 @@ ECLIPSE_DOC_ID = org.doxygen.Project DISABLE_INDEX = NO -# This tag can be used to set the number of enum values (range [0,1..20]) -# that doxygen will group on one line in the generated HTML documentation. -# Note that a value of 0 will completely suppress the enum values from appearing in the overview section. +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. ENUM_VALUES_PER_LINE = 4 @@ -1206,7 +1234,8 @@ USE_MATHJAX = NO # HTML output directory using the MATHJAX_RELPATH option. The destination # directory should contain the MathJax.js script. For instance, if the mathjax # directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing +# MATHJAX_RELPATH should be ../mathjax. The default value points to the +# mathjax.org site, so you can quickly see the result without installing # MathJax, but it is strongly recommended to install a local copy of MathJax # before deployment. @@ -1285,6 +1314,13 @@ EXTRA_PACKAGES = LATEX_HEADER = +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references @@ -1494,7 +1530,7 @@ MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. +# pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES @@ -1524,7 +1560,8 @@ PREDEFINED = __DOXYGEN__ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. EXPAND_AS_DEFINED = @@ -1717,7 +1754,7 @@ GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = NO # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, svg, gif or svg. +# generated by dot. Possible values are svg, png, jpg, or gif. # If left blank png will be used. DOT_IMAGE_FORMAT = png diff --git a/docs/readme.txt b/docs/readme.txt index 23f14ef60..9924d779f 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -1,7 +1,7 @@ *** Documentation build procedure *** The following software must be installed: -- Doxygen 1.7.3 or later. +- Doxygen 1.7.4 or later. - Graphviz 2.26.3 or later. The ./bin directory must be specified in the path in order to make Graphviz accessible by Doxygen. diff --git a/docs/rsc/layout.xml b/docs/rsc/layout.xml index 4c98c929e..0a24b84a0 100644 --- a/docs/rsc/layout.xml +++ b/docs/rsc/layout.xml @@ -24,7 +24,8 @@ - + + @@ -61,7 +62,6 @@ - @@ -78,7 +78,8 @@ - + + @@ -88,7 +89,6 @@ - @@ -100,7 +100,8 @@ - + + @@ -115,7 +116,6 @@ - @@ -128,8 +128,9 @@ - + + @@ -151,7 +152,6 @@ - @@ -173,12 +173,12 @@ - + + - -- cgit v1.2.3 From ef96358ee82e3e21d9b8d2e00b8038c817d779d0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 29 Mar 2011 18:11:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2851 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/footer_html.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'docs') diff --git a/docs/rsc/footer_html.html b/docs/rsc/footer_html.html index 0b176f750..d6f2fa429 100644 --- a/docs/rsc/footer_html.html +++ b/docs/rsc/footer_html.html @@ -8,5 +8,17 @@ + + + + -- cgit v1.2.3 From ad009f46d58f4f555cd412aa2f2a267da01db4e0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 5 Apr 2011 18:21:00 +0000 Subject: STM32 PWM driver optimization, changed the behavior of pwmChangePeriod(). git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2869 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile_chm | 2 +- docs/Doxyfile_html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile_chm b/docs/Doxyfile_chm index be256da4e..30610aa3b 100644 --- a/docs/Doxyfile_chm +++ b/docs/Doxyfile_chm @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.1 +PROJECT_NUMBER = 2.3.2 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff --git a/docs/Doxyfile_html b/docs/Doxyfile_html index fb83e9e23..42fadd49d 100644 --- a/docs/Doxyfile_html +++ b/docs/Doxyfile_html @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.1 +PROJECT_NUMBER = 2.3.2 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer -- cgit v1.2.3 From 2f2dba75ebf0f3043b2148af574f34591cac3be9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 10 Apr 2011 18:46:59 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2875 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 772e24d45..d71f70727 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -5,8 +5,8 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.3.0unstable -*** GCC Version: 4.5.2 +*** Kernel: 2.3.2unstable +*** GCC Version: 4.6.0 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: STM32 Performance Line Medium Density @@ -98,51 +98,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248569 msgs/S, 497138 ctxswc/S +--- Score : 267097 msgs/S, 534194 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 198998 msgs/S, 397996 ctxswc/S +--- Score : 213832 msgs/S, 427664 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 198998 msgs/S, 397996 ctxswc/S +--- Score : 213832 msgs/S, 427664 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 839008 ctxswc/S +--- Score : 962832 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156856 threads/S +--- Score : 161828 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 235543 threads/S +--- Score : 241113 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 61138 reschedules/S, 366828 ctxswc/S +--- Score : 64728 reschedules/S, 388368 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478120 ctxswc/S +--- Score : 468840 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 474232 bytes/S +--- Score : 526392 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647262 timers/S +--- Score : 647308 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 787368 wait+signal/S +--- Score : 787420 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586492 lock+unlock/S +--- Score : 596276 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 2325c7b2f7c1dcd9f2ae26ac689dc8f3d4ac7cea Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 14 May 2011 07:40:31 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2957 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/coverage.txt | 2 +- docs/reports/kernel.txt | 72 +++++++++++++++++++++++------------------------ 2 files changed, 37 insertions(+), 37 deletions(-) (limited to 'docs') diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt index 731ba75d5..d831c9959 100644 --- a/docs/reports/coverage.txt +++ b/docs/reports/coverage.txt @@ -33,7 +33,7 @@ Lines executed:100.00% of 18 ../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov' File `../../os/kernel/src/chsem.c' -Lines executed:100.00% of 89 +Lines executed:100.00% of 88 ../../os/kernel/src/chsem.c:creating `chsem.c.gcov' File `../../os/kernel/src/chmtx.c' diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt index a998d8484..3bc809e5f 100644 --- a/docs/reports/kernel.txt +++ b/docs/reports/kernel.txt @@ -2,13 +2,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 11724 +Kernel Size = 11768 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 11252 +Kernel Size = 11296 Platform : PowerPC OS Setup : Minimal kernel @@ -20,13 +20,13 @@ Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 10216 +Kernel Size = 10244 Platform : PowerPC OS Setup : Full kernel Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 9720 +Kernel Size = 9748 Platform : PowerPC OS Setup : Minimal kernel @@ -38,13 +38,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 6128 +Kernel Size = 6136 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5628 +Kernel Size = 5636 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -56,13 +56,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5532 +Kernel Size = 5544 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5120 +Kernel Size = 5132 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -74,13 +74,13 @@ Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5328 +Kernel Size = 5340 Platform : ARM Cortex-M3 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4944 +Kernel Size = 4956 Platform : ARM Cortex-M3 OS Setup : Minimal kernel @@ -92,49 +92,49 @@ Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5404 +Kernel Size = 5396 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5204 +Kernel Size = 5196 Platform : ARM Cortex-M0 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -Kernel Size = 1304 +Kernel Size = 1280 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 4964 +Kernel Size = 4952 Platform : ARM Cortex-M0 OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 4800 +Kernel Size = 4788 Platform : ARM Cortex-M0 OS Setup : Minimal kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -Kernel Size = 1180 +Kernel Size = 1156 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8948 +Kernel Size = 8988 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8480 +Kernel Size = 8520 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -146,13 +146,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8296 +Kernel Size = 8324 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7936 +Kernel Size = 7964 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -164,13 +164,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8684 +Kernel Size = 8724 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 8228 +Kernel Size = 8268 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -182,13 +182,13 @@ Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 8024 +Kernel Size = 8052 Platform : ARM7TDMI (ARM mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 7684 +Kernel Size = 7712 Platform : ARM7TDMI (ARM mode) OS Setup : Minimal kernel @@ -200,13 +200,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5972 +Kernel Size = 5988 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5760 +Kernel Size = 5776 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -218,13 +218,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5544 +Kernel Size = 5556 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5356 +Kernel Size = 5368 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -236,13 +236,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5832 +Kernel Size = 5848 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5628 +Kernel Size = 5644 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -254,13 +254,13 @@ Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5348 +Kernel Size = 5360 Platform : ARM7TDMI (THUMB mode) OS Setup : Full kernel Compiler : arm-none-eabi-gcc (GCC) 4.5.2 Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -Kernel Size = 5188 +Kernel Size = 5200 Platform : ARM7TDMI (THUMB mode) OS Setup : Minimal kernel @@ -272,13 +272,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5848 +Kernel Size = 5840 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5436 +Kernel Size = 5432 Platform : MSP430 OS Setup : Minimal kernel @@ -290,13 +290,13 @@ Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=TRUE -Kernel Size = 5784 +Kernel Size = 5776 Platform : MSP430 OS Setup : Full kernel Compiler : msp430-gcc (GCC) 3.2.3 Options : -Os -DCH_OPTIMIZE_SPEED=FALSE -Kernel Size = 5400 +Kernel Size = 5396 Platform : MSP430 OS Setup : Minimal kernel -- cgit v1.2.3 From b793081d9605192373ea4fc1c1d7d5ca6e46e546 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 15 May 2011 13:05:47 +0000 Subject: Fixed bug 3302420. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2964 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile_chm | 2 +- docs/Doxyfile_html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile_chm b/docs/Doxyfile_chm index 30610aa3b..f6580b758 100644 --- a/docs/Doxyfile_chm +++ b/docs/Doxyfile_chm @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.2 +PROJECT_NUMBER = 2.3.3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff --git a/docs/Doxyfile_html b/docs/Doxyfile_html index 42fadd49d..0d2e6e31b 100644 --- a/docs/Doxyfile_html +++ b/docs/Doxyfile_html @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.2 +PROJECT_NUMBER = 2.3.3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer -- cgit v1.2.3 From f3134c14bdfba8203fa3c1fd84724448c83b0427 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 17 May 2011 16:50:58 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2967 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index d71f70727..4c528f0cf 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -5,10 +5,11 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.3.2unstable -*** GCC Version: 4.6.0 +*** Kernel: 2.3.3unstable +*** Compiler: GCC 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 +*** Port Info: Advanced kernel mode *** Platform: STM32 Performance Line Medium Density *** Test Board: Olimex STM32-P103 @@ -98,55 +99,55 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 267097 msgs/S, 534194 ctxswc/S +--- Score : 248569 msgs/S, 497138 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 213832 msgs/S, 427664 ctxswc/S +--- Score : 198998 msgs/S, 397996 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 213832 msgs/S, 427664 ctxswc/S +--- Score : 198998 msgs/S, 397996 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 962832 ctxswc/S +--- Score : 839008 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 161828 threads/S +--- Score : 156856 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 241113 threads/S +--- Score : 235543 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 64728 reschedules/S, 388368 ctxswc/S +--- Score : 61138 reschedules/S, 366828 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 468840 ctxswc/S +--- Score : 478124 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 526392 bytes/S +--- Score : 479776 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647308 timers/S +--- Score : 647262 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 787420 wait+signal/S +--- Score : 787368 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 596276 lock+unlock/S +--- Score : 586492 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes +--- System: 368 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From a07d46f30ac86b125a6dbc89ba83669c3ebe90ac Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 17 May 2011 17:04:12 +0000 Subject: ARMv7-M compact kernel mode working. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2968 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 4c528f0cf..0b0c28f19 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -9,7 +9,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** Compiler: GCC 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 -*** Port Info: Advanced kernel mode +*** Port Info: Normal kernel mode *** Platform: STM32 Performance Line Medium Density *** Test Board: Olimex STM32-P103 @@ -99,51 +99,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248569 msgs/S, 497138 ctxswc/S +--- Score : 258426 msgs/S, 516852 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 198998 msgs/S, 397996 ctxswc/S +--- Score : 204682 msgs/S, 409364 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 198998 msgs/S, 397996 ctxswc/S +--- Score : 204682 msgs/S, 409364 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 839008 ctxswc/S +--- Score : 831792 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156856 threads/S +--- Score : 161453 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 235543 threads/S +--- Score : 238693 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 61138 reschedules/S, 366828 ctxswc/S +--- Score : 62418 reschedules/S, 374508 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478124 ctxswc/S +--- Score : 481380 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 479776 bytes/S +--- Score : 476632 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647262 timers/S +--- Score : 641534 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 787368 wait+signal/S +--- Score : 842840 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586492 lock+unlock/S +--- Score : 611492 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 228f5ba5754ab3dd721829f32022673f2e706a09 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 17 May 2011 17:09:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2969 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 0b0c28f19..87366005c 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -6,10 +6,10 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** *** Kernel: 2.3.3unstable -*** Compiler: GCC 4.5.2 +*** Compiler: GCC 4.6.0 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 -*** Port Info: Normal kernel mode +*** Port Info: Advanced kernel mode *** Platform: STM32 Performance Line Medium Density *** Test Board: Olimex STM32-P103 @@ -99,51 +99,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 258426 msgs/S, 516852 ctxswc/S +--- Score : 267098 msgs/S, 534196 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 204682 msgs/S, 409364 ctxswc/S +--- Score : 213832 msgs/S, 427664 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 204682 msgs/S, 409364 ctxswc/S +--- Score : 213832 msgs/S, 427664 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 831792 ctxswc/S +--- Score : 962832 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 161453 threads/S +--- Score : 161828 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 238693 threads/S +--- Score : 241113 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 62418 reschedules/S, 374508 ctxswc/S +--- Score : 64728 reschedules/S, 388368 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 481380 ctxswc/S +--- Score : 468840 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 476632 bytes/S +--- Score : 526392 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 641534 timers/S +--- Score : 647308 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 842840 wait+signal/S +--- Score : 787420 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 611492 lock+unlock/S +--- Score : 596276 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 3495905f51318549a2bd6764360a4812aac869fa Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 19 May 2011 17:46:52 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2974 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 87366005c..28041072a 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -1,12 +1,12 @@ *************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Options: -O2 -fomit-frame-pointer -falign-functions=16 Settings: SYSCLK=72, ACR=0x12 (2 wait states) *************************************************************************** *** ChibiOS/RT test suite *** *** Kernel: 2.3.3unstable -*** Compiler: GCC 4.6.0 +*** Compiler: GCC 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Port Info: Advanced kernel mode @@ -99,51 +99,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 267098 msgs/S, 534196 ctxswc/S +--- Score : 248569 msgs/S, 497138 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 213832 msgs/S, 427664 ctxswc/S +--- Score : 198998 msgs/S, 397996 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 213832 msgs/S, 427664 ctxswc/S +--- Score : 198998 msgs/S, 397996 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 962832 ctxswc/S +--- Score : 839008 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 161828 threads/S +--- Score : 156856 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 241113 threads/S +--- Score : 235543 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 64728 reschedules/S, 388368 ctxswc/S +--- Score : 61138 reschedules/S, 366828 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 468840 ctxswc/S +--- Score : 478124 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 526392 bytes/S +--- Score : 581768 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647308 timers/S +--- Score : 647262 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 787420 wait+signal/S +--- Score : 787368 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 596276 lock+unlock/S +--- Score : 586492 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From 2a6ece58eaac63be0baf6505c2de4785b5e5b0ed Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 22 May 2011 11:43:45 +0000 Subject: Updated GCC-ARM port. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2996 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC2148-48-ARM.txt | 15 ++++++++------- docs/reports/LPC2148-48-THUMB.txt | 15 ++++++++------- 2 files changed, 16 insertions(+), 14 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC2148-48-ARM.txt b/docs/reports/LPC2148-48-ARM.txt index f1ce426dd..8f38fa9cf 100644 --- a/docs/reports/LPC2148-48-ARM.txt +++ b/docs/reports/LPC2148-48-ARM.txt @@ -5,10 +5,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.7unstable -*** GCC Version: 4.5.1 +*** Kernel: 2.3.3unstable +*** Compiler: GCC 4.5.2 *** Architecture: ARM7 *** Core Variant: ARM7TDMI +*** Port Info: Pure ARM mode *** Platform: LPC214x *** Test Board: Olimex LPC-P2148 @@ -98,15 +99,15 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 145386 msgs/S, 290772 ctxswc/S +--- Score : 148549 msgs/S, 297098 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 113890 msgs/S, 227780 ctxswc/S +--- Score : 113347 msgs/S, 226694 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 113890 msgs/S, 227780 ctxswc/S +--- Score : 113347 msgs/S, 226694 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -126,11 +127,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 276084 ctxswc/S +--- Score : 276080 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 341980 bytes/S +--- Score : 402384 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) diff --git a/docs/reports/LPC2148-48-THUMB.txt b/docs/reports/LPC2148-48-THUMB.txt index 199f592f4..95c0ce7e0 100644 --- a/docs/reports/LPC2148-48-THUMB.txt +++ b/docs/reports/LPC2148-48-THUMB.txt @@ -5,10 +5,11 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.6unstable -*** GCC Version: 4.5.1 +*** Kernel: 2.3.3unstable +*** Compiler: GCC 4.5.2 *** Architecture: ARM7 *** Core Variant: ARM7TDMI +*** Port Info: Pure THUMB mode *** Platform: LPC214x *** Test Board: Olimex LPC-P2148 @@ -98,15 +99,15 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 106224 msgs/S, 212448 ctxswc/S +--- Score : 108146 msgs/S, 216292 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 88032 msgs/S, 176064 ctxswc/S +--- Score : 89014 msgs/S, 178028 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 88032 msgs/S, 176064 ctxswc/S +--- Score : 89014 msgs/S, 178028 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) @@ -130,7 +131,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 261396 bytes/S +--- Score : 315532 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) @@ -138,7 +139,7 @@ Settings: CCLK=48, MAMCR=2, MAMTIM=3 (3 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 350836 wait+signal/S +--- Score : 350832 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) -- cgit v1.2.3 From 88e92b3fc3a14ec04780815b1061e680dfbb9777 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 29 May 2011 09:09:22 +0000 Subject: Improvements to the STM32 SDC driver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3001 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile_chm | 2 +- docs/Doxyfile_html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile_chm b/docs/Doxyfile_chm index f6580b758..f088be782 100644 --- a/docs/Doxyfile_chm +++ b/docs/Doxyfile_chm @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.3 +PROJECT_NUMBER = 2.3.4 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff --git a/docs/Doxyfile_html b/docs/Doxyfile_html index 0d2e6e31b..ab9d037da 100644 --- a/docs/Doxyfile_html +++ b/docs/Doxyfile_html @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.3 +PROJECT_NUMBER = 2.3.4 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer -- cgit v1.2.3 From 33ecba3fd8ea17494b7154d20e677dd50f57b510 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 1 Jun 2011 17:56:23 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3005 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 4 ++-- docs/reports/STM32F103-72-IAR.txt | 30 ++++++++++++++++-------------- docs/reports/STM32F103-72-RVCT.txt | 30 ++++++++++++++++-------------- 3 files changed, 34 insertions(+), 30 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 28041072a..9c017adae 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.3.3unstable +*** Kernel: 2.3.4unstable *** Compiler: GCC 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -131,7 +131,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 581768 bytes/S +--- Score : 592560 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index 0ad93a193..45c9f2345 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -6,9 +6,11 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 *** ChibiOS/RT test suite *** -*** Kernel: 2.1.7unstable +*** Kernel: 2.3.4unstable +*** Compiler: IAR *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 +*** Port Info: Advanced kernel mode *** Platform: STM32 Performance Line Medium Density *** Test Board: Olimex STM32-P103 @@ -98,55 +100,55 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 237880 msgs/S, 475760 ctxswc/S +--- Score : 243531 msgs/S, 487062 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 206437 msgs/S, 412874 ctxswc/S +--- Score : 208238 msgs/S, 416476 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 204672 msgs/S, 409344 ctxswc/S +--- Score : 211298 msgs/S, 422596 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 861664 ctxswc/S +--- Score : 839040 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 149986 threads/S +--- Score : 145142 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 228798 threads/S +--- Score : 221062 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 68159 reschedules/S, 408954 ctxswc/S +--- Score : 66643 reschedules/S, 399858 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 459052 ctxswc/S +--- Score : 459060 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 523436 bytes/S +--- Score : 668300 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 674558 timers/S +--- Score : 704334 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 1056488 wait+signal/S +--- Score : 1052652 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 621992 lock+unlock/S +--- Score : 623376 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes +--- System: 368 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes diff --git a/docs/reports/STM32F103-72-RVCT.txt b/docs/reports/STM32F103-72-RVCT.txt index 0a1ab838c..1b0183a33 100644 --- a/docs/reports/STM32F103-72-RVCT.txt +++ b/docs/reports/STM32F103-72-RVCT.txt @@ -6,9 +6,11 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. *** ChibiOS/RT test suite *** -*** Kernel: 2.1.7unstable +*** Kernel: 2.3.4unstable +*** Compiler: RVCT *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 +*** Port Info: Advanced kernel mode *** Platform: STM32 Performance Line Medium Density *** Test Board: Olimex STM32-P103 @@ -98,55 +100,55 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 230298 msgs/S, 460596 ctxswc/S +--- Score : 244398 msgs/S, 488796 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 202403 msgs/S, 404806 ctxswc/S +--- Score : 214497 msgs/S, 428994 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 201268 msgs/S, 402536 ctxswc/S +--- Score : 214497 msgs/S, 428994 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 818864 ctxswc/S +--- Score : 863120 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 154859 threads/S +--- Score : 156887 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 221776 threads/S +--- Score : 229569 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 67404 reschedules/S, 404424 ctxswc/S +--- Score : 68757 reschedules/S, 412542 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 487136 ctxswc/S +--- Score : 490452 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 547444 bytes/S +--- Score : 612440 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 565768 timers/S +--- Score : 591340 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 876268 wait+signal/S +--- Score : 886992 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 607628 lock+unlock/S +--- Score : 634396 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes +--- System: 368 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From afff65d70350fc270a3ff698729c13144141e363 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 2 Jun 2011 09:03:19 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3008 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-IAR-compact.txt | 164 +++++++++++++++++++++++++++++ docs/reports/STM32F103-72-RVCT-compact.txt | 164 +++++++++++++++++++++++++++++ docs/reports/STM32F107-72-GCC-compact.txt | 163 ++++++++++++++++++++++++++++ 3 files changed, 491 insertions(+) create mode 100644 docs/reports/STM32F103-72-IAR-compact.txt create mode 100644 docs/reports/STM32F103-72-RVCT-compact.txt create mode 100644 docs/reports/STM32F107-72-GCC-compact.txt (limited to 'docs') diff --git a/docs/reports/STM32F103-72-IAR-compact.txt b/docs/reports/STM32F103-72-IAR-compact.txt new file mode 100644 index 000000000..9240e8392 --- /dev/null +++ b/docs/reports/STM32F103-72-IAR-compact.txt @@ -0,0 +1,164 @@ +*************************************************************************** +Options: -Ohs +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.3.4unstable +*** Compiler: IAR +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Port Info: Compact kernel mode +*** Platform: STM32 Performance Line Medium Density +*** Test Board: Olimex STM32-P103 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 251219 msgs/S, 502438 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 211939 msgs/S, 423878 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 215112 msgs/S, 430224 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 842800 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 148759 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 221758 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 68491 reschedules/S, 410946 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 471140 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 680616 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 690848 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 1118272 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 645840 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 368 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F103-72-RVCT-compact.txt b/docs/reports/STM32F103-72-RVCT-compact.txt new file mode 100644 index 000000000..7e5621e37 --- /dev/null +++ b/docs/reports/STM32F103-72-RVCT-compact.txt @@ -0,0 +1,164 @@ +*************************************************************************** +Options: -O3 -Otime --apcs=interwork +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.3.4unstable +*** Compiler: RVCT +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Port Info: Compact kernel mode +*** Platform: STM32 Performance Line Medium Density +*** Test Board: Olimex STM32-P103 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 246926 msgs/S, 493852 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 214498 msgs/S, 428996 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 214498 msgs/S, 428996 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 857992 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 158980 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 228850 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 68304 reschedules/S, 409824 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 504240 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 655812 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 563550 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 942344 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 633060 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 368 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F107-72-GCC-compact.txt b/docs/reports/STM32F107-72-GCC-compact.txt new file mode 100644 index 000000000..0753de9cf --- /dev/null +++ b/docs/reports/STM32F107-72-GCC-compact.txt @@ -0,0 +1,163 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.3.4unstable +*** Compiler: GCC 4.5.2 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Port Info: Compact kernel mode +*** Platform: STM32 Performance Line Medium Density +*** Test Board: Olimex STM32-P103 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 258426 msgs/S, 516852 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 204682 msgs/S, 409364 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 204682 msgs/S, 409364 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 831792 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 161453 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 238693 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 62418 reschedules/S, 374508 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 481380 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 602560 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 641534 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 842840 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 611492 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 368 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS -- cgit v1.2.3 From a3ec9940d06bfb5655fc041762f3e9a98e9240e8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 2 Jun 2011 11:49:15 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3009 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-GCC.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-GCC.txt b/docs/reports/LPC1114-48-GCC.txt index e5f0a3f3b..fc24856de 100644 --- a/docs/reports/LPC1114-48-GCC.txt +++ b/docs/reports/LPC1114-48-GCC.txt @@ -1,12 +1,12 @@ *************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu +Options: -O2 -fomit-frame-pointer Settings: CLK=48, (2 wait states) *************************************************************************** *** ChibiOS/RT test suite *** -*** Kernel: 2.3.0unstable -*** GCC Version: 4.3.3 +*** Kernel: 2.3.4unstable +*** Compiler: GCC 4.3.3 *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 *** Platform: LPC11xx @@ -114,7 +114,7 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 78359 threads/S +--- Score : 78360 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) @@ -130,7 +130,7 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 296256 bytes/S +--- Score : 384968 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) @@ -146,7 +146,7 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes +--- System: 368 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From 5df4a20cbbfd99054582c127963ff0671d9eac62 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 2 Jun 2011 12:05:56 +0000 Subject: Alternate preemption mode implemented in ARMv6-M GCC port. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3011 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-GCC.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-GCC.txt b/docs/reports/LPC1114-48-GCC.txt index fc24856de..1701b16f4 100644 --- a/docs/reports/LPC1114-48-GCC.txt +++ b/docs/reports/LPC1114-48-GCC.txt @@ -9,6 +9,7 @@ Settings: CLK=48, (2 wait states) *** Compiler: GCC 4.3.3 *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 +*** Port Info: Preemption through NMI *** Platform: LPC11xx *** Test Board: Embedded Artists LPCXpresso Base Board + LPC1114 @@ -98,7 +99,7 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 126786 msgs/S, 253572 ctxswc/S +--- Score : 126785 msgs/S, 253570 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) -- cgit v1.2.3 From e5046d1dcb7a6c70cd3fa04ac5131214d067dec3 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 2 Jun 2011 14:26:17 +0000 Subject: Alternate preemption mode implemented for RVCT. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3014 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-RVCT.txt | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-RVCT.txt b/docs/reports/LPC1114-48-RVCT.txt index 53953ee84..143522f39 100644 --- a/docs/reports/LPC1114-48-RVCT.txt +++ b/docs/reports/LPC1114-48-RVCT.txt @@ -6,9 +6,11 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. *** ChibiOS/RT test suite *** -*** Kernel: 2.3.0unstable +*** Kernel: 2.3.4unstable +*** Compiler: RVCT *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 +*** Port Info: Preemption through NMI *** Platform: LPC11xx *** Test Board: Embedded Artists LPCXpresso Base Board + LPC1114 @@ -90,7 +92,7 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. ---------------------------------------------------------------------------- --- Test Case 9.3 (Dynamic APIs, registry and references) --- Result: SUCCESS ---------------------------------------------------------------------------- +---------------------------------------------------------------------------- --- Test Case 10.1 (Queues, input queues) --- Result: SUCCESS ---------------------------------------------------------------------------- @@ -98,55 +100,55 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 121347 msgs/S, 242694 ctxswc/S +--- Score : 120730 msgs/S, 241460 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 102162 msgs/S, 204324 ctxswc/S +--- Score : 103037 msgs/S, 206074 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 102162 msgs/S, 204324 ctxswc/S +--- Score : 103037 msgs/S, 206074 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 377584 ctxswc/S +--- Score : 383632 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 78768 threads/S +--- Score : 79025 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 112764 threads/S +--- Score : 112230 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 33088 reschedules/S, 198528 ctxswc/S +--- Score : 33692 reschedules/S, 202152 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 249336 ctxswc/S +--- Score : 236968 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 270084 bytes/S +--- Score : 360780 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 303522 timers/S +--- Score : 311418 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 603212 wait+signal/S +--- Score : 599396 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 372744 lock+unlock/S +--- Score : 371284 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 360 bytes +--- System: 368 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes -- cgit v1.2.3 From 060e34a4090845aa08f07bc86b670df80ea65063 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 8 Jun 2011 15:32:34 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3038 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile_chm | 2 +- docs/Doxyfile_html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/Doxyfile_chm b/docs/Doxyfile_chm index f088be782..f6580b758 100644 --- a/docs/Doxyfile_chm +++ b/docs/Doxyfile_chm @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.4 +PROJECT_NUMBER = 2.3.3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff --git a/docs/Doxyfile_html b/docs/Doxyfile_html index ab9d037da..0d2e6e31b 100644 --- a/docs/Doxyfile_html +++ b/docs/Doxyfile_html @@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.3.4 +PROJECT_NUMBER = 2.3.3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer -- cgit v1.2.3 From 12afe0d6419fb698f188896ee48b14819f6eb926 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 16 Jun 2011 18:06:07 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3045 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC-compact.txt | 163 ++++++++++++++++++++++++++++++ docs/reports/STM32F103-72-GCC.txt | 26 ++--- docs/reports/STM32F103-72-IAR.txt | 26 ++--- docs/reports/STM32F103-72-RVCT.txt | 26 ++--- docs/reports/STM32F107-72-GCC-compact.txt | 163 ------------------------------ 5 files changed, 202 insertions(+), 202 deletions(-) create mode 100644 docs/reports/STM32F103-72-GCC-compact.txt delete mode 100644 docs/reports/STM32F107-72-GCC-compact.txt (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC-compact.txt b/docs/reports/STM32F103-72-GCC-compact.txt new file mode 100644 index 000000000..0753de9cf --- /dev/null +++ b/docs/reports/STM32F103-72-GCC-compact.txt @@ -0,0 +1,163 @@ +*************************************************************************** +Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 +Settings: SYSCLK=72, ACR=0x12 (2 wait states) +*************************************************************************** + +*** ChibiOS/RT test suite +*** +*** Kernel: 2.3.4unstable +*** Compiler: GCC 4.5.2 +*** Architecture: ARMv7-M +*** Core Variant: Cortex-M3 +*** Port Info: Compact kernel mode +*** Platform: STM32 Performance Line Medium Density +*** Test Board: Olimex STM32-P103 + +---------------------------------------------------------------------------- +--- Test Case 1.1 (Threads, enqueuing test #1) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.2 (Threads, enqueuing test #2) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.3 (Threads, priority change) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 1.4 (Threads, delays) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.1 (Semaphores, enqueuing) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.2 (Semaphores, timeout) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.3 (Semaphores, atomic signal-wait) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 2.4 (Binary Semaphores, functionality) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.1 (Mutexes, priority enqueuing test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.2 (Mutexes, priority inheritance, simple case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.3 (Mutexes, priority inheritance, complex case) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.4 (Mutexes, priority return) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.5 (Mutexes, status) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.6 (CondVar, signal test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.7 (CondVar, broadcast test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 3.8 (CondVar, boost test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 4.1 (Messages, loop) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 5.1 (Mailboxes, queuing and timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.1 (Events, registration and dispatch) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.2 (Events, wait and broadcast) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 6.3 (Events, timeouts) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 7.1 (Heap, allocation and fragmentation test) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 8.1 (Memory Pools, queue/dequeue) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.1 (Dynamic APIs, threads creation from heap) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 9.3 (Dynamic APIs, registry and references) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.1 (Queues, input queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 10.2 (Queues, output queues) +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.1 (Benchmark, messages #1) +--- Score : 258426 msgs/S, 516852 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.2 (Benchmark, messages #2) +--- Score : 204682 msgs/S, 409364 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.3 (Benchmark, messages #3) +--- Score : 204682 msgs/S, 409364 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.4 (Benchmark, context switch) +--- Score : 831792 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.5 (Benchmark, threads, full cycle) +--- Score : 161453 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.6 (Benchmark, threads, create only) +--- Score : 238693 threads/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 62418 reschedules/S, 374508 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.8 (Benchmark, round robin context switching) +--- Score : 481380 ctxswc/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.9 (Benchmark, I/O Queues throughput) +--- Score : 602560 bytes/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.10 (Benchmark, virtual timers set/reset) +--- Score : 641534 timers/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.11 (Benchmark, semaphores wait/signal) +--- Score : 842840 wait+signal/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.12 (Benchmark, mutexes lock/unlock) +--- Score : 611492 lock+unlock/S +--- Result: SUCCESS +---------------------------------------------------------------------------- +--- Test Case 11.13 (Benchmark, RAM footprint) +--- System: 368 bytes +--- Thread: 68 bytes +--- Timer : 20 bytes +--- Semaph: 12 bytes +--- EventS: 4 bytes +--- EventL: 12 bytes +--- Mutex : 16 bytes +--- CondV.: 8 bytes +--- Queue : 32 bytes +--- MailB.: 40 bytes +--- Result: SUCCESS +---------------------------------------------------------------------------- + +Final result: SUCCESS diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 9c017adae..10c0acc6e 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.3.4unstable +*** Kernel: 2.3.3unstable *** Compiler: GCC 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -99,51 +99,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248569 msgs/S, 497138 ctxswc/S +--- Score : 248452 msgs/S, 496904 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 198998 msgs/S, 397996 ctxswc/S +--- Score : 198898 msgs/S, 397796 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 198998 msgs/S, 397996 ctxswc/S +--- Score : 198898 msgs/S, 397796 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 839008 ctxswc/S +--- Score : 838600 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156856 threads/S +--- Score : 156781 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 235543 threads/S +--- Score : 235429 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 61138 reschedules/S, 366828 ctxswc/S +--- Score : 61109 reschedules/S, 366654 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478124 ctxswc/S +--- Score : 477900 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 592560 bytes/S +--- Score : 592276 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647262 timers/S +--- Score : 646946 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 787368 wait+signal/S +--- Score : 786988 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586492 lock+unlock/S +--- Score : 586216 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index 45c9f2345..5f993fa97 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -6,7 +6,7 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 *** ChibiOS/RT test suite *** -*** Kernel: 2.3.4unstable +*** Kernel: 2.3.3unstable *** Compiler: IAR *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -100,51 +100,51 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 243531 msgs/S, 487062 ctxswc/S +--- Score : 243407 msgs/S, 486814 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 208238 msgs/S, 416476 ctxswc/S +--- Score : 208131 msgs/S, 416262 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 211298 msgs/S, 422596 ctxswc/S +--- Score : 211190 msgs/S, 422380 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 839040 ctxswc/S +--- Score : 838608 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 145142 threads/S +--- Score : 145067 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 221062 threads/S +--- Score : 220950 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 66643 reschedules/S, 399858 ctxswc/S +--- Score : 66609 reschedules/S, 399654 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 459060 ctxswc/S +--- Score : 458824 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 668300 bytes/S +--- Score : 667992 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 704334 timers/S +--- Score : 703990 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 1052652 wait+signal/S +--- Score : 1052104 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 623376 lock+unlock/S +--- Score : 623052 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72-RVCT.txt b/docs/reports/STM32F103-72-RVCT.txt index 1b0183a33..12807c32d 100644 --- a/docs/reports/STM32F103-72-RVCT.txt +++ b/docs/reports/STM32F103-72-RVCT.txt @@ -6,7 +6,7 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. *** ChibiOS/RT test suite *** -*** Kernel: 2.3.4unstable +*** Kernel: 2.3.3unstable *** Compiler: RVCT *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -100,51 +100,51 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 244398 msgs/S, 488796 ctxswc/S +--- Score : 241004 msgs/S, 482008 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 214497 msgs/S, 428994 ctxswc/S +--- Score : 208779 msgs/S, 417558 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 214497 msgs/S, 428994 ctxswc/S +--- Score : 211235 msgs/S, 422470 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 863120 ctxswc/S +--- Score : 860144 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156887 threads/S +--- Score : 156817 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 229569 threads/S +--- Score : 225862 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 68757 reschedules/S, 412542 ctxswc/S +--- Score : 67500 reschedules/S, 405000 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 490452 ctxswc/S +--- Score : 493600 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 612440 bytes/S +--- Score : 633788 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 591340 timers/S +--- Score : 561076 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 886992 wait+signal/S +--- Score : 862660 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 634396 lock+unlock/S +--- Score : 611196 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F107-72-GCC-compact.txt b/docs/reports/STM32F107-72-GCC-compact.txt deleted file mode 100644 index 0753de9cf..000000000 --- a/docs/reports/STM32F107-72-GCC-compact.txt +++ /dev/null @@ -1,163 +0,0 @@ -*************************************************************************** -Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16 -Settings: SYSCLK=72, ACR=0x12 (2 wait states) -*************************************************************************** - -*** ChibiOS/RT test suite -*** -*** Kernel: 2.3.4unstable -*** Compiler: GCC 4.5.2 -*** Architecture: ARMv7-M -*** Core Variant: Cortex-M3 -*** Port Info: Compact kernel mode -*** Platform: STM32 Performance Line Medium Density -*** Test Board: Olimex STM32-P103 - ----------------------------------------------------------------------------- ---- Test Case 1.1 (Threads, enqueuing test #1) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.2 (Threads, enqueuing test #2) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.3 (Threads, priority change) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 1.4 (Threads, delays) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.1 (Semaphores, enqueuing) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.2 (Semaphores, timeout) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.3 (Semaphores, atomic signal-wait) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 2.4 (Binary Semaphores, functionality) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.1 (Mutexes, priority enqueuing test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.2 (Mutexes, priority inheritance, simple case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.3 (Mutexes, priority inheritance, complex case) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.4 (Mutexes, priority return) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.5 (Mutexes, status) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.6 (CondVar, signal test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.7 (CondVar, broadcast test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 3.8 (CondVar, boost test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 4.1 (Messages, loop) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 5.1 (Mailboxes, queuing and timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.1 (Events, registration and dispatch) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.2 (Events, wait and broadcast) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 6.3 (Events, timeouts) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 7.1 (Heap, allocation and fragmentation test) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 8.1 (Memory Pools, queue/dequeue) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.1 (Dynamic APIs, threads creation from heap) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.2 (Dynamic APIs, threads creation from memory pool) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 9.3 (Dynamic APIs, registry and references) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.1 (Queues, input queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 10.2 (Queues, output queues) ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.1 (Benchmark, messages #1) ---- Score : 258426 msgs/S, 516852 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.2 (Benchmark, messages #2) ---- Score : 204682 msgs/S, 409364 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.3 (Benchmark, messages #3) ---- Score : 204682 msgs/S, 409364 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.4 (Benchmark, context switch) ---- Score : 831792 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 161453 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 238693 threads/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 62418 reschedules/S, 374508 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 481380 ctxswc/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 602560 bytes/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 641534 timers/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 842840 wait+signal/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 611492 lock+unlock/S ---- Result: SUCCESS ----------------------------------------------------------------------------- ---- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 368 bytes ---- Thread: 68 bytes ---- Timer : 20 bytes ---- Semaph: 12 bytes ---- EventS: 4 bytes ---- EventL: 12 bytes ---- Mutex : 16 bytes ---- CondV.: 8 bytes ---- Queue : 32 bytes ---- MailB.: 40 bytes ---- Result: SUCCESS ----------------------------------------------------------------------------- - -Final result: SUCCESS -- cgit v1.2.3 From 51875dac89e323d1a0eebc301a2122903bbb58ba Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 16 Jun 2011 19:56:47 +0000 Subject: Fixed bug 3317500, retested impacted ports. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3047 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/LPC1114-48-GCC.txt | 26 +++++++++++++------------- docs/reports/LPC1114-48-RVCT.txt | 26 +++++++++++++------------- docs/reports/STM32F103-72-GCC-compact.txt | 26 +++++++++++++------------- docs/reports/STM32F103-72-GCC.txt | 22 +++++++++++----------- docs/reports/STM32F103-72-IAR-compact.txt | 26 +++++++++++++------------- docs/reports/STM32F103-72-IAR.txt | 22 +++++++++++----------- docs/reports/STM32F103-72-RVCT-compact.txt | 26 +++++++++++++------------- docs/reports/STM32F103-72-RVCT.txt | 22 +++++++++++----------- 8 files changed, 98 insertions(+), 98 deletions(-) (limited to 'docs') diff --git a/docs/reports/LPC1114-48-GCC.txt b/docs/reports/LPC1114-48-GCC.txt index 1701b16f4..15851e178 100644 --- a/docs/reports/LPC1114-48-GCC.txt +++ b/docs/reports/LPC1114-48-GCC.txt @@ -5,7 +5,7 @@ Settings: CLK=48, (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.3.4unstable +*** Kernel: 2.3.3unstable *** Compiler: GCC 4.3.3 *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 @@ -99,51 +99,51 @@ Settings: CLK=48, (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 126785 msgs/S, 253570 ctxswc/S +--- Score : 126622 msgs/S, 253244 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 100841 msgs/S, 201682 ctxswc/S +--- Score : 100709 msgs/S, 201418 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 100841 msgs/S, 201682 ctxswc/S +--- Score : 100709 msgs/S, 201418 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 380488 ctxswc/S +--- Score : 379992 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 78360 threads/S +--- Score : 77997 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 110391 threads/S +--- Score : 109742 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 31038 reschedules/S, 186228 ctxswc/S +--- Score : 30999 reschedules/S, 185994 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 253236 ctxswc/S +--- Score : 252904 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 384968 bytes/S +--- Score : 384484 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 350246 timers/S +--- Score : 349796 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 592052 wait+signal/S +--- Score : 591284 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 334912 lock+unlock/S +--- Score : 334472 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/LPC1114-48-RVCT.txt b/docs/reports/LPC1114-48-RVCT.txt index 143522f39..530ca07b2 100644 --- a/docs/reports/LPC1114-48-RVCT.txt +++ b/docs/reports/LPC1114-48-RVCT.txt @@ -6,7 +6,7 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. *** ChibiOS/RT test suite *** -*** Kernel: 2.3.4unstable +*** Kernel: 2.3.3unstable *** Compiler: RVCT *** Architecture: ARMv6-M *** Core Variant: Cortex-M0 @@ -100,51 +100,51 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 120730 msgs/S, 241460 ctxswc/S +--- Score : 119906 msgs/S, 239812 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 103037 msgs/S, 206074 ctxswc/S +--- Score : 101539 msgs/S, 203078 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 103037 msgs/S, 206074 ctxswc/S +--- Score : 101972 msgs/S, 203944 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 383632 ctxswc/S +--- Score : 371752 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 79025 threads/S +--- Score : 78107 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 112230 threads/S +--- Score : 111504 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 33692 reschedules/S, 202152 ctxswc/S +--- Score : 33164 reschedules/S, 198984 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 236968 ctxswc/S +--- Score : 248880 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 360780 bytes/S +--- Score : 367048 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 311418 timers/S +--- Score : 302964 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 599396 wait+signal/S +--- Score : 613732 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 371284 lock+unlock/S +--- Score : 387156 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72-GCC-compact.txt b/docs/reports/STM32F103-72-GCC-compact.txt index 0753de9cf..abc9cda66 100644 --- a/docs/reports/STM32F103-72-GCC-compact.txt +++ b/docs/reports/STM32F103-72-GCC-compact.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.3.4unstable +*** Kernel: 2.3.3unstable *** Compiler: GCC 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -99,51 +99,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 258426 msgs/S, 516852 ctxswc/S +--- Score : 258293 msgs/S, 516586 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 204682 msgs/S, 409364 ctxswc/S +--- Score : 204574 msgs/S, 409148 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 204682 msgs/S, 409364 ctxswc/S +--- Score : 204574 msgs/S, 409148 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 831792 ctxswc/S +--- Score : 831352 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 161453 threads/S +--- Score : 161369 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 238693 threads/S +--- Score : 238569 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 62418 reschedules/S, 374508 ctxswc/S +--- Score : 62385 reschedules/S, 374310 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 481380 ctxswc/S +--- Score : 481120 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 602560 bytes/S +--- Score : 602228 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 641534 timers/S +--- Score : 641196 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 842840 wait+signal/S +--- Score : 842388 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 611492 lock+unlock/S +--- Score : 611188 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 10c0acc6e..486964e49 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -99,43 +99,43 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 248452 msgs/S, 496904 ctxswc/S +--- Score : 248463 msgs/S, 496926 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 198898 msgs/S, 397796 ctxswc/S +--- Score : 198907 msgs/S, 397814 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 198898 msgs/S, 397796 ctxswc/S +--- Score : 198907 msgs/S, 397814 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 838600 ctxswc/S +--- Score : 838640 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156781 threads/S +--- Score : 156788 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 235429 threads/S +--- Score : 235439 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 61109 reschedules/S, 366654 ctxswc/S +--- Score : 61111 reschedules/S, 366666 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 477900 ctxswc/S +--- Score : 477916 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 592276 bytes/S +--- Score : 592296 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 646946 timers/S +--- Score : 646974 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) @@ -143,7 +143,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 586216 lock+unlock/S +--- Score : 586240 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72-IAR-compact.txt b/docs/reports/STM32F103-72-IAR-compact.txt index 9240e8392..cba2f2fdc 100644 --- a/docs/reports/STM32F103-72-IAR-compact.txt +++ b/docs/reports/STM32F103-72-IAR-compact.txt @@ -6,7 +6,7 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 *** ChibiOS/RT test suite *** -*** Kernel: 2.3.4unstable +*** Kernel: 2.3.3unstable *** Compiler: IAR *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -100,51 +100,51 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 251219 msgs/S, 502438 ctxswc/S +--- Score : 251084 msgs/S, 502168 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 211939 msgs/S, 423878 ctxswc/S +--- Score : 211831 msgs/S, 423662 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 215112 msgs/S, 430224 ctxswc/S +--- Score : 214998 msgs/S, 429996 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 842800 ctxswc/S +--- Score : 842352 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 148759 threads/S +--- Score : 148679 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 221758 threads/S +--- Score : 221641 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 68491 reschedules/S, 410946 ctxswc/S +--- Score : 68455 reschedules/S, 410730 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 471140 ctxswc/S +--- Score : 470896 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 680616 bytes/S +--- Score : 680260 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 690848 timers/S +--- Score : 690492 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 1118272 wait+signal/S +--- Score : 1117700 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 645840 lock+unlock/S +--- Score : 645492 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72-IAR.txt b/docs/reports/STM32F103-72-IAR.txt index 5f993fa97..c7c34205e 100644 --- a/docs/reports/STM32F103-72-IAR.txt +++ b/docs/reports/STM32F103-72-IAR.txt @@ -100,35 +100,35 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 243407 msgs/S, 486814 ctxswc/S +--- Score : 243426 msgs/S, 486852 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 208131 msgs/S, 416262 ctxswc/S +--- Score : 208147 msgs/S, 416294 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 211190 msgs/S, 422380 ctxswc/S +--- Score : 211209 msgs/S, 422418 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 838608 ctxswc/S +--- Score : 838672 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 145067 threads/S +--- Score : 145079 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 220950 threads/S +--- Score : 220971 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 66609 reschedules/S, 399654 ctxswc/S +--- Score : 66615 reschedules/S, 399690 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 458824 ctxswc/S +--- Score : 458860 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -136,15 +136,15 @@ Compiler: IAR C/C++ Compiler for ARM 6.10.1.32143 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 703990 timers/S +--- Score : 704032 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 1052104 wait+signal/S +--- Score : 1052200 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 623052 lock+unlock/S +--- Score : 623104 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72-RVCT-compact.txt b/docs/reports/STM32F103-72-RVCT-compact.txt index 7e5621e37..db2f9eb26 100644 --- a/docs/reports/STM32F103-72-RVCT-compact.txt +++ b/docs/reports/STM32F103-72-RVCT-compact.txt @@ -6,7 +6,7 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. *** ChibiOS/RT test suite *** -*** Kernel: 2.3.4unstable +*** Kernel: 2.3.3unstable *** Compiler: RVCT *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 @@ -100,51 +100,51 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 246926 msgs/S, 493852 ctxswc/S +--- Score : 246810 msgs/S, 493620 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 214498 msgs/S, 428996 ctxswc/S +--- Score : 214392 msgs/S, 428784 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 214498 msgs/S, 428996 ctxswc/S +--- Score : 214392 msgs/S, 428784 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 857992 ctxswc/S +--- Score : 857584 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 158980 threads/S +--- Score : 161404 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 228850 threads/S +--- Score : 229474 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 68304 reschedules/S, 409824 ctxswc/S +--- Score : 68271 reschedules/S, 409626 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 504240 ctxswc/S +--- Score : 504000 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 655812 bytes/S +--- Score : 655496 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 563550 timers/S +--- Score : 563282 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 942344 wait+signal/S +--- Score : 941912 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 633060 lock+unlock/S +--- Score : 632764 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/docs/reports/STM32F103-72-RVCT.txt b/docs/reports/STM32F103-72-RVCT.txt index 12807c32d..ba846584b 100644 --- a/docs/reports/STM32F103-72-RVCT.txt +++ b/docs/reports/STM32F103-72-RVCT.txt @@ -100,27 +100,27 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 241004 msgs/S, 482008 ctxswc/S +--- Score : 241009 msgs/S, 482018 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 208779 msgs/S, 417558 ctxswc/S +--- Score : 208782 msgs/S, 417564 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 211235 msgs/S, 422470 ctxswc/S +--- Score : 211238 msgs/S, 422476 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 860144 ctxswc/S +--- Score : 860160 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 156817 threads/S +--- Score : 156137 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 225862 threads/S +--- Score : 225157 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) @@ -128,23 +128,23 @@ Compiler: RealView C/C++ Compiler V4.1.0.561 [Evaluation]. --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 493600 ctxswc/S +--- Score : 493588 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 633788 bytes/S +--- Score : 633812 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 561076 timers/S +--- Score : 561090 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 862660 wait+signal/S +--- Score : 862712 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 611196 lock+unlock/S +--- Score : 606064 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) -- cgit v1.2.3 From bb7cdeb8376feb7944762fa2539b114d4505bb97 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 25 Jun 2011 12:21:29 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3078 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC-compact.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC-compact.txt b/docs/reports/STM32F103-72-GCC-compact.txt index abc9cda66..407f2f83e 100644 --- a/docs/reports/STM32F103-72-GCC-compact.txt +++ b/docs/reports/STM32F103-72-GCC-compact.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.3.3unstable +*** Kernel: 2.3.3unstable *** Compiler: GCC 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 -- cgit v1.2.3 From 7d584d3b7a87861fef17fbe97a5c8a703399c035 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 25 Jun 2011 12:22:20 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3079 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC-compact.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72-GCC-compact.txt b/docs/reports/STM32F103-72-GCC-compact.txt index 407f2f83e..abc9cda66 100644 --- a/docs/reports/STM32F103-72-GCC-compact.txt +++ b/docs/reports/STM32F103-72-GCC-compact.txt @@ -5,7 +5,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.3.3unstable +*** Kernel: 2.3.3unstable *** Compiler: GCC 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 -- cgit v1.2.3 From 004dc1ad403b84063702369c4fa733cdd938ecc4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 19 Jul 2011 17:04:07 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3163 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/header_chm.html | 2 +- docs/rsc/header_html.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/rsc/header_chm.html b/docs/rsc/header_chm.html index 7900d8bf2..a27feac41 100644 --- a/docs/rsc/header_chm.html +++ b/docs/rsc/header_chm.html @@ -13,7 +13,7 @@ diff --git a/docs/rsc/header_html.html b/docs/rsc/header_html.html index 8e3887f51..46b76b597 100644 --- a/docs/rsc/header_html.html +++ b/docs/rsc/header_html.html @@ -20,7 +20,7 @@ $(document).ready(initResizable);
    -
    ChibiOS/RT 2.3.1
    +
    ChibiOS/RT
    2.3.1
    +
    + +
    -
    ChibiOS/RT 2.3.1
    +
    ChibiOS/RT 2.3.3
    -
    ChibiOS/RT
    2.3.1
    +
    ChibiOS/RT
    2.3.3