The TI Bluetooth low energy software solution consists of the following major parts: the foundation is TI’s Real Time Operating System (RTOS). It provides a threaded environment with full power management. The Operating System Kernel resides in ROM. A set of peripheral drivers and a low layer driver library is also provided. This provides an excellent starting point for development. The Bluetooth low energy protocol stack is provided as a pre-qualified library component. The lower level Bluetooth Low Energy Radio Firmware and part of the controller runs out of ROM, and is fully patchable. The Application and Profile Services are written on top of the Bluetooth Low Energy protocol stack. They are available as source code and can be used and/or modified by the developer. TI has a comprehensive list of pre-certified Bluetooth Low Energy profiles. A wide range of application software starting points is available. The supported Integrated Development Environments are TI’s own low cost Code Composer Studio and IAR Embedded Environment for ARM. The ARM architecture also enables other open source compilers as well, such as GCC. To save code space in FLASH, the RTOS Kernel and parts of the Bluetooth Low Energy controller code reside in ROM. For convenience, over-the-air download has been enhanced to support partial update of the FLASH image. This means that the application code can be updated over-the-air independently of the stack.