zephyr/tests/kernel/test_pipe
Andrew Boie ef29812d51 nios2: support more global pointer scenarios
We now allow use of -mgpopt=global and -mgpopt=data. The 'global'
option is now the default instead of compiler-default local, expanding
global pointer usage to all small data in the system.

For systems where all RAM is less than 64K, the 'data' option may be
appropriate.

Some fixes had to be made to the system in order to get around some
issues:

* prep_c.c no longer uses fake linker variables to figure out the size
of data or BSS, as these gave the linker fits as it tried to compute
relative addresses to them.

* _k_task_ptr_idle is create by sysgen and placed in a special section.
Any small data in a special section needs to be declared extern
with __attribute__((section)) else the compiler will assume it's in
.sdata.

* same situation with extern references to k_pipe_t (fixed pipe_priv
test)

For legacy applications being ported to Nios II which do things that
freak out global pointer calculation, it can be disabled entirely.

Change-Id: I5eb86ee8aefb8e2fac49c5cdd104ee19cea23f6f
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-07-06 18:14:31 +00:00
..
src nios2: support more global pointer scenarios 2016-07-06 18:14:31 +00:00
Makefile tests: remove duplicate kernel configs and usage of ARCH 2016-05-23 16:46:08 +00:00
README.txt tests: move kernel tests to tests/ 2016-02-11 18:06:33 +00:00
prj.conf tests: remove duplicate kernel configs and usage of ARCH 2016-05-23 16:46:08 +00:00
prj.mdef tests: move kernel tests to tests/ 2016-02-11 18:06:33 +00:00
testcase.ini tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00

README.txt

Title: Pipe APIs

Description:

This test verifies that the microkernel pipe APIs operate as expected.

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

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 pipe tests
===================================================================
Testing task_pipe_put(TICKS_NONE) ...
Testing task_pipe_put(TICKS_UNLIMITED) ...
Testing task_pipe_put(timeout) ...
Testing task_pipe_get(TICKS_NONE) ...
Testing task_pipe_get(TICKS_UNLIMITED) ...
Testing task_pipe_get(timeout) ...
===================================================================
PROJECT EXECUTION SUCCESSFUL