New Makefile Topic is solved

ChibiOS public support forum for topics related to the Atmel AVR family of micro-controllers.

Moderators: utzig, tfAteba

User avatar
wurstnase
Posts: 121
Joined: Tue Oct 17, 2017 2:24 pm
Has thanked: 43 times
Been thanked: 30 times
Contact:

Re: New Makefile

Postby wurstnase » Thu Oct 19, 2017 9:18 pm

Wow. Pretty fast finding!

Compiling works.

without '-flto'
text data bss dec hex filename
32196 5176 1758 39130 98da build/ch.elf

with '-flto'
text data bss dec hex filename
31050 5130 1758 37938 9432 build/ch.elf
\o/ Nico

User avatar
tfAteba
Posts: 526
Joined: Fri Oct 16, 2015 11:03 pm
Location: Chartres, France
Has thanked: 80 times
Been thanked: 46 times

Re: New Makefile

Postby tfAteba » Thu Oct 19, 2017 10:57 pm

Hi Nico,

Thanks for your feedback and for finding this bug.

I will open a bug tomorrow in sourceforge bug tracker, it is just for me so that I do not forget about this. It will help me to remember to fix this in the future.

Thank you
regards,

Theo.

User avatar
wurstnase
Posts: 121
Joined: Tue Oct 17, 2017 2:24 pm
Has thanked: 43 times
Been thanked: 30 times
Contact:

Re: New Makefile

Postby wurstnase » Fri Oct 20, 2017 1:59 pm

Just test the RT-demo.

Do you have also an idea what here happened?

Code: Select all

--- Test Case 11.1 (Allocation and fragmentation)
--- Result: FAILURE (#4 [] "missing free block")


Without -flto it works fine.
\o/ Nico

User avatar
tfAteba
Posts: 526
Joined: Fri Oct 16, 2015 11:03 pm
Location: Chartres, France
Has thanked: 80 times
Been thanked: 46 times

Re: New Makefile

Postby tfAteba » Fri Oct 20, 2017 9:17 pm

Hi Nico,

Sorry for the late response ;) .

wurstnase wrote:
Do you have also an idea what here happened?


No sorry, I do not understand what happen just by seeing the message. But I will try to analyses and see if I understand the problem. Otherwise I think Giovanni or another people have the solution :).

I did not have this error because I was only run the test suite without your compilation option.

I will give a feedback if I find some things.

Thanks.
regards,

Theo.

User avatar
tfAteba
Posts: 526
Joined: Fri Oct 16, 2015 11:03 pm
Location: Chartres, France
Has thanked: 80 times
Been thanked: 46 times

Re: New Makefile

Postby tfAteba » Fri Oct 20, 2017 11:11 pm

After few time of investigation, in my side, with the latest safe revision, the test suite fails with and without the -flto compilation option.

But to see the difference between a working and a non working test suite, I have made a comparison with the stable release 17.6.2.

For the 17.6.2 the test bench works without compilation option. That help me to see that the test bench succeed but stop at step 10.
So traditionally, the following API was not tested:
    - Memory core management API.
    - Memory heap allocator API.
    - Memory pool allocator API.

So to reproduce the same test with my revision -r10831, I have disable the activation of those API in chconf.h file. In that case, the test bench work all compilation options.

Now I then want to know if those API are compatible with AVR architecture, because there was initially disable.

Are you sure that you succeed to run sequence 11 on your board? Can you share your configuration and your entire test bench result please?
regards,

Theo.

User avatar
Giovanni
Site Admin
Posts: 12964
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 735 times
Been thanked: 610 times
Contact:

Re: New Makefile

Postby Giovanni » Sat Oct 21, 2017 4:49 pm

Hi,

Which assertion is failing in that test? inspect the condition, that could give an hint about the problem.

Giovanni

User avatar
tfAteba
Posts: 526
Joined: Fri Oct 16, 2015 11:03 pm
Location: Chartres, France
Has thanked: 80 times
Been thanked: 46 times

Re: New Makefile

Postby tfAteba » Sat Oct 21, 2017 8:36 pm

Hi Giovanni,

The assertion that fail is the "Allocation and Fragmentation".

I will then inspect the condition, thanks for the hint.

Here is a copy of the test suite output:

Code: Select all

*** ChibiOS/RT Test Suite
***
*** Compiled:     Oct 21 2017 - 21:12:07
*** Platform:     AVR
*** Test Board:   Arduino Mega
*** Compiler:     GCC 4.9.2
*** Architecture: MegaAVR
*** Port Info:    None

----------------------------------------------------------------------------
--- Test Case 1.1 (Kernel Info)

