dev/portal: add checks on oflag

It does not make sense to open portal without a flag. One should open a
portal with RT_DEVICE_OFLAG_RDWR in most cases.
dev/portal: fix bug in portal callback forwarding

When forwarding rx/tx callback from the underlaying device(pipe), the
"dev" argument should be the portal. So the portal callback could think
itself as called.
Merge pull request #146 from grissiom/rtt-next

Some fix for the portal device
simulator: fix SDL initialization under Linux

rt_hw_sdl_start should wait untill the rtgui_graphic_set_device is
called int the sdl_loop. Use pthread_cond_wait to achieve this in Linux.
simulator: init SDL after rt_components_init

SDL may use DFS to open files. It should be run after
rt_components_init.
finsh: use alias in the variable definition

With this patch, one could define two alias for the same function like:

    FINSH_FUNCTION_EXPORT_ALIAS(rt_hw_cpu_reset, reboot, reboot the cpu);
    FINSH_FUNCTION_EXPORT_ALIAS(rt_hw_cpu_reset, __cmd_reboot, reboot the cpu);

Suitable for being used in MSH/Finsh.
Merge pull request #150 from grissiom/simulator-linux

Simulator linux
Merge pull request #151 from grissiom/finsh

finsh: use alias in the variable definition
log_trace: cleanup
Merge pull request #152 from grissiom/log-trace

log_trace: cleanup
stm32f10x: fix the rtgui initialization

The rtgui_system_server_init prototype is wrong. And if we use
RT_USING_COMPONENTS_INIT, there is no need to call
rtgui_system_server_init again.
Merge pull request #153 from grissiom/stm32f10x

stm32f10x: fix the rtgui initialization
sim/posix: move rt_hw_context_switch_interrupt after it's definition

This fix a compile error in Clang.
Merge pull request #154 from grissiom/simulator

sim/posix: move rt_hw_context_switch_interrupt after it's definition
simulator: move SDL setting staff into drivers/SConstruct

This could not only make a cleaner SConstruct, but could also benefit
RTGUI building.
simulator: get CROSS_TOOL and EXEC_PATH from env

Simulator get it's way to Travis CI ready.
Scons: run `clang -Wall -fsyntax-only` in clang-analyze

The `clang -fsyntax-only` will give us additional warning messages in
the console.
Scons: add a custom tool to do clang static analyze

Bsps can use the clang analyzer as a tool:

    env = Environment(toolpath=[os.path.join(RTT_ROOT, 'tools',
                      'tools')], tools = ['clang-analyze'])

When building the project, the static analyzer will be called to check
all the C code. The warnings are print to stderr.
simulator: add clang-analyze tool support

When CROSS_TOOL or 'RTT_CC' env is setted to 'clang-analyze', it will
use Clang to check the codes.
travis: auto build the simulator

Building is only the first step. Correctness is what we need. There are
already many GCC builds for other bsp so GCC building for simulator is
not important. So I use clang-analyze to check all the source codes in
simulator project. Hope it will help us.