What is an Embedded System ? Embedded System programming - An Intro.
Embedded
systems are electronics added to other products to make them "smarter",
or easier to use, or to add unique features. Examples include coffee pots
that know when to start brewing that morning cup ( before your alarm clock
even goes off ), or the bread machine that makes an excellent loaf of wheat
bread, or the engine control in your car that knows when it needs a tuneup.
Embedded control
products are found in almost all market segments : consumer, commercial,
PC peripherals, telecommunications (including personal telecommunication
products), automotive and industrial. Most often embedded control products
must meet special requirements : cost effectiveness, low-power, small-footprint
and a high level of system integration.
Typically, most
Embedded control systems are designed around a MCU (Micro Controller Unit)
which integrates on-chip program memory, data memory (RAM) and various
peripheral functions, such as timers, displays, keyboard and communication
devices. Such systems usually requires display drivers, device drivers
to manage various devices and implement the application with or without
operator intervention. Some systems require real time or quick response
to real world inputs. Often they operate without any operator assistance
or inputs round the clock. This requires very high system stability and
error handling capability.
Embedded Systems
programming is different from PC application programming in the following
aspects.
a. Unlike
"processor" applications such as personal computers and workstations, the
computing or controlling elements of the embedded control applications
are buried inside the application.
b. Requires
understanding of Hardware/System architecture. The user of the product
is only concerned with the very top-level commands. Very rarely does an
end-user know (or care to know) the embedded controller inside (unlike
the conscientious PC programmers, who are intimately familiar not only
with the processor type, but also its clock speed, DMA capabilities and
so on).
c. Requires
strict/careful timing characteristics.
d. Should
be programmed to run on resource/ time/ performance constrained environments
and fast response/ less memory.
Top
|
Why
should I outsource Embedded Software ?
"Whenever
a company produces something internally that others can buy or produce
more efficiently and effectively, it sacrifices competitive edge." - Harvard
Business Review, April 1990
-
When a company does
not have access to the technology or human resources required to develop
a high quality software product.
-
Even if a company
has got the technology to meet its project, it may not have a quicker access
to the available technology-it may need to train its in-house development
team, making the cost of the project high and delaying it.
-
When a company wishes
to develop software, and its in-house development team's experience does
not match the requirements.
-
When a company has
a special project that needs to be developed with unusually high quality
and robustness.
-
Outsourcing allows
customers to retain focus of core business/technology.
Top
|
Does TSPL undertake "other" software projects ?
While
we specialize in system softwares such as Device Drivers, RTOS, ... we
also undertake custom application development on Linux and Windows platforms.
Top
|
What can TSPL do in Data Communication area ?
We
can undertake a wide range of projects/services such as implementing/adapting
Standard Protocols to a platform, Custom Protocols for Industrial Controls
and Instrumentation, develop Applications based on Data Communication.
Top
|
What is the size of a typical project ?
Typically
our projects range from 6 staff-months to as large as 10 staff-years with
elapse time/time schedule ranging from 4 months to 18 months.
Top
|
Does TSPL undertake hardware development ?
Though
we are primarily a software development company, we do undertake design
and development of certain small hardware interfaces and subsystems as
part of a more extensive development project.
(eg: interface
cards, buffers, etc).
Top
|
How does TSPL support its customers ?
We provide support onsite and through web and E-mail.
Top
|
|