*** ChibiOS/RT Test Suite
***
*** Compiled:     Oct 21 2017 - 21:12:07
*** Platform:     AVR
*** Test Board:   Arduino Mega
*** Compiler:     GCC 4.9.2
*** Architecture: MegaAVR
*** Port Info:    None

----------------------------------------------------------------------------
--- Test Case 1.1 (Kernel Info)
--- Product:                   ChibiOS/RT
--- Stable Flag:               0
--- Version String:            5.0.0
--- Major Number:              5
--- Minor Number:              0
--- Patch Number:              0
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 1.2 (Kernel Settings)
--- CH_CFG_ST_RESOLUTION:      16
--- CH_CFG_ST_FREQUENCY:       15624
--- CH_CFG_ST_TIMEDELTA:       2
--- CH_CFG_TIME_QUANTUM:       0
--- CH_CFG_MEMCORE_SIZE:       128
--- CH_CFG_NO_IDLE_THREAD:     0
--- CH_CFG_OPTIMIZE_SPEED:     1
--- CH_CFG_USE_TM:             0
--- CH_CFG_USE_REGISTRY:       1
--- CH_CFG_USE_WAITEXIT:       1
--- CH_CFG_USE_SEMAPHORES:     1
--- CH_CFG_USE_SEMAPHORES_PRI: 0
--- CH_CFG_USE_MUTEXES:        1
--- CH_CFG_USE_MUTEXES_RECURS: 0
--- CH_CFG_USE_CONDVARS:       1
--- CH_CFG_USE_CONDVARS_TIMEO: 1
--- CH_CFG_USE_EVENTS:         1
--- CH_CFG_USE_EVENTS_TIMEOUT: 1
--- CH_CFG_USE_MESSAGES:       1
--- CH_CFG_USE_MESSAGES_PRI:   0
--- CH_CFG_USE_MAILBOXES:      1
--- CH_CFG_USE_MEMCORE:        1
--- CH_CFG_USE_HEAP:           1
--- CH_CFG_USE_MEMPOOLS:       1
--- CH_CFG_USE_DYNAMIC:        0
--- CH_DBG_STATISTICS:         0
--- CH_DBG_SYSTEM_STATE_CHECK: 0
--- CH_DBG_ENABLE_CHECKS:      0
--- CH_DBG_ENABLE_ASSERTS:     0
--- CH_DBG_TRACE_MASK:         255
--- CH_DBG_TRACE_BUFFER_SIZE:  128
--- CH_DBG_ENABLE_STACK_CHECK: 0
--- CH_DBG_FILL_THREADS:       0
--- CH_DBG_THREADS_PROFILING:  0
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.1 (System integrity functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.2 (Critical zones functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.3 (Interrupts handling functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.4 (System Tick Counter functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.1 (Thread Sleep functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.2 (Ready List functionality, threads priority order)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.3 (Priority change test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.4 (Priority change test with Priority Inheritance)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 4.1 (Suspend and Resume functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.1 (Semaphore primitives, no state change)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.2 (Semaphore enqueuing test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.3 (Semaphore timeout test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.4 (Testing chSemAddCounterI() functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.5 (Testing chSemWaitSignal() functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.6 (Testing Binary Semaphores special case)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.1 (Priority enqueuing test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.2 (Priority return verification)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.3 (Repeated locks, non recursive scenario)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.4 (Condition Variable signal test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.5 (Condition Variable broadcast test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.6 (Condition Variable priority boost test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 7.1 (Messages Server loop)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.1 (Events registration)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.2 (Event Flags dispatching)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.3 (Events Flags wait using chEvtWaitOne())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.4 (Events Flags wait using chEvtWaitAny())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.5 (Events Flags wait using chEvtWaitAll())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.6 (Events Flags wait timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.7 (Broadcasting using chEvtBroadcast())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.1 (Mailbox normal API, non-blocking tests)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.2 (Mailbox I-Class API, non-blocking tests)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.3 (Mailbox timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.1 (Loading and emptying a memory pool)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.2 (Loading and emptying a guarded memory pool without waiting)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.3 (Guarded Memory Pools timeout)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Allocation and fragmentation)
--- Result: FAILURE (#4 [] "missing free block")
----------------------------------------------------------------------------
--- Test Case 11.2 (Default Heap)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.1 (Messages performance #1)
--- Score : 33751 msgs/S, 67502 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.2 (Messages performance #2)
--- Score : 25971 msgs/S, 51942 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.3 (Messages performance #3)
--- Score : 25971 msgs/S, 51942 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.4 (Context Switch performance)
--- Score : 92144 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.5 (Threads performance, full cycle)
--- Score : 20912 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.6 (Threads performance, create/exit only)
--- Score : 27969 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.7 (Mass reschedule performance)
--- Score : 7952 reschedules/S, 47712 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.8 (Round-Robin voluntary reschedule)
--- Score : 68300 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.9 (Virtual Timers set/reset performance)
--- Score : 69348 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.10 (Semaphores wait/signal performance)
--- Score : 243320 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.11 (Mutexes lock/unlock performance)
--- Score : 123300 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.12 (RAM Footprint)
--- System: 51 bytes
--- Thread: 28 bytes
--- Timer : 10 bytes
--- Semaph: 5 bytes
--- Mutex : 8 bytes
--- CondV.: 4 bytes
--- EventS: 2 bytes
--- EventL: 7 bytes
--- MailB.: 19 bytes
--- Result: SUCCESS
----------------------------------------------------------------------------

Final result: FAILURE
regards,

Theo.

User avatar
wurstnase
Posts: 121
Joined: Tue Oct 17, 2017 2:24 pm
Has thanked: 43 times
Been thanked: 30 times
Contact:

Re: New Makefile

Postby wurstnase » Sat Oct 21, 2017 9:01 pm

Hi all,

I'm at 10831. 10831 and the change for flto are now giving the same output.
If you need anything else, please let me know.

10831:

Code: Select all

*** ChibiOS/RT Test Suite
***
*** Compiled:     Oct 21 2017 - 21:50:21
*** Platform:     AVR
*** Test Board:   Arduino Mega
*** Compiler:     GCC 5.4.0
*** Architecture: MegaAVR
*** Port Info:    None

----------------------------------------------------------------------------
--- Test Case 1.1 (Kernel Info)
--- Product:                   ChibiOS/RT
--- Stable Flag:               0
--- Version String:            5.0.0
--- Major Number:              5
--- Minor Number:              0
--- Patch Number:              0
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 1.2 (Kernel Settings)
--- CH_CFG_ST_RESOLUTION:      16
--- CH_CFG_ST_FREQUENCY:       15624
--- CH_CFG_ST_TIMEDELTA:       2
--- CH_CFG_TIME_QUANTUM:       0
--- CH_CFG_MEMCORE_SIZE:       128
--- CH_CFG_NO_IDLE_THREAD:     0
--- CH_CFG_OPTIMIZE_SPEED:     1
--- CH_CFG_USE_TM:             0
--- CH_CFG_USE_REGISTRY:       1
--- CH_CFG_USE_WAITEXIT:       1
--- CH_CFG_USE_SEMAPHORES:     1
--- CH_CFG_USE_SEMAPHORES_PRI: 0
--- CH_CFG_USE_MUTEXES:        1
--- CH_CFG_USE_MUTEXES_RECURS: 0
--- CH_CFG_USE_CONDVARS:       1
--- CH_CFG_USE_CONDVARS_TIMEO: 1
--- CH_CFG_USE_EVENTS:         1
--- CH_CFG_USE_EVENTS_TIMEOUT: 1
--- CH_CFG_USE_MESSAGES:       1
--- CH_CFG_USE_MESSAGES_PRI:   0
--- CH_CFG_USE_MAILBOXES:      1
--- CH_CFG_USE_MEMCORE:        1
--- CH_CFG_USE_HEAP:           1
--- CH_CFG_USE_MEMPOOLS:       1
--- CH_CFG_USE_DYNAMIC:        0
--- CH_DBG_STATISTICS:         0
--- CH_DBG_SYSTEM_STATE_CHECK: 0
--- CH_DBG_ENABLE_CHECKS:      0
--- CH_DBG_ENABLE_ASSERTS:     0
--- CH_DBG_TRACE_MASK:         255
--- CH_DBG_TRACE_BUFFER_SIZE:  128
--- CH_DBG_ENABLE_STACK_CHECK: 0
--- CH_DBG_FILL_THREADS:       0
--- CH_DBG_THREADS_PROFILING:  0
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.1 (System integrity functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.2 (Critical zones functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.3 (Interrupts handling functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.4 (System Tick Counter functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.1 (Thread Sleep functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.2 (Ready List functionality, threads priority order)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.3 (Priority change test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.4 (Priority change test with Priority Inheritance)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 4.1 (Suspend and Resume functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.1 (Semaphore primitives, no state change)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.2 (Semaphore enqueuing test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.3 (Semaphore timeout test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.4 (Testing chSemAddCounterI() functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.5 (Testing chSemWaitSignal() functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.6 (Testing Binary Semaphores special case)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.1 (Priority enqueuing test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.2 (Priority return verification)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.3 (Repeated locks, non recursive scenario)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.4 (Condition Variable signal test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.5 (Condition Variable broadcast test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.6 (Condition Variable priority boost test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 7.1 (Messages Server loop)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.1 (Events registration)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.2 (Event Flags dispatching)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.3 (Events Flags wait using chEvtWaitOne())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.4 (Events Flags wait using chEvtWaitAny())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.5 (Events Flags wait using chEvtWaitAll())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.6 (Events Flags wait timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.7 (Broadcasting using chEvtBroadcast())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.1 (Mailbox normal API, non-blocking tests)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.2 (Mailbox I-Class API, non-blocking tests)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.3 (Mailbox timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.1 (Loading and emptying a memory pool)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.2 (Loading and emptying a guarded memory pool without waiting)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.3 (Guarded Memory Pools timeout)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Allocation and fragmentation)
--- Result: FAILURE (#4 [] "missing free block")
----------------------------------------------------------------------------
--- Test Case 11.2 (Default Heap)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.1 (Messages performance #1)
--- Score : 32850 msgs/S, 65700 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.2 (Messages performance #2)
--- Score : 25353 msgs/S, 50706 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.3 (Messages performance #3)
--- Score : 25353 msgs/S, 50706 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.4 (Context Switch performance)
--- Score : 91616 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.5 (Threads performance, full cycle)
--- Score : 20831 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.6 (Threads performance, create/exit only)
--- Score : 27823 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.7 (Mass reschedule performance)
--- Score : 7984 reschedules/S, 47904 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.8 (Round-Robin voluntary reschedule)
--- Score : 62680 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.9 (Virtual Timers set/reset performance)
--- Score : 61668 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.10 (Semaphores wait/signal performance)
-----
--- Test Case 12.11 (Mutexes lock/unlock19612 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.12 (RAM Footprint)
--- System: 51 bytes
--- Thread: 28 bytes
--- Timer : 10 bytes
--- Semaph: 5 bytes
--- Mutex : 8 bytes
--- CondV.: 4 bytes
--- EventS: 2 bytes
--- EventL: 7 bytes
--- MailB.: 19 bytes
--- Result: SUCCESS
----------------------------------------------------------------------------

Final result: FAILURE


flto:

Code: Select all

*** ChibiOS/RT Test Suite
***
*** Compiled:     Oct 21 2017 - 21:54:47
*** Platform:     AVR
*** Test Board:   Arduino Mega
*** Compiler:     GCC 5.4.0
*** Architecture: MegaAVR
*** Port Info:    None

----------------------------------------------------------------------------
--- Test Case 1.1 (Kernel Info)
--- Product:                   ChibiOS/RT
--- Stable Flag:               0
--- Version String:            5.0.0
--- Major Number:              5
--- Minor Number:              0
--- Patch Number:              0
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 1.2 (Kernel Settings)
--- CH_CFG_ST_RESOLUTION:      16
--- CH_CFG_ST_FREQUENCY:       15624
--- CH_CFG_ST_TIMEDELTA:       2
--- CH_CFG_TIME_QUANTUM:       0
--- CH_CFG_MEMCORE_SIZE:       128
--- CH_CFG_NO_IDLE_THREAD:     0
--- CH_CFG_OPTIMIZE_SPEED:     1
--- CH_CFG_USE_TM:             0
--- CH_CFG_USE_REGISTRY:       1
--- CH_CFG_USE_WAITEXIT:       1
--- CH_CFG_USE_SEMAPHORES:     1
--- CH_CFG_USE_SEMAPHORES_PRI: 0
--- CH_CFG_USE_MUTEXES:        1
--- CH_CFG_USE_MUTEXES_RECURS: 0
--- CH_CFG_USE_CONDVARS:       1
--- CH_CFG_USE_CONDVARS_TIMEO: 1
--- CH_CFG_USE_EVENTS:         1
--- CH_CFG_USE_EVENTS_TIMEOUT: 1
--- CH_CFG_USE_MESSAGES:       1
--- CH_CFG_USE_MESSAGES_PRI:   0
--- CH_CFG_USE_MAILBOXES:      1
--- CH_CFG_USE_MEMCORE:        1
--- CH_CFG_USE_HEAP:           1
--- CH_CFG_USE_MEMPOOLS:       1
--- CH_CFG_USE_DYNAMIC:        0
--- CH_DBG_STATISTICS:         0
--- CH_DBG_SYSTEM_STATE_CHECK: 0
--- CH_DBG_ENABLE_CHECKS:      0
--- CH_DBG_ENABLE_ASSERTS:     0
--- CH_DBG_TRACE_MASK:         255
--- CH_DBG_TRACE_BUFFER_SIZE:  128
--- CH_DBG_ENABLE_STACK_CHECK: 0
--- CH_DBG_FILL_THREADS:       0
--- CH_DBG_THREADS_PROFILING:  0
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.1 (System integrity functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.2 (Critical zones functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.3 (Interrupts handling functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.4 (System Tick Counter functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.1 (Thread Sleep functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.2 (Ready List functionality, threads priority order)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.3 (Priority change test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.4 (Priority change test with Priority Inheritance)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 4.1 (Suspend and Resume functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.1 (Semaphore primitives, no state change)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.2 (Semaphore enqueuing test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.3 (Semaphore timeout test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.4 (Testing chSemAddCounterI() functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.5 (Testing chSemWaitSignal() functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.6 (Testing Binary Semaphores special case)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.1 (Priority enqueuing test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.2 (Priority return verification)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.3 (Repeated locks, non recursive scenario)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.4 (Condition Variable signal test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.5 (Condition Variable broadcast test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.6 (Condition Variable priority boost test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 7.1 (Messages Server loop)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.1 (Events registration)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.2 (Event Flags dispatching)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.3 (Events Flags wait using chEvtWaitOne())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.4 (Events Flags wait using chEvtWaitAny())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.5 (Events Flags wait using chEvtWaitAll())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.6 (Events Flags wait timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.7 (Broadcasting using chEvtBroadcast())
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.1 (Mailbox normal API, non-blocking tests)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.2 (Mailbox I-Class API, non-blocking tests)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.3 (Mailbox timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.1 (Loading and emptying a memory pool)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.2 (Loading and emptying a guarded memory pool without waiting)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.3 (Guarded Memory Pools timeout)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Allocation and fragmentation)
--- Result: FAILURE (#4 [] "missing free block")
----------------------------------------------------------------------------
--- Test Case 11.2 (Default Heap)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.1 (Messages performance #1)
--- Score : 33751 msgs/S, 67502 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.2 (Messages performance #2)
--- Score : 25971 msgs/S, 51942 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.3 (Messages performance #3)
--- Score : 25971 msgs/S, 51942 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.4 (Context Switch performance)
--- Score : 92144 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.5 (Threads performance, full cycle)
--- Score : 20912 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.6 (Threads performance, create/exit only)
--- Score : 27969 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.7 (Mass reschedule performance)
--- Score : 7901 reschedules/S, 47406 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.8 (Round-Robin voluntary reschedule)
--- Score : 68300 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.9 (Virtual Timers set/reset performance)
--- Score : 69956 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.10 (Semaphores wait/signal performance)
--- Score : 243320 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.11 (Mutexes lock/unlock performance)
--- Score : 121428 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 12.12 (RAM Footprint)
--- System: 51 bytes
--- Thread: 28 bytes
--- Timer : 10 bytes
--- Semaph: 5 bytes
--- Mutex : 8 bytes
--- CondV.: 4 bytes
--- EventS: 2 bytes
--- EventL: 7 bytes
--- MailB.: 19 bytes
--- Result: SUCCESS
----------------------------------------------------------------------------

Final result: FAILURE

----------------------------------------------------------------------------
\o/ Nico

User avatar
Giovanni
Site Admin
Posts: 12964
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 735 times
Been thanked: 610 times
Contact:

Re: New Makefile

Postby Giovanni » Sat Oct 21, 2017 9:27 pm

It is very possible that is the test case to be at fault, I designed it with the ARM implementation in mind (8 bytes block header), never tested it on AVR (4 bytes block header).

Which is the last version where the test case does not fail?

Giovanni

User avatar
tfAteba
Posts: 526
Joined: Fri Oct 16, 2015 11:03 pm
Location: Chartres, France
Has thanked: 80 times
Been thanked: 46 times

Re: New Makefile

Postby tfAteba » Sat Oct 21, 2017 9:52 pm

Thanks Nico for your output test.

Giovanni, It is hard to said which revision runs the test case successfully. I will try to see if there is a revision that runs without any error.
But I sow that in the 17.6.2, the demo was configure to run test sequence 1 to 10 so I don't know if even in old revision of the project, the test sequence 11 can run successfully.
regards,

Theo.


Return to “AVR Support”

Who is online

Users browsing this forum: No registered users and 1 guest