Practical work and MCQs.
Understanding main IoT challenges (cost/battery/connectivity constrains)
This course introduces the open source operating system Linux and its use for building embedded and real-time systems.
We will define embedded computing and see why the GNU/Linux operating system is a major player in this huge market.
Think about embedded software in smartphones, network devices, entertainment, Internet of Things...
We will also look at the internals, key elements, essential knowledge, common processes and development tools to build an embedded system.
The rest of the course is devoted to case studies running Linux on a Raspberry-Pi ARM-based development board.
1. Presentation
2. The embedded system
a) Definitions
b) Market and perspectives
c) Topology of an embedded system
d) Hardware architecture
e) Software architecture
3. Why GNU/Linux?
a) Technological reasons
b) Economic reasons
c) Personal reasons
d) Other OSes
e) Licenses
f) Limitations
4. Solutions
a) Types of solutions
b) Product-oriented platforms
c) Software building blocks
d) References
5. Essential concepts
a) Unix concepts and orthodoxy
b) Analysis of the Linux boot process
c) Compilation process
d) Binary link editing
e) Executables
f) uClinux vs Linux
6. Development methods and tools
a) Terminology
b) Development methodologies
c) Cross-compilation
d) Debugging and optimization
e) Software emulation and virtualization
7. Case study on Raspberry Pi
Evaluation by teachings / Report.