This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Cortex-M3 kernel failing certain kernel tests.
- From: Grant Edwards <grant dot b dot edwards at gmail dot com>
- To: ecos-discuss at ecos dot sourceware dot org
- Date: Thu, 19 Sep 2013 19:29:39 +0000 (UTC)
- Subject: Re: Cortex-M3 kernel failing certain kernel tests.
- Authentication-results: sourceware.org; auth=none
- References: <l1cnbm$2q7$1 at ger dot gmane dot org>
On 2013-09-18, Grant Edwards <grant.b.edwards@gmail.com> wrote:
> I'm testing an eCos port to an NXP Cortex-M3 part (very similar to the
> existing LPC17xx port), and I'm stuck with some failing kernel tests:
>
> mutex3
> kmutex3
> stress_threads
> dhrystone
[...]
> These tests are run using a very minimal build with the mlqueue
> scheduler (no io device drivers, no network, no file support, no
> timeslicing).
It turns out that stress_threads and dhrystone both require "printf"
stdio support to work.
Unfortunately, the CDL for the kernel tests doesn't seem to catch this
missing dependancy. They both compile and link fine, but end up
calling cyg_io_write() with a NULL io handle. After adding a couple
#define's to make them use diag_printf and diag_sprintf,
stress_threads and dhrystone both pass.
Even though it passes, I think there's still a problem with the
stress_threads test. It prints out a series of state dumps with
messages claiming they're one minute intervals, but they're only a few
seconds. I'm guessing that stress_threads contains a hidden
assumption that the clock tick is 10ms and mine is actually 1ms.
The mutex3 and kmutex3 tests still both fail the same as they did
before...
> * mutex3 and kmutex3 both fail test number 24 and then hang:
>
> ----- [24] New Cycle: 0x60, Threads 1a inactive, 2a run late, 3a run late -----
> INFO:<Thread 1 running>
> INFO:<Thread 2 running>
> INFO:<Extra thread 2a running>
> INFO:<Thread 3 running>
> INFO:<Extra thread 3a running>
> INFO:<Thread 1 exit>
> INFO:<Checking priority scheme: dynamic-default-inherit>
> INFO:<Extra thread 2a resumed>
> INFO:<Extra thread 2a locked>
> INFO:<Extra thread 2a unlocked>
> INFO:<Extra thread 2a exiting>
> INFO:<Thread 3 exit>
> INFO:<Extra thread 3a resumed>
> INFO:<Extra thread 3a locked>
> INFO:<EFAIL:<Extra thread did not run> Line: 346, File: [...]kernel/current/tests/mutex3.cxx
> <hang>
>
> ----- [24] New Cycle: 0x60, Threads 1a inactive, 2a run late, 3a run late -----
> INFO:<Thread 1 running>
> INFO:<Thread 2 running>
> INFO:<Extra thread 2a running>
> INFO:<Thread 3 running>
> INFO:<Extra thread 3a running>
> INFO:<Thread 1 exit>
> INFO:<Checking priority scheme: dynamic-default-inherit>
> INFO:<Extra thread 2a resumed>
> INFO:<Extra thread 2a locked>
> INFO:<Extra thread 2a unlocked>
> INFO:<Extra thread 2a exiting>
> INFO:<Thread 3 exit>
> INFO:<Extra thread 3a resumed>
> INFO:<Extra thread 3a locked>
> INFO:<EFAIL:<Extra thread did not run> Line: 353, File: [...]kernel/current/tests/kmutex3.c
> <hang>
--
Grant Edwards grant.b.edwards Yow! I'm GLAD I
at remembered to XEROX all
gmail.com my UNDERSHIRTS!!
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss