Split shell function and clib.
Remove some function let reorganization easily.
Remove unused function.
shell: Recover command function.
Place process command in shell.c. Split it from serial_test_task avoid
confusing.
clib: Add fio_printf function.
fix: fio_printf unhandle terminated character.
shell: Replace fio_printf instead write make it more intuitive.
ps: Remove useless variable.
gdb: Use gdbtui instead of gdb. And fix error redirection.
Update .gitignore. Ignore gdb.txt.
host: Add semihosting function.
Update .gitignore. Ignore log directory.
make: Add a LOGDIR which place syslog file and need to be cleaned.
qemu: Add semihost flag.
Add logger to record TCB.
profiling: Add a profiler used to analyze syslog file.
make: Add profile target.
profiler: Modify offset due to different type size between host and target.
fix: error reference for stack.
profile: Add abi number in profile log.