diff --git a/demos/STM32/NIL-STM32F746G-DISCOVERY/debug/NIL-STM32F746G-DISCOVERY (OpenOCD, Flash and Run).launch b/demos/STM32/NIL-STM32F746G-DISCOVERY/debug/NIL-STM32F746G-DISCOVERY (OpenOCD, Flash and Run).launch
index 64205f0f0..15b43d869 100644
--- a/demos/STM32/NIL-STM32F746G-DISCOVERY/debug/NIL-STM32F746G-DISCOVERY (OpenOCD, Flash and Run).launch
+++ b/demos/STM32/NIL-STM32F746G-DISCOVERY/debug/NIL-STM32F746G-DISCOVERY (OpenOCD, Flash and Run).launch
@@ -33,7 +33,7 @@
-
+
diff --git a/doc/nil/reports/STM32F746-216-GCC.txt b/doc/nil/reports/STM32F746-216-GCC.txt
index 2ac3856be..5eaed0d9a 100644
--- a/doc/nil/reports/STM32F746-216-GCC.txt
+++ b/doc/nil/reports/STM32F746-216-GCC.txt
@@ -1,44 +1,69 @@
*** ChibiOS/NIL Test Suite
***
-*** Compiled: Sep 19 2017 - 11:23:47
+*** Compiled: Dec 10 2017 - 15:34:01
*** Platform: STM32F746 Very High Performance with DSP and FPU
*** Test Board: STMicroelectronics STM32F746G-Discovery
+============================================================================
+=== Test Sequence 1 (Information)
----------------------------------------------------------------------------
---- Test Case 1.1 (Kernel Info)
---- Product: ChibiOS/NIL
---- Stable Flag: 1
---- Version String: 2.0.1
---- Major Number: 2
---- Minor Number: 0
---- Patch Number: 1
+--- Test Case 1.1 (Port Info)
+--- Architecture: ARMv7E-M
+--- Core Variant: Cortex-M7
+--- Compiler: GCC 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496]
+--- Port Info: Advanced kernel mode
+--- Natural alignment: 4
+--- Stack alignment: 8
+--- Working area alignment: 8
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 1.2 (Kernel Settings)
---- CH_CFG_NUM_THREADS: 3
---- CH_CFG_ST_RESOLUTION: 32
---- CH_CFG_ST_FREQUENCY: 5000
---- CH_CFG_ST_TIMEDELTA: 2
---- CH_CFG_USE_SEMAPHORES: 1
---- CH_CFG_USE_MUTEXES: 0
---- CH_CFG_USE_EVENTS: 1
---- CH_CFG_USE_MAILBOXES: 1
---- CH_CFG_USE_MEMCORE: 1
---- CH_CFG_USE_HEAP: 1
---- CH_CFG_USE_MEMPOOLS: 1
---- CH_DBG_STATISTICS: 0
---- CH_DBG_SYSTEM_STATE_CHECK: 1
---- CH_DBG_ENABLE_CHECKS: 1
---- CH_DBG_ENABLE_ASSERTS: 1
---- CH_DBG_ENABLE_STACK_CHECK: 1
+--- Test Case 1.2 (Kernel Info)
+--- Product: ChibiOS/NIL
+--- Stable Flag: 0
+--- Version String: 3.0.0
+--- Major Number: 3
+--- Minor Number: 0
+--- Patch Number: 0
--- Result: SUCCESS
----------------------------------------------------------------------------
+--- Test Case 1.3 (Kernel Settings)
+--- CH_CFG_NUM_THREADS: 3
+--- CH_CFG_ST_RESOLUTION: 16
+--- CH_CFG_ST_FREQUENCY: 10000
+--- CH_CFG_ST_TIMEDELTA: 2
+--- CH_CFG_USE_SEMAPHORES: 1
+--- CH_CFG_USE_MUTEXES: 0
+--- CH_CFG_USE_EVENTS: 1
+--- CH_CFG_USE_MAILBOXES: 1
+--- CH_CFG_USE_MEMCORE: 1
+--- CH_CFG_USE_HEAP: 1
+--- CH_CFG_USE_MEMPOOLS: 1
+--- CH_CFG_USE_OBJ_FIFOS: 1
+--- CH_CFG_MEMCORE_SIZE: 0
+--- CH_CFG_USE_FACTORY: 1
+--- CH_CFG_FACTORY_MAX_NAMES_LENGTH: 8
+--- CH_CFG_FACTORY_OBJECTS_REGISTRY: 1
+--- CH_CFG_FACTORY_GENERIC_BUFFERS: 1
+--- CH_CFG_FACTORY_SEMAPHORES: 1
+--- CH_CFG_FACTORY_MAILBOXES: 1
+--- CH_CFG_FACTORY_OBJ_FIFOS: 1
+--- CH_DBG_STATISTICS: 0
+--- CH_DBG_SYSTEM_STATE_CHECK: 1
+--- CH_DBG_ENABLE_CHECKS: 1
+--- CH_DBG_ENABLE_ASSERTS: 1
+--- CH_DBG_ENABLE_STACK_CHECK: 1
+--- Result: SUCCESS
+============================================================================
+=== Test Sequence 2 (Threads Functionality)
+----------------------------------------------------------------------------
--- Test Case 2.1 (System Tick Counter functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.2 (Thread Sleep functionality)
--- Result: SUCCESS
+============================================================================
+=== Test Sequence 3 (Semaphores)
----------------------------------------------------------------------------
--- Test Case 3.1 (Semaphore primitives, no state change)
--- Result: SUCCESS
@@ -48,6 +73,8 @@
----------------------------------------------------------------------------
--- Test Case 3.3 (Semaphores timeout)
--- Result: SUCCESS
+============================================================================
+=== Test Sequence 4 (Suspend/Resume and Event Flags)
----------------------------------------------------------------------------
--- Test Case 4.1 (Suspend and Resume functionality)
--- Result: SUCCESS
@@ -55,28 +82,61 @@
--- Test Case 4.2 (Events Flags functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 5.1 (Mailbox normal API, non-blocking tests)
+
+Final result: SUCCESS
+
+*** ChibiOS OS Library Test Suite
+***
+*** Compiled: Dec 10 2017 - 15:34:01
+*** Platform: STM32F746 Very High Performance with DSP and FPU
+*** Test Board: STMicroelectronics STM32F746G-Discovery
+
+============================================================================
+=== Test Sequence 1 (Mailboxes)
+----------------------------------------------------------------------------
+--- Test Case 1.1 (Mailbox normal API, non-blocking tests)
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 5.2 (Mailbox I-Class API, non-blocking tests)
+--- Test Case 1.2 (Mailbox I-Class API, non-blocking tests)
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 5.3 (Mailbox timeouts)
+--- Test Case 1.3 (Mailbox timeouts)
+--- Result: SUCCESS
+============================================================================
+=== Test Sequence 2 (Memory Pools)
+----------------------------------------------------------------------------
+--- Test Case 2.1 (Loading and emptying a memory pool)
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 6.1 (Loading and emptying a memory pool)
+--- Test Case 2.2 (Loading and emptying a guarded memory pool without waiting)
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 6.2 (Loading and emptying a guarded memory pool without waiting)
+--- Test Case 2.3 (Guarded Memory Pools timeout)
+--- Result: SUCCESS
+============================================================================
+=== Test Sequence 3 (Memory Heaps)
+----------------------------------------------------------------------------
+--- Test Case 3.1 (Allocation and fragmentation)
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 6.3 (Guarded Memory Pools timeout)
+--- Test Case 3.2 (Default Heap)
+--- Result: SUCCESS
+============================================================================
+=== Test Sequence 4 (Objects Factory)
+----------------------------------------------------------------------------
+--- Test Case 4.1 (Objects Registry)
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 7.1 (Allocation and fragmentation)
+--- Test Case 4.2 (Dynamic Buffers Factory)
--- Result: SUCCESS
----------------------------------------------------------------------------
---- Test Case 7.2 (Default Heap)
+--- Test Case 4.3 (Dynamic Semaphores Factory)
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 4.4 (Dynamic Mailboxes Factory)
+--- Result: SUCCESS
+----------------------------------------------------------------------------
+--- Test Case 4.5 (Dynamic Objects FIFOs Factory)
--- Result: SUCCESS
----------------------------------------------------------------------------
diff --git a/test/nil/configuration.xml b/test/nil/configuration.xml
index 3ed8e5892..45d5a9841 100644
--- a/test/nil/configuration.xml
+++ b/test/nil/configuration.xml
@@ -40,8 +40,6 @@
-
+
+
+ Port Info.
+
+
+ Port-related info are reported.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prints the version string.
+
+
+
+
+
+
+
+
+
+
Kernel Info.
@@ -151,19 +196,19 @@ THD_FUNCTION(test_support, arg) {
-
@@ -200,52 +245,79 @@ test_println("");]]>
-
diff --git a/test/nil/source/test/nil_test_root.c b/test/nil/source/test/nil_test_root.c
index a1590e012..22fb9f196 100644
--- a/test/nil/source/test/nil_test_root.c
+++ b/test/nil/source/test/nil_test_root.c
@@ -67,24 +67,6 @@ const testsuite_t nil_test_suite = {
/* Shared code. */
/*===========================================================================*/
-void test_print_port_info(void) {
-
-#ifdef PORT_COMPILER_NAME
- test_print("*** Compiler: ");
- test_println(PORT_COMPILER_NAME);
-#endif
- test_print("*** Architecture: ");
- test_println(PORT_ARCHITECTURE_NAME);
-#ifdef PORT_CORE_VARIANT_NAME
- test_print("*** Core Variant: ");
- test_println(PORT_CORE_VARIANT_NAME);
-#endif
-#ifdef PORT_INFO
- test_print("*** Port Info: ");
- test_println(PORT_INFO);
-#endif
-}
-
semaphore_t gsem1, gsem2;
thread_reference_t gtr1;
diff --git a/test/nil/source/test/nil_test_root.h b/test/nil/source/test/nil_test_root.h
index 1f523d5e4..967c2d477 100644
--- a/test/nil/source/test/nil_test_root.h
+++ b/test/nil/source/test/nil_test_root.h
@@ -50,8 +50,6 @@ extern "C" {
#define TEST_SUITE_NAME "ChibiOS/NIL Test Suite"
-#define TEST_REPORT_HOOK_HEADER test_print_port_info();
-
extern semaphore_t gsem1, gsem2;
extern thread_reference_t gtr1;
extern THD_WORKING_AREA(wa_test_support, 128);
diff --git a/test/nil/source/test/nil_test_sequence_001.c b/test/nil/source/test/nil_test_sequence_001.c
index c0bc22fdd..d4a2f830a 100644
--- a/test/nil/source/test/nil_test_sequence_001.c
+++ b/test/nil/source/test/nil_test_sequence_001.c
@@ -32,6 +32,7 @@
* Test Cases
* - @subpage nil_test_001_001
* - @subpage nil_test_001_002
+ * - @subpage nil_test_001_003
* .
*/
@@ -46,10 +47,10 @@
****************************************************************************/
/**
- * @page nil_test_001_001 [1.1] Kernel Info
+ * @page nil_test_001_001 [1.1] Port Info
*
* Description
- * The version numbers are reported.
+ * Port-related info are reported.
*
* Test Steps
* - [1.1.1] Prints the version string.
@@ -61,105 +62,189 @@ static void nil_test_001_001_execute(void) {
/* [1.1.1] Prints the version string.*/
test_set_step(1);
{
- test_println("--- Product: ChibiOS/NIL");
- test_print("--- Stable Flag: ");
- test_printn(CH_KERNEL_STABLE);
+#if defined(PORT_ARCHITECTURE_NAME)
+ test_print("--- Architecture: ");
+ test_println(PORT_ARCHITECTURE_NAME);
+#endif
+#if defined(PORT_CORE_VARIANT_NAME)
+ test_print("--- Core Variant: ");
+ test_println(PORT_CORE_VARIANT_NAME);
+#endif
+#if defined(PORT_COMPILER_NAME)
+ test_print("--- Compiler: ");
+ test_println(PORT_COMPILER_NAME);
+#endif
+#if defined(PORT_INFO)
+ test_print("--- Port Info: ");
+ test_println(PORT_INFO);
+#endif
+#if defined(PORT_NATURAL_ALIGN)
+ test_print("--- Natural alignment: ");
+ test_printn(PORT_NATURAL_ALIGN);
test_println("");
- test_print("--- Version String: ");
- test_println(CH_KERNEL_VERSION);
- test_print("--- Major Number: ");
- test_printn(CH_KERNEL_MAJOR);
+#endif
+#if defined(PORT_STACK_ALIGN)
+ test_print("--- Stack alignment: ");
+ test_printn(PORT_STACK_ALIGN);
test_println("");
- test_print("--- Minor Number: ");
- test_printn(CH_KERNEL_MINOR);
- test_println("");
- test_print("--- Patch Number: ");
- test_printn(CH_KERNEL_PATCH);
+#endif
+#if defined(PORT_WORKING_AREA_ALIGN)
+ test_print("--- Working area alignment: ");
+ test_printn(PORT_WORKING_AREA_ALIGN);
test_println("");
+#endif
}
}
static const testcase_t nil_test_001_001 = {
- "Kernel Info",
+ "Port Info",
NULL,
NULL,
nil_test_001_001_execute
};
/**
- * @page nil_test_001_002 [1.2] Kernel Settings
+ * @page nil_test_001_002 [1.2] Kernel Info
*
* Description
- * The static kernel settings are reported.
+ * The version numbers are reported.
*
* Test Steps
- * - [1.2.1] Prints the configuration options settings.
+ * - [1.2.1] Prints the version string.
* .
*/
static void nil_test_001_002_execute(void) {
- /* [1.2.1] Prints the configuration options settings.*/
+ /* [1.2.1] Prints the version string.*/
test_set_step(1);
{
- test_print("--- CH_CFG_NUM_THREADS: ");
- test_printn(CH_CFG_NUM_THREADS);
+ test_println("--- Product: ChibiOS/NIL");
+ test_print("--- Stable Flag: ");
+ test_printn(CH_KERNEL_STABLE);
test_println("");
- test_print("--- CH_CFG_ST_RESOLUTION: ");
- test_printn(CH_CFG_ST_RESOLUTION);
+ test_print("--- Version String: ");
+ test_println(CH_KERNEL_VERSION);
+ test_print("--- Major Number: ");
+ test_printn(CH_KERNEL_MAJOR);
test_println("");
- test_print("--- CH_CFG_ST_FREQUENCY: ");
- test_printn(CH_CFG_ST_FREQUENCY);
+ test_print("--- Minor Number: ");
+ test_printn(CH_KERNEL_MINOR);
test_println("");
- test_print("--- CH_CFG_ST_TIMEDELTA: ");
- test_printn(CH_CFG_ST_TIMEDELTA);
- test_println("");
- test_print("--- CH_CFG_USE_SEMAPHORES: ");
- test_printn(CH_CFG_USE_SEMAPHORES);
- test_println("");
- test_print("--- CH_CFG_USE_MUTEXES: ");
- test_printn(CH_CFG_USE_MUTEXES);
- test_println("");
- test_print("--- CH_CFG_USE_EVENTS: ");
- test_printn(CH_CFG_USE_EVENTS);
- test_println("");
- test_print("--- CH_CFG_USE_MAILBOXES: ");
- test_printn(CH_CFG_USE_MAILBOXES);
- test_println("");
- test_print("--- CH_CFG_USE_MEMCORE: ");
- test_printn(CH_CFG_USE_MEMCORE);
- test_println("");
- test_print("--- CH_CFG_USE_HEAP: ");
- test_printn(CH_CFG_USE_HEAP);
- test_println("");
- test_print("--- CH_CFG_USE_MEMPOOLS: ");
- test_printn(CH_CFG_USE_MEMPOOLS);
- test_println("");
- test_print("--- CH_DBG_STATISTICS: ");
- test_printn(CH_DBG_STATISTICS);
- test_println("");
- test_print("--- CH_DBG_SYSTEM_STATE_CHECK: ");
- test_printn(CH_DBG_SYSTEM_STATE_CHECK);
- test_println("");
- test_print("--- CH_DBG_ENABLE_CHECKS: ");
- test_printn(CH_DBG_ENABLE_CHECKS);
- test_println("");
- test_print("--- CH_DBG_ENABLE_ASSERTS: ");
- test_printn(CH_DBG_ENABLE_ASSERTS);
- test_println("");
- test_print("--- CH_DBG_ENABLE_STACK_CHECK: ");
- test_printn(CH_DBG_ENABLE_STACK_CHECK);
+ test_print("--- Patch Number: ");
+ test_printn(CH_KERNEL_PATCH);
test_println("");
}
}
static const testcase_t nil_test_001_002 = {
- "Kernel Settings",
+ "Kernel Info",
NULL,
NULL,
nil_test_001_002_execute
};
+/**
+ * @page nil_test_001_003 [1.3] Kernel Settings
+ *
+ * Description
+ * The static kernel settings are reported.
+ *
+ * Test Steps
+ * - [1.3.1] Prints the configuration options settings.
+ * .
+ */
+
+static void nil_test_001_003_execute(void) {
+
+ /* [1.3.1] Prints the configuration options settings.*/
+ test_set_step(1);
+ {
+ test_print("--- CH_CFG_NUM_THREADS: ");
+ test_printn(CH_CFG_NUM_THREADS);
+ test_println("");
+ test_print("--- CH_CFG_ST_RESOLUTION: ");
+ test_printn(CH_CFG_ST_RESOLUTION);
+ test_println("");
+ test_print("--- CH_CFG_ST_FREQUENCY: ");
+ test_printn(CH_CFG_ST_FREQUENCY);
+ test_println("");
+ test_print("--- CH_CFG_ST_TIMEDELTA: ");
+ test_printn(CH_CFG_ST_TIMEDELTA);
+ test_println("");
+ test_print("--- CH_CFG_USE_SEMAPHORES: ");
+ test_printn(CH_CFG_USE_SEMAPHORES);
+ test_println("");
+ test_print("--- CH_CFG_USE_MUTEXES: ");
+ test_printn(CH_CFG_USE_MUTEXES);
+ test_println("");
+ test_print("--- CH_CFG_USE_EVENTS: ");
+ test_printn(CH_CFG_USE_EVENTS);
+ test_println("");
+ test_print("--- CH_CFG_USE_MAILBOXES: ");
+ test_printn(CH_CFG_USE_MAILBOXES);
+ test_println("");
+ test_print("--- CH_CFG_USE_MEMCORE: ");
+ test_printn(CH_CFG_USE_MEMCORE);
+ test_println("");
+ test_print("--- CH_CFG_USE_HEAP: ");
+ test_printn(CH_CFG_USE_HEAP);
+ test_println("");
+ test_print("--- CH_CFG_USE_MEMPOOLS: ");
+ test_printn(CH_CFG_USE_MEMPOOLS);
+ test_println("");
+ test_print("--- CH_CFG_USE_OBJ_FIFOS: ");
+ test_printn(CH_CFG_USE_OBJ_FIFOS);
+ test_println("");
+ test_print("--- CH_CFG_MEMCORE_SIZE: ");
+ test_printn(CH_CFG_MEMCORE_SIZE);
+ test_println("");
+ test_print("--- CH_CFG_USE_FACTORY: ");
+ test_printn(CH_CFG_USE_FACTORY);
+ test_println("");
+ test_print("--- CH_CFG_FACTORY_MAX_NAMES_LENGTH: ");
+ test_printn(CH_CFG_FACTORY_MAX_NAMES_LENGTH);
+ test_println("");
+ test_print("--- CH_CFG_FACTORY_OBJECTS_REGISTRY: ");
+ test_printn(CH_CFG_FACTORY_OBJECTS_REGISTRY);
+ test_println("");
+ test_print("--- CH_CFG_FACTORY_GENERIC_BUFFERS: ");
+ test_printn(CH_CFG_FACTORY_GENERIC_BUFFERS);
+ test_println("");
+ test_print("--- CH_CFG_FACTORY_SEMAPHORES: ");
+ test_printn(CH_CFG_FACTORY_SEMAPHORES);
+ test_println("");
+ test_print("--- CH_CFG_FACTORY_MAILBOXES: ");
+ test_printn(CH_CFG_FACTORY_MAILBOXES);
+ test_println("");
+ test_print("--- CH_CFG_FACTORY_OBJ_FIFOS: ");
+ test_printn(CH_CFG_FACTORY_OBJ_FIFOS);
+ test_println("");
+ test_print("--- CH_DBG_STATISTICS: ");
+ test_printn(CH_DBG_STATISTICS);
+ test_println("");
+ test_print("--- CH_DBG_SYSTEM_STATE_CHECK: ");
+ test_printn(CH_DBG_SYSTEM_STATE_CHECK);
+ test_println("");
+ test_print("--- CH_DBG_ENABLE_CHECKS: ");
+ test_printn(CH_DBG_ENABLE_CHECKS);
+ test_println("");
+ test_print("--- CH_DBG_ENABLE_ASSERTS: ");
+ test_printn(CH_DBG_ENABLE_ASSERTS);
+ test_println("");
+ test_print("--- CH_DBG_ENABLE_STACK_CHECK: ");
+ test_printn(CH_DBG_ENABLE_STACK_CHECK);
+ test_println("");
+ }
+}
+
+static const testcase_t nil_test_001_003 = {
+ "Kernel Settings",
+ NULL,
+ NULL,
+ nil_test_001_003_execute
+};
+
/****************************************************************************
* Exported data.
****************************************************************************/
@@ -170,6 +255,7 @@ static const testcase_t nil_test_001_002 = {
const testcase_t * const nil_test_sequence_001_array[] = {
&nil_test_001_001,
&nil_test_001_002,
+ &nil_test_001_003,
NULL
};