Embedded Software FAQs
Q: Can ASG provide language conversion services? We need to convert some old code to Visual Studio's net framework.
A: Yes. We have done several language conversions in the recent past, and currently have experience with:
- Converting Fortran to C, C++ and C#.net
- Converting Ada to C, C++ and C#.net
- Converting VB6 to VB.net or C#.net
- Converting C# to Java (and vice-versa)
- Converting any C-based code to .net
ASG is capable of upgrading any existing code that has some structure to it into the .net framework.
Q: Does ASG work with Coldfire?
A: Yes, ASG has extensive Coldfire experience.
Q: Does ASG have any experience with embedded control?
A: Yes, we have experience across many development environments, platforms, processors, and board support packages.
Q: What Source Control Systems does ASG use?
A: ASG has extensive experience with the following source control systems:
- Source Safe
- Clear Case
- Mantis Bug Tracking
Q: Does ASG have any experience with communications systems?
Q: Does ASG have any experience with deterministic, real-time systems?
Q: Have you done much work with Ethernet?
A: Yes. Most of the embedded processors today support Ethernet (as well as USB, flash RAM and other peripherals) natively. When Ethernet is needed we generally choose a platform that already provides Ethernet drivers so that we don't have to develop something that's already available off the shelf.
Q: Does ASG have any experience with embedded computers in medical devices?
A: Yes. We have experience with the development of embedded software that falls under FDA regulatory guidelines. We have done several projects in this area.
Q: Is Windows CE a good choice for an embedded operating system?
A: Windows is becoming more popular today than in the past. The most recent version of the CE operating system includes security mechanisms that limit access to program and memory space, which can overcomplicate the ability to integrate certain types of peripherals and other I/O devices. In those cases, if a board support package (BSP) is not already available to work with the hardware, there may be other choices, like Linux, that would be more appropriate.
Q: What programming languages does ASG typically specify for embedded projects?
A: C is the most common embedded programming language. We have also written embedded applications in BASIC, Ada and Assembler.
Q: What processor recommendations does ASG typically make?
A: That depends entirely on the application. For high-speed communications the Freescale Coldfire series would seem appropriate. For small, cheap, low-power systems a Rabbit or an 8-bit PIC microcontroller may be all that is needed. For products where cost is everything, a very low-cost processor may be all that is needed, provided the application isn't too demanding or overly complex.
Q: What processors does ASG have experience with?
A: Below are just a sampling of the processors, ASG has experience with:
ARM, RISC Processors, .86 Embedded PC, Motorola 68xxx, TMS 32xxx DSPs, Freescale Coldfire, Rabbit (Z180), Microchip PIC, Intel 8051 and Intel PC processors, TI DSP (digital signaling) and TI MSP (mixed signaling).
Q: What operating systems does Applied Science Group have experience with?
A: In the embedded industry ASG's engineers have worked with Windows CE, Linux, AMX, Dynamic C, RTOS, Windriver, VXworks, pSOS and QNX operating systems.
More than half of the embedded application clients do not use a commercial operating system. In those cases we have written "executive" kernels to control peripheral devices, timed events and other low-level tasks.
Q: What embedded software have you developed?
A: ASG staff members have provided software engineering support for a large number of embedded projects over the past 10 years. These projects included:
- Control systems for chemistry and blood, universal power supply, copy machine, grinding, laser and locomotive applications;
- Measurement systems for gastro-intestinal, cardiac, accelerometer, fluid and gas flow, electrical and RF applications;
- Communications systems for commercial wireless, radar and video applications.
The market verticals in which ASG has developed embedded software include aerospace, manufacturing, medical devices, oil and gas, printing, semiconductors, telecommunications and transportation.
Q: Where do you perform the work?
A: Our offices are located in the Buffalo, New York area and the bulk of our work is done here. We do however, travel to our clients' sites regularly to provide some level of development on site. This will typically occur at the beginning of the project (during requirements definition, high level design and any reviews) and at the end, when the integration task requires tight cooperation among all players.
Q: What is an embedded software engineer?
A: We define it as an engineer who is skilled in the process that makes embedded software different than simply writing an application for, say, a PC. There is nuance associated with embedded processes: They typically contain chronological tasks that must run in a certain order at a certain time; their processors are limited in computing power and available memory; they may require real-time or near real-time responses, and they may or may not have an underlying operating system.
Q: How does ASG get paid?
A: Time and materials contract or a firm fixed price contract, depending on project definition and requirements and our ability to mitigate the risks of developing a first of its kind custom solution.
Click to read more information about our Software Solutions.