Q: What value does AppCOE provide?
A: With Application Common Operating Environment(AppCOE ) you can easily port, abstract and optimize your code on a host machine and run the application on different target platforms. AppCOE leverages the existing OS Changer and OS Abstractor technologies while adding advanced code optimization capacities on multiple OS environments. AppCOE provides users an easy-to-use graphical user interface that is integrated with the Eclipse® based CDT environment. More information can be found here: http://www.mapusoft.com/appcoe
Q: Why should I develop on a host instead of the target platform?
A: Developing on a host will provide you the following benefits:
- Don’t be constrained by a limited availability of your target hardware
- Begin developing the application before the hardware is available to improve your time to market
- Simulate your application on a host for easy testing, verification and presentation
Q: Why should I use a unified architecture for development?
A: Using a unified architecture will provide you the following benefits:
- Reduce the learning curve by using a standard IDE across multiple operating systems
- Re-use same code base across multiple OS to reduce time consuming maintenance
- Eliminate manual updates to applications when upgrading to newer versions of OS
Q: Why should I use the Eclipse IDE?
A: Using the Eclipse IDE will provide you the following benefits:
- Offers state-of-the-art CDT for productive development
- It’s the industry de facto standard
- Offers open source plug-ins for economical development
Q: How should I choose between the standalone (full-package) or code optimizer solutions?
A: The standalone version is now called the Full Library Package option and can be generated from AppCOE. You can also generate Optimized Code (using Code Optimizer) or Standalone binaries. Both options are provided with full source code without obfuscation. Here are a few technical points about the choices:
The standalone (or Full Library package) library includes the standalone products with all the features. Integration to an Eclipse-based IDE for host development is possible by purchasing the standalone solutions for the host platform. Using this option requires the necessary integration with your tools. The package is provided with a standard one-size-fits-all source code library and is manually configured via usr.h file. Standalone solutions are used as a library and code size and performance optimizations are done by the compiler tools. Some integration is required to tie one or more libraries to the applications. Sample demos are provided showing target OS specific initializations (excluding the board level initializations) and sample project files are supplied for some tools.
The Code Optimizer includes access to the AppCOE IDE which allows development, porting and debugging of applications on Linux & Windows host platforms using Eclipse framework without a need for the target hardware. Porting legacy applications under a host environment is much easier than porting on the actual target. This option allows for graphically configuring & integrating multiple OS Abstractor & OS Changer solutions. The source code generated is based on the level of API usage by the application for a more custom solution and to increase the application performance. Also available is the option to select individual APIs for execution speed optimization in addition to other compiler optimizations. The generated interface code can either be made part of the application or can be a standalone library. This option provides automatic generation of target OS specific initialization code (excluding board level initializations) and automatic generation of project files (make/visual C++/eclipse/etc.).
Q: What source code plug-ins are available for the Mapusoft Eclipse based IDE?
A: AppCOE is based on eclipse framework and as such there are innumerable plug-ins available which can be readily used or easily integrated with AppCOE if needed (http://marketplace.eclipse.org/).
Q: What is required to add target support for my In-house OS to AppCOE?
A: Adding support for an in-house OS can be easily done by our India development team for a nominal fee. Validation can also be done by MapuSoft or yourself. In order to estimate the work, we need know more about the OS functions in your In-house OS, such as:
- Do you support priority based scheduling?
- Is there a way to change thread priority of a running task?
- Is there a way to manually suspend/resume a thread?
- Is there a way to manually relinquish thread control?
- Is there a way to get the current thread id?
- Do you have a basis semaphore support?
- Do you have a basic message queues support?
We also need to know the OS Interfaces that you need supported (e.g. POSIX, uITRON, VxWorks, etc.) on top of your target In-house OS so that you can either migrate code to your In-house OS or develop new code using those Interfaces. For example, if your In-house OS needs to run Linux code, you would need POSIX/Linux Interface support for your target In-house OS.
To support the AppCOE Profiler feature, two APIs (related to higg resolution) need to be ported to run on your target In-house OS. These APIs need access to the hardware hi-res clock on your board. This is something you can easily do yourself or ask us to do it for you, if you wish.