Embedded Engineering

Abstract:

Embedded Systems Engineering is a very exciting field of engineering where devices capable of interacting with the real world are designed and programmed. Embedded processors form a core component of an enormous range of systems, from avionics, passenger cars, communication and navigation equipment, defense, and medical equipment, to robotics, gaming devices, DVD players, Electronic gadgets and home appliances. The growth in the power and features of processors has helped to drive the semiconductor industry from start-up some 50 years ago to more than $400 billion in annual revenue today. The embedded market is now estimated to be worth around 300x the "desktop" market, and is forecast to grow exponentially over the next decade. Embedded Engineering is an amalgamation of "Computer Science Engineering", "Electronics Engineering", Electrical Engineering", “Information Technology”, “Networking” and “Instrumentation”.

Introduction:

Embedded software is computer software, written to control machines or devices that are not typically thought of as computers. It is typically specialized for the particular hardware that it runs on and has time and memory constraints. This term is sometimes used interchangeably with firmware, although firmware can also be applied to ROM-based code on a computer, on top of which the OS runs, whereas embedded software is typically the only software on the device in question.

A precise and stable characteristic feature is that no or not all functions of embedded software are initiated/controlled via a human interface, but through machine-interfaces instead.

Embedded software are used in the electronics in cars, telephones, modems, robots, appliances, toys, security systems, pacemakers, televisions,  set-top boxes and digital watches etc. This software can be very simple, such as lighting controls running on an 8-bit microprocessor and a few kilobytes of memory, or can become very sophisticated in applications such as airplanesmissiles, and process control systems.

Embedded software is a type of software that is built into hardware systems. This software is typically designed to perform one specific function, although a single piece of hardware may contain multiple pieces of software embedded in it. Any piece of technology that has circuit boards and computer chips will likely have embedded software within it, from digital clocks to cell phones to calculators. These systems allow many of the advanced functions that are common in modern devices.

Prospects:

A career in embedded systems software is one of the promising career options available for engineers today. For fresh engines who are done with courses in embedded systems software engineering and are worthy enough of being hired, the future cannot be more exciting or promising. As embedded systems software engineer, they will get to work on technology that touches the life of the common man. They will be required to write software that determines the controls of electronic and smart equiipments/devices etc. Embedded systems software engineers engineers will also get to work on high-end systems ranging from robots to factory assembly lines and industrial automation. Embedded systems engineers are most likely to get placed in companies dealing with the engineering requirements and products development. Companies that specialize in building embedded systems for controlling railway signals, mills, petrochemical plants, pharmaceutical factories, bottling plants, defence, aerospace etc. will be more than willing to hire embedded systems software engineers. Embedded systems are also used in monitors, scanners, machines used for chemotherapy, diagnostic equipment  pacemakers, ventilators, etc. So, this makes for just another career option for experts in embedded systems engineering.

Embedded Systems developement in India is expected to triple in next 3 years. The markets reached approximately $15 billion by 2009 and now hah grown exponentially.

Current Trends
 
According to recently released NASSCOM report, the total addressable embedded system R&D global opportunity is expected to reach approx. $89  billion by 2015 where India alone could contribute approx. $15 billion in size. This means that Indian technology firms and engineering designers will have to drive actual product innovation and move towards product ownership.
 
Presently many Indian companies provide high level software designs and board level designs in a few cases. Not much work is carried out in terms of application design engineering, hardware design and innovation towards customized product development. This lack of domain expertise in industry is basic impediment for future growth.
 
Leveraging and growing in these areas can help Indian industry to have significant improvement in embedded systems space and a few companies already have started working towards this goal.
 

Training Objective:

This course is designed to ensure that students of Engineering College with academic capabilities will have the skill set needed to deal with the challenges involved in real-world Embedded Technologies to meet the needs of industries both today and in the future.

The course considers programming and device design techniques which can help to ensure that single-processor embedded systems are reliable.

The course is taught mainly using the C programming language, hardware design, ARM Based Boards and a PC emulated as an embedded device.

Pre-requisites:

  • General understanding about Microprocessors, Operating System Concepts and C Programming Language is assumed.

  • A prior knowledge or exposure to Linux operating system would be an added advantage.

Agenda:

  • The Duration of Training would be 20 Weeks or 6 months:
    • There would be minimum of 100 Sessions of 2 Hours each.
    • There would be minimum of 100 Labs of 4 hours each.
  • After the training is over, you should be:
    • Efficient with respect to programming in C, Data Structures, Advanced C, System C using gcc and Linux.
    • Efficient with respect to programming in C++, Data Structures, Advanced C++, STL classes using g++ and Linux.
    • Able to debug your programs using gdb.
    • Able to write, optimize and debug Shell Scripts using Bash.
    • Able to understand Linux Internals and Linux System Concepts in depth.
    • Able to do Linux System Programming.
    • Comfertable with Python programming, scripting.
    • Proficient with Source Code Control Tools like SCCS, RCS, CVS, Subversion.
    • Expert in using debugging tools like gdb, kgdb, valgrind, lint, electric fence.
    • Able to interpret the Data-sheet for the given Hardware.
    • Understanding the Device Drivers Architecture and inplement / write device drivers from scratch using Linux.
    • Able to accomplish writing following driver from scratch:
      • Character Device Driver,
      • Block Device Driver,
      • Serial Port Device Driver,
      • Parallel Port Device Driver,
      • Ethernet / network Device Driver,
      • USB Device Driver,
      • SPI Device Driver,
      • PCI Device Driver,
      • I2C Device Driver.
    • Having architecture level understanding of the ARM Embedded Processors.
    • Having good understanding about Embedded and Network protocols.
    • Able to configure and customize Linux for ARM based boards.
    • Able to Port Linux (Embedded O.S.) onto the ARM Based Boards.
    • Understand the complete Life Cycle of the Embedded Device Design and Development.

Training Topics and Projects in Embedded Systems Software Engineering.     read more...

 


EmbLogic is an ISO 9001:2008(QMS) (Quality Management System) Certified Company

 

 

Go to Top ^