What Is An Embedded System Information Technology Essay
Like most new electronic items, embedded system has no clear definition. However, we can try to come up with our own definition as is relevant to our chosen path of discussion. Any electronic device that employs the use of a microprocessor for some if not all of its control functions passes an embedded system. However, in our case we will be considering von Neumann architecture systems. This is a computer system with bits transmitted serially along a bus that interconnects a processor input/output devices, and memory. Such a system will not only have simple programmed instructions but will instead have a fully-fledged operating system to ensure proper running of the system. Therefore, our definition for an embedded system is an electronic device that uses an integrated computer system to control its functions.
Why embedded systems?
“Materials drive the rate of development and peak point of a particular technology”. Embedded systems draw an analogy of materials. In the modern world, the level of complexity of mechatronics and electronics problems that are solvable greatly depends on the associated embedded system that has developed. For example, the GSM mobile phone has developed from the previous analog system to the modern digital one because of the embedded system employed in it. The most correct term for an embedded system used in a mechanical device is control system. We will concentrate on embedded systems used in electronic devices.
What then is the importance of the software?
Computer software has immensely revolutionized the world. Software has actually replaced functions that were previously carried out by electronic circuits and allowed new functionalities never imagined possible. An equivalent circuit that does the same job (though this might be very complex in some cases) can replace every computer program! It is cheaper to use a program instead of a circuit to perform a given function. This cheapness makes it easy for an engineering student to undertake a personal study of embedded systems software.
Courses for software development embedded systems.
The C language
The C language is the recommendable system language to use, mostly on many operating systems such as UNIX, Linux, and Windows as well as in devices such as cell phones, palmtops and TV set top boxes.
When Microsoft first invented windows years back, they produced a C interface with a promise for a COBOL (Common Business Oriented Language) interface to follow.
The C language is of less complexity compared to other high-level languages like Pascal or BASIC. You will have to write the codes by yourself while using it because it does very little for you. C is a bit more than an assembler with quite a few high-level features.
Programs written in C have very fast execution. It does this by throwing away all the features that make up your program, which of course makes it unsafe option to use compared to other programming languages. C is a very portable language that runs virtually in any microprocessor or microcontroller with a proper writing.
All the above features clearly show why C is the language to use for embedded systems; it is fast, allowing real-time operation of devices, it is portable making it usable on many circuit configurations and is a systems programming language enabling direct programming of hardware. A good start of learning C is the book, “The C programming language” by Ritchie & Kernighan.
The Assembly language
Assembly language is the most feared programming language, belonging in the mythical echelons of software developments due to its several strange characteristics. It has a very long list of advantages and an equally long list of disadvantages.
Assembly language is not portable – In real sense, the problem is that each processor manufacturer develops a unique type of assembly language that is not compatible with microprocessors made by other firms.
Assembly language programs are able to do things that most high-level languages cannot do. This mostly concerns manipulating hardware functions since assembly has direct access to hardware.
Assembly language is hard to learn and writing programs in assembly is time-consuming.
{Conversely, assembly language is necessary for anyone who wants to venture seriously into embedded systems. “The Art of Assembly Programming” is a good book for learning assembly.}
In conclusion, one should always be careful to use the right tool for the right job. Write as much of your code in C, C++, or Java while only using small bits of assembly when it is necessary, more so when assembling hardware ports. This lightens the load of your software development cycle.
Microprocessor Architectures
To code for an embedded system, one must have knowledge of the microprocessor in use. There are several microprocessors in the market used on embedded systems. A few examples of microprocessor series are Intel, ARM, Zilog, and Texas Instruments, with
Intel microprocessors used for general-purpose on computer systems. However, a few of its older chips such as the 8085 used in embedded systems.
ARM (Advanced Reduced Instruction Set Machines).
An American company manufactures this family of chips. These chips are greatly preferred for embedded systems because of the following reasons:
Their programming model is similar to Intel chips and therefore they are easy to learn for programmers who have been dealing with Intel chips.
They have special Digital Signal Processing (DSP) features.
They are cheap compared to other chips.
They have low power consumption. For example, they need on average a supply voltage of about 3V.
ARM chips can execute either 16-bit code called THUMB or 32-bit code called ARM and are therefore very flexible. Examples of devices in which the ARM chips are used are MP3 players and mobile phones.
Zilog
The most popular chip from the Zilog is the Z80. The Z80 has been around since the early 80s when it made its debut in Z80 Sinclair microcomputer, which was the fastest of its time. Though many people consider the Z80 old and outdated, it finds many useful applications in modern control systems, i.e. in elevators. The Z80 assembly language is very easy to learn and there are a number of free Linux-based Z80 processor simulators available on the internet such as Z80-asm.
CURRICULUMN VITAE
Richard Bime
P.o Box 59409-00200
Square, Nairobi. Kenya
Cell: +254 722 683 173
OBJECTIVE:
To acquire a part-time position as a freelance (ghost) writer/rewriter in challenging projects with your company.
SUMMARY:
An experienced flexible IT and Business professional with a proven record of accomplishment of delivering solutions to high-profile clients in various market sectors.
PROFESSIONAL SKILLS:
Highly proficient in C++ and Matlab, familiar with the OpenCV library, Web Design, Middleware Technologies, HTML (advanced), Perl & Server Side programming, Widows applications, Operating systems, Linux and the Internet.
EDUCATION:
May 2007
Master of Business Administration (MBA)
Egerton University,
Concentration: Finance and Management.
Thesis: “Human Resources Management in the Banking Industry”,
Adviser: Jerald Edinburgh
May 2005
Master of Science (MS) in Computer Science and Information Systems
Egerton University,
Concentration: Information Systems
Thesis: “Systems Development in the banking sector in Kenya”,
Adviser: Michael Joseph
PROFESSIONAL EXPERIENCE:
Faculty of Computer Science, assistant lecturer, Nairobi University, Nairobi, 2008 – Present.
Job Summery:
Taught and developed the core courses and multiple electives
Presented short courses and tutorials.
Taught and supervised undergraduate students and research projects
Contributed to the managerial work and duties within the Department, the Campus, as agreed thereof with the Head of Department, chancellor, respectively.
Technical Support Consultant, Genius Executive Centre, Nairobi, 2006 – 2008.
Job Summery:
Consulted and provided hardware/Software support solutions to both external and internal clients.
Investigated, reported and documented customer issues and enhancement requests. Assists in testing upgrading and maintain hardware and software environments within the department alongside QA.
Appraise technical specifications, documents, and test plans as assigned therein.Â
Provide technical assistance to computer organization users. Answer various technical questions troubleshoot computer problems for clients, either in person or via telephone, or electronic media.
Oversee the daily computer systems performance.
Associate, Corporate Finance, Standard media Group, Nairobi, Feb 2004 to May 2006,
Prepared financing alternative proposals and merger valuation analysis for clients in various industries.
Completed writing stages and analysis stages of major reports for the Standard Media Group on savings and loan restructuring strategies.
Accounting Manager, Nation Media, Nairobi, Feb 2002 to 2004
Oversaw the daily accounting activities required to maintain the Authority’s general ledger.
Supervised, directed, and reviewed the work and activities of the accounting staff including, but not limited to, trust account statement reconciliations, cash reconciliations, accounts receivable transactions, check runs, fixed asset activities, accounts payable transactions, recording of revenue, expenses, debt activity, and payroll, etc.).
Data Analyst and Programmer, Copy Cat Technologies, Mombassa, 2000.
Provided technical support for the company’s Facility and fellow research scientists in the analysis.
Organized and interpreted proteomics data through the expansion and accomplishment of computational methods and tools.
Laboratory Supervisor, Department of ICT, University of Nairobi, Nairobi, Jan 1999 to Jan 2000.
Prepared budget requests for the Campus laboratory and water quality monitoring program.
Directed the assortment and purchase of laboratory equipments, supplies, bid document preparations and budget management.
Established program goals and objectives to be funded, tracked performance procedures and evaluated them against established target.
Tracked personnel activities and determined staffing requirements.
Evaluated service costs and made associated suggestions.
Recommended and identified divisional improvements in departmental operations to ensure support and efficiency.
ACTIVITIES AND AWARDS:
Social Sorority, 2002 – Present.
Member, Computer Society of Kenya.
Founding member of business today, one the most reputed business journals in the Democratic republic of Kenya.
Best dissertation, Business Policy and Strategy Division, college of Management Meetings, June 2007.
REFEREES: Available upon request
Order Now