FreeRange provides engineering and consulting services to OEMs seeking to benefit from our expertise in the areas of connectivity and communications technologies. We work closely with customers to understand project requirements and define mutually agreeable work schedules and deliverables. Ultimately, we enable customers to outsource tasks that are not related to their core competency and get their products to market quickly and cost effectively.
We can develop and integrate:
Firmware
Device drivers
Embedded operating systems (board support packages)
Firmware
FreeRange has expertise in developing software for a variety of processors, hardware platforms and I/O devices. Let FreeRange assist you in platform bring-up, hardware verification, testing and debug, low-level application specific software, device drivers and other firmware needs.
Device Drivers
FreeRange has extensive experience developing device drivers for various operating systems, as well as hardware and bus technologies. We can help you define and develop a device driver architecture that is reusable, portable and maintainable. We have worked with PCI, USB, 1394, DMA and non-DMA hardware, memory protected and flat memory operating systems and various buffer management schemes.
Embedded Operating Systems
Many embedded operating systems require the development of a Board Support Package (BSP) in order to run on your specific hardware. FreeRange has worked with more than 20 different operating systems with numerous compilers and development environments. Let FreeRange help you build a tool chain and BSP that enable the best possible software development environment for your operating system.
Embedded Communication Protocols / Middleware
The majority of embedded applications now require more complex protocol stacks, such as USB Host, USB Peripheral, 1394, ZigBee, UWB, Wireless USB and TCP/IP, among others. FreeRange is experienced with various protocols, as well as with the implementation and integration of these protocols into embedded applications. Let us help you select, integrate and test the protocol stacks you need to enable your application.
Application Software
Embedded systems often require application software that enables the end user to interact with the device. FreeRange can help you develop new applications or perform debug and porting work on existing applications. Tasks can include stand-alone graphical touch screen user interfaces, simple text menu and push button interfaces, or web-based user interfaces for host systems, among others.
Porting and Integration
Embedded systems are typically comprised of various software components, some of which are built in-house and others acquired from third parties. Integrating all of these technologies so they co-exist and function properly can be a challenge. Let us solve these annoying integration and porting issues so you can focus on those elements where you truly add value. FreeRange can take existing software and modify it to run in new hardware environments, operating systems and libraries, or take on other porting tasks.
Testing
Most developers do a good job of testing their work as they develop. It is not uncommon, however, for corner cases, or overlooked scenarios, to result in products failing in the field. FreeRange can help you define and develop tests to better qualify your product and provide you with confidence that you are shipping a quality product.