Course Computer Design and hardware related Programming
Responsible: Prof. Dr. Thieling
Course
Meets requirements of following modules(MID)
Course Organization
Version |
created |
2013-07-24 |
VID |
2 |
valid from |
WS 2012/13 |
valid to |
|
|
|
Course identifiers |
Long name |
Computer Design and hardware related Programming |
CID |
F07_RHP |
CEID (exam identifier) |
|
|
Contact hours per week (SWS) |
Lecture |
2 |
Exercise (unsplit) |
|
Exercise (split) |
1 |
Lab |
1 |
Project |
|
Seminar |
|
Tutorial(voluntary) |
|
|
|
Total contact hours |
Lecture |
30 |
Exercise (unsplit) |
|
Exercise (split) |
15 |
Lab |
15 |
Project |
|
Seminar |
|
Tutorial (voluntary) |
|
|
|
Max. capacity |
Exercise (unsplit) |
|
Exercise (split) |
30 |
Lab |
15 |
Project |
|
Seminar |
|
|
Total effort (hours): 150
Instruction language
Study Level
Prerequisites
- basic skills in procedural programming
- structure and mode of operation of a simple computer
- basics in digital systems
- finite state machines and state transition diagrams
Textbooks, Recommended Reading
- Märtin: Rechnerarchitektur, Fachbuchverlag Leipzig (Carl Hanser)
- Oberschelp/Vossen: Rechneraufbau und Rechnerstrukturen, Oldenbourg Verlag
- Vogt, C: C für Java-Programmierer
- Tanenbaum, Goodman: Computerarchitektur, Pearson Studium (Prentice Hall)
Instructors
- Prof.Dr.Thieling
- Prof.Dr.Hartung
Supporting Scientific Staff
Transcipt Entry
Computer Design and hardware related Programming
Assessment
Type |
wE |
normal case (except on small numbers of assessments: oE |
Total effort [hours] |
wE |
10 |
Frequency: 3/Jahr
Course components
Lecture/Exercise
Objectives
Contents
- basics of C-programming
- constants, variable,s data types
- expressions, statements, control structures
- preprocessor expressions
- pointers and pointer arithmetic
- array, structures
- funtions
- standard libraries
- multi-file programs with access to libraries
- software development tools
- compiler
- linker
- debugger
- simulator
- hardware-related I/O programming in C
- functioning of digital ports
- access to digital ports
- memory-mapped I/O
- isolated I/O
- access to I/O ports using pointers
- access to I/O ports using driver libraries
- implementation of driver libraries in C
- bit-wise I/O and analysis of data using C
- programming applications for measurement and control in C
- implementation of finite state machines in C (mealy and moore)
- optimization of cyclic queries on I/O-data
- design and operation of a dedicated small computer system (eg microcontroller)
- architectural overview (registers, arithmetic logic unit, control unit, memory, bus structure, I/O components)
- mode of operation (program execution based on register transfers)
- basics for programming the micro-processor in assembly language
- use of inline assembler in C programs
- I/O interfaces of a computer system and its use by means of C
- digital ports
- timer/counter (pulse width modulation, cyclic interrupt generation)
- analog-to-digital converter
- serial port
- using the I/O interfaces from C
- interrupts
- interrupt sources and types (external, internal, hardware, software)
- interrupt management
- interupt vector table
- interrupt service routine
- time sequence of the interrupt handling
- mechanisms for handling concurrent interrupts
- prioritization
- interruption
- problem specific use of these mechanisms
- use of interrupt driven I/O interfaces in C
- C runtime system
- subroutine call in assembler
- stack and assembler instructions for stack manipulation
- program state backup and recovery using stack
- passing parameters to C-function using stack
- managing local variables using stack
- dynamic behavior of the stack
- interpretation of the stack contents using a debugger
Acquired Skills
- explain the operation of a mikrocontroller including it's I/O interfaces
- interpretation of detailed technical specifications of the I/O interfaces, so that meaningful configurations can be created
- implementation of C driver libraries for various I/O interfaces including the interrupt support
- specifying system behavior (derived from text documents)
- development of problem solutions for measurement and control, which can be realized in C
- describe and analyze the C runtime system
Additional Component Assessment
Lab
Objectives
Acquired Skills
- refer to "Vorlesung/Übung->Lernziele->Fertigkeiten"
- targeted use of the software development environment
Operational Competences
- manage complex tasks as a small team
- development of problem solutions for measurement and control, which can be realized in C
Additional Component Assessment
Das Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich Foswiki?
Feedback senden