zephyr/samples/microkernel/test/test_task_irq
Peter Mitsis f863d66dd8 semgroup: Simplify task_sem_group_take() API family
Changes the semaphore API so that the timeout parameter must be specified
when invoking task_sem_group_take() thereby obsoleting the following APIs:
	task_sem_group_take_wait()
	task_sem_group_take_wait_timeout()
	_task_sem_group_take()

Change-Id: I64e3f4c9f1e74a86b49d4a0e55b82ecee7733220
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:25:05 -05:00
..
src semgroup: Simplify task_sem_group_take() API family 2016-02-05 20:25:05 -05:00
Makefile qemu: Creation of QEMU specific platforms 2016-02-05 20:24:56 -05:00
prj_arm.conf samples: remove explicit enabling of SW_ISR_TABLE/DYNAMIC 2016-02-05 20:13:45 -05:00
prj_x86.conf First commit 2015-04-10 16:44:37 -07:00
prj.mdef Rename VPF files to use MDEF file extension 2016-02-05 20:14:15 -05:00
README.txt Update Title in sample project README.txt files 2016-02-05 20:15:21 -05:00
testcase.ini initial commit for next-gen sanity checks 2016-02-05 20:14:42 -05:00

Title: Task Level Interrupt Handling

Description:

This test exercises the APIs of the task level interrupt handling feature.

--------------------------------------------------------------------------------

Building and Running Project:

This microkernel project outputs to the console.  It can be built and executed
on QEMU as follows:

    make qemu

--------------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    make clean          # discard results of previous builds
                        # but keep existing configuration info
or
    make pristine       # discard results of previous builds
                        # and restore pre-defined configuration info

--------------------------------------------------------------------------------

Sample Output:

Starting task level interrupt handling tests
===================================================================
IRQ object 0 using IRQ8 allocated
IRQ object 1 using IRQ14 allocated

IRQ object 2 using IRQ32 allocated
IRQ object 3 using IRQ34 allocated

Generating interrupts for all allocated IRQ objects...
Received event for IRQ object 0
Received event for IRQ object 1
Received event for IRQ object 2
Received event for IRQ object 3

Attempt to allocate an IRQ object that
is already allocated by another task...
Re-allocation of IRQ object 3 prevented

Attempt to allocate an IRQ that
is already allocated by another task...
Re-allocation of IRQ34 prevented

Attempt to free an IRQ object...
IRQ object 2 freed
===================================================================
PROJECT EXECUTION SUCCESSFUL