Title: Embedded Software Development under Linux
Short Code: S_ES
ECTS Credits: 3
Organizer Details: Prof.Dr. Urs Graf

Written exam, demonstration of exercise

Decision Date: 4 June 2024 
Start Date: 12 August 2024 
End Date: 16 August 2024 
Date Details:

  Day 1
Day 2
Day 3
Day 4
Day 5
8:30-10:00 9:00 Registration Welcome &
Get together
Lecture Lecture Lecture Lecture / Exercises
10:30-12:00 Lecture / Exercises Exercises Lecture / Exercises Lecture / Exercises Seminar
(group work)
13:00-15:00 Lecture / Exercises Guided tour through our robotics lab Exercises Seminar
(group work)
(group work)
15:30-17:30 Lecture / Exercises Lecture / Exercises Exercises Social event
(e.g. exam)
17:30 Welcome apéro      


Summer School, 5 full days program

Location: Werdenbergstrasse 4, 9471 Buchs SG



Description (max. 300 characters):

Networked embedded systems are used in most technical disciplines such as MedTech, IoT, mechatronics, electronics, data science, energy/environmental technology or photonics. They capture physical information, process it, pass it on and, if necessary, influence the environment. Basic knowledge of embedded software development processes is therefore essential for many engineers, and they need to master, at least to some extent, the creation and use of software for these purposes. Libraries exist for many devices, but one needs to know how to obtain, create, use and test software for different platforms.

Contents and Learning Objectives:

The course will focus on target-oriented examples of Linux based embedded software development. That starts with general question about software development, version control systems and basic operating systems concepts. Popular software languages such as C/C++ and Python will be touched together with translating them into various target platforms. Examples with useful libraries from different fields will be demonstrated and tried out. The most common tool used in system programming such as Make and CMake among others will be covered as well.

  • Basic knowledge of Linux, shell
  • Binutils, compiler, libraries
  • Make, CMake
  • Version control, git
  • Native development versus cross development
  • Basic programs in C/C++, Python
  • Networking, static and dynamic IP-Adresses, WLAN, UDP
  • Bootloader, kernel, device tree, drivers
  • Exemplary sensors
  • Image processing, opencv

Admission: Programming: basic knowledge of C or any other structured programming language (e.g., Java, Python, C++) Operating System: basic understanding of operating system concepts (file system) Linux: Though not required, it’s advantageous to have very basic knowledge about Linux, e.g. using a shell.

List of books and websites will be made available


5 days presence plus preparatory and home-work effort.
No Costs
Registrations are open until 31.5.2024
For enrollment, please send a email to urs.graf@ost.ch

Prof.Dr. Urs Graf (urs.graf@ost.ch), OST, Buchs, +41 58 257 33 24
Prof. Erich Styger (erich.styger@hslu.ch), HSLU, Luzern, +41 41 349 33 01
Prof.Dr. Carlo Bach (carlo.bach@ost.ch), OST, Buchs, +41 58 257 33 24
Contact Person E-Mail: urs.graf@ost.ch
Status: registration open
Specialization: Computer Science (CS)

Data Science (DS)

Electrical Engineering (ElE)

Energy & Environment (EnEn)

Mechatronics & Automation (MA)

Medical Engineering (Med)

Photonics (Pho)


[Responsible for this text: Graf Urs]