## Quick Start
### Getting the toolchain
-Get the build in binaries and libraries, [gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar](https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update)
-Untar the gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar and export the path like
+Get the build in binaries and libraries, [gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2](https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update)
+Untar the gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2 and export the path like
```bash
-tar xvf gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar
+tar xvjf gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
export PATH=<Your Toolchain PATH>:$PATH
```
## APPENDIX
### Kconfig-frontends Installation
-1. The *bison* (or byacc if supported), *flex*, *gperf* and *libncurses5-dev* packages should be installed:
+1. The *bison* (or byacc if supported), *flex*, *gperf*, *libncurses5-dev*, *zlib1g-dev*, *gettext* and *g++* packages should be installed:
```bash
-sudo apt-get install bison flex gperf libncurses5-dev
+sudo apt-get install bison flex gperf libncurses5-dev zlib1g-dev gettext g++
```
2. Download and untar *kconfig-frontends* package.
- STLport http://www.stlport.org/
- uClibc++ http://cxx.uclibc.org/
- uSTL http://ustl.sourceforge.net/
-
-There is a version of uClibc++ that is customized for TinyAra that can
-be found here: misc/uClibc++. See misc/uClibc++ for installation
-instructions.
-
-At present, only the following are supported here:
-
- - void *operator new(std::size_t nbytes);
- - void operator delete(void* ptr);
- - void operator delete[](void *ptr);
- - void __cxa_pure_virtual(void);
- - int __aeabi_atexit(void* object, void (*destroyer)(void*), void *dso_handle);
- - int __cxa_atexit(__cxa_exitfunc_t func, FAR void *arg, FAR void *dso_handle);
-
-operator new
-------------
-
- This operator should take a type of size_t. But size_t has an unknown underlying
- type. In the TinyAra sys/types.h header file, size_t is typed as uint32_t
- (which is determined by architecture-specific logic). But the C++
- compiler may believe that size_t is of a different type resulting in
- compilation errors in the operator. Using the underlying integer type
- instead of size_t seems to resolve the compilation issues. Need to
- REVISIT this.
-
- Once some C++ compilers, this will cause an error:
-
- Problem: "'operator new' takes size_t ('...') as first parameter"
- Workaround: Add -fpermissive to the compilation flags