EQware offers a wide range of services to help bring your designs to reality. We can do precisely what you need without the overhead or training involved with a new hire. Our engineers will hit the road running, working closely with your team. Here are some of the services we offer. If you have any technical or business questions, please contact us.
EQware can help bring your embedded system to life, providing as much development expertise to the project as you need. Whether it's full architecture and design work or just development of a new driver, we are here to help. In recent years, embedded systems are commonly built upon complicated SoCs, with huge specifications, complex SDKs, and vendor-specific IDEs. We know this domain well, harnessing several development kits for rapid product prototyping and developing many commercial embedded systems.
Multimedia — Portable multimedia devices continue to emerge in the marketplace. EQware has the experience to harness the performance and low power capabilities you will need to create a winning product. Whether you need special hardware, OS, device driver, or codec support, EQware can help.
Networking — In a world where almost every electronic device can interconnect, networking and security skills are paramount. The IoT has taken the consumer world by storm. Access points, special hardware, high performance device drivers, and protocol stacks are all part of a day's work for EQware.
Wireless — EQware engineers have experience with a variety of wireless projects, from FM subcarriers to the latest in low power wireless. Our solid background with established wireless standards such as IEEE 802.11 (WiFi), Bluetooth, BLE, and cellular technologies has allowed us to forge ahead with custom uni- and bi-directional RF protocols, spanning the spectrum. We have engineered many advanced features like frequency-agility, forward-error correction, and time-division multiplexing for substantial savings in bandwidth usage and battery life. EQware knows this tricky ground and can guide your project safely across.
Quality Assurance — EQ stands for Embedded Quality, and it's no idle boast. EQware has extensive experience with QA, spanning decades. We have built custom test systems able to conduct completely automated regression test suites that ran for days, RF manufacturing testers, and test systems that used cameras to evaluate the content of LCD displays. There is an inherent risk in having the same team that designed a new product be responsible for testing it as well; they are too likely to overlook the same issues they overlooked in design. Whether you want someone to build custom test tools or provide that essential outside viewpoint, EQware has the skills you need.
Stand-alone Embedded — Some our most impressive projects have run stand-alone, with no underlying OS support at all. For maximum performance and flexibility and minimum code footprint, there's nothing like crafting your own. Whether your code has to run off-disk, out of memory technology devices, or from mask-programmed ROM, EQware has been there, done that—and we can provide the level of quality needed to make sure such projects succeed.
==EQware is ready == and able to help you bring your product to market quickly and with full assurance of quality. We can work with your product ideas, whether they involve hardware, software, or a mix of the two, and can help you through creation of a complete fabrication-ready product.
Product Specifications — The beginning of any product are your ideas. From these ideas, you will need to engineering requirements and specifications for your engineers. We have the ability to work directly with your marketing and sales people to create the documentation needed for engineering to begin work.
Proofs of Concept — During the early phase of product development, sometimes there can be engineering questions about the feasibility of certain requirements. We can create limited prototypes, ‘probe code’ (early firmware to test feasibility prototypes), and/or example applications. All these can make sure that your product development does not run into expensive hiccups later down the road.
Iterative Development — When the engineering requirements and specifications are clear enough, design and implementation for your product begins. We support building hardware prototypes, developing alpha release software and hardware for your marketing and sales force review. Then through an iterative process, specifications can be updated, designs adjusted and new alpha samples created.
Quality Assurance — At the point where you feel that the product is on course, the final phases begin. Further alpha and then beta releases will occur. We support developer testing of all aspects of the product and can create special test tools as needed. EQware can also support formal quality assurance and can create tests specifications, test suites, do the testing and create test reports. This can be an iterative process to refine and debug the product to the point where it is production-ready.
Product Technical Support — Once ready for production, you will need all the production tools to produce a quality product. EQware can create these production tools, POST, technical documents, and assembly/test procedures. Once on the market, EQware can support you by creating firmware updaters and processes to ensure the products in the market remain bug-free and fully featured. EQware can also create needed servicing tools and technical repair documents.
Complete Solutions — Look to EQware for the complete package: end-to-end embedded hardware and software design and implementation. Our engineers can start with your requirements and carry your project through every stage of specification, design implementation, and test. At the end you will have a working, tested solution crafted to achieve your goals. We can even work with your application developers to make sure that all aspects of your product's feel and function meet your most exacting standards.
Mobile apps are now a key component in many embedded systems with the rise of IoT. The modern trend is to have embedded devices connect to users' smartphones via WiFi or Bluetooth. EQware has the experience and technical knowledge to integrate your mobile app and embedded devices.
Application Development — Knowing how to use the Android Studio and Xcode IDEs effectively, and reference the plethora of features, APIs and examples in the respective SDKs for Android and iOS are minimal requirements for any application development. Having the development platforms ready to go, and lots of devices to test against is also important. EQware has the knowledgeable engineers and development resources to get your mobile app in the market quickly. Being embedded folks, we are also well-versed in connecting a mobile app with your product and the cloud, typically via wireless interfaces. We also understand the performance requirements of real-time features, such as audio-video streaming.
Portability — Portability is one of the most critical aspects of mobile development and one of the most difficult when integrating an app with embedded hardware. Each mobile OS and each device manufacturer is a little different. Even something as simple as streaming audio can become a challenge. EQware is up to that challenge; we have written code to run on all the most used Android and iOS devices.
Performance — Some of EQware's proudest mobile work has been in squeezing out everything possible from the hardware and protocols while still maintaining robustness. Whether you want the highest bandwidth possible or your top priority is timing and precision, EQware can help.
Connectivity — The vital decision in developing a mobile app for embedded hardware is how to connect the two. There are many routes, such as WiFi, Bluetooth, BLE, and NFC. They can connect across the Internet, becoming part of the IoT and sending data to the cloud. All of this lies within EQware's realm of expertise.
Every embedded system is built upon an elaborate collection of toolchains, IDEs, loaders, debuggers, and numerous special or custom development tools. EQware has experienced engineers who have worked on multiple toolchains, system simulators, and many other development and test tools.
Toolchain Extensions — If your IC extends the instruction set of a standard CPU or you are making a completely new CPU, you will need toolchain support. EQware can help. We have added hundreds of new instructions and completely new instruction sets—including vector instructions—to the GNU and LLVM toolchains. From custom cross-compilers to assemblers, linkers and debuggers, we can build the tools you need to take advantage of your powerful new architecture.
Debuggers — A debugger is a critical piece of any toolchain. They can increase productivity by an order of magnitude. If you need a debugger made for your hardware, EQware is up to the task. Our engineers have worked under the hood with GDB, and we've ported debug agents to non-standard architectures, emulators, and custom runtimes.
Custom Test Tools — Nearly every embedded project needs to have a few custom tools built along the way: tools to stimulate your design, put it through its paces, and record its performance. Such utilities can be invaluable, both in the debug and test stages. Many times there is also a need for special production and servicing test tools. EQware engineers build these tools as a matter of course and deliver them as a part of the package.
System Simulators — EQware knows how to check feasibility of large and small systems alike. Whether stimulating and testing a new algorithm prior to implementation, or creating a discrete event simulation of a complex system with many variables, we know the tools and techniques for the job.
Hardware Emulation — Hardware emulation greatly assists in development of new hardware, systems, and software. It is a very cost-effective prototyping method, and it gives the initial software developers a controlled environment. Our engineers have built completely custom emulators, ported existing emulators, and combined multiple open-source emulators together to simulate a complete system.
Make OS work less daunting by taking advantage of EQware's years of experience with OSs, RTOSs, runtimes, drivers, bootloaders, BIOSs, kernels and middleware. Our engineers can confidently port or modify a kernel, adding new drivers or creating a custom runtime to suit your particular needs. We have put runtimes in everything from tiny development boards to custom HPC systems; EQware has the skillsets you need for these and other OS related tasks.
Device Drivers — Device drivers are those modules that interface between application-level software and your hardware. They typically run at kernel level, giving them special powers to fulfill their unique roles, but special limitations as well. Their performance is often the key to a product meeting its requirements. Our engineers have created, ported and optimized numerous device drivers for many popular OSs, and for nearly every category of device.
Kernel Modifications — Not every firm is prepared to make changes inside the OS kernel, but some projects require it, and EQware is up to that challenge. We also have the tools and experience needed to debug, analyze performance, and run regression suites against your kernel code.
BIOS/Bootloaders — Early in the boot cycle of every computer, special start-up code is executed which configures key devices, bringing up enough of the hardware so that the OS can be successfully launched. This is the bootloader, or as it's often called on workstation-class platforms, the BIOS. Bootloaders can be difficult to create, modify, and debug, but with EQware on your team, your project will soon be up and running.
RTOSs — EQware can provide the real time behavior needed by your product. Whether using a full OS like embedded Linux, a small off-the-shelf or custom OS, we can ensure that your system responds to interrupts and handles critical operations in a timely fashion.
Custom Runtimes — Sometimes no OS or runtime exists which fits your technical or licensing requirements. Instead of settling for a lesser runtime solution, contact EQware. We have ported and enhanced libc, libc++, pthread, openmp, and mpi libraries for custom environments. We also have experience in creating runtimes from the ground up.
Middleware Libraries — Today's embedded systems consist of multiple layers of software required to support your product application. These middleware layers can have critical functionality to support complex communication stacks, high performance multimedia, general accessibility, and more.
EQware is familiar with the special problems involved in successfully launching a new hardware design. We can build evaluation boards, port OSs, and extend toolchains.
Evaluation Boards — EQware can take your new component and build a complete board around it, with all of the interfaces needed to help your H/W team test and validate their design.
‘Probe’ Code — This is the initial standalone code, often written in mixed C and assembly language, that can be used to prove your hardware's functionality. EQware engineers will work closely with your H/W team to help make sure your design works the way it is supposed to. Probe code can then be passed on to serve as an example for subsequent board-support package development.
Testing and Reporting — EQware has plenty of experience with the kind of meaningful tests and reporting your H/W team needs to keep making progress—plus the regression testing that will ensure your design starts clean and stays clean through the entire development cycle. In the case of a new CPU, EQware can help evaluate your instruction pipeline for stalls and faults—and turn this information around to create a better compiler for your new processor.
Reference Boards — EQware can design a complete reference board, help you choose appropriate peripherals, and produce all of the documentation an OEM will need to manufacture it.
Reference OS — EQware has experience with many OSs. We are proven experts at porting onto new reference boards, including kernel modifications and all of the device drivers needed to demonstrate your new hardware's functionality to potential OEMs.
Sample Applications — If your reference board needs a sample application to show it off properly, EQware has experience here as well, especially in the areas of streaming audio and video, codecs, wireless networking and memory technology devices.
Development Tools — EQware is highly proficient at creating or extending development tools. We have extended both the GCC and LLVM compilers, ported debuggers, created custom test tools, and much more. Put our development tool services to work for you.