Skip to content
griloHBG edited this page Sep 6, 2021 · 2 revisions

WORK IN PROGRESS!!

Welcome to the EmbeddedSystems-Aeronautics wiki!

In this Wiki you will find directions that must be followed to make a project delivery. Keep in mind that you can also take a look at the teachers' project deliveries to get a little inspiration and also understand what is being asked of the teams to be done with their projects.

Reasoning about this Embedded Systems subject

Each group must understand that their project will be contained in a git repository and, as an ideal repository, it must:

  • Explain what the repository is about
    • Description: a top-level overview of the piece of software(s) that is(are) inside the repository
    • Objective: what the software tries to accomplish
    • Steps to reproduce (this is really important)
      • What I need to compile it
        • toolchain(s?),
        • dependencies
          • libs
          • packages
          • versions
          • and how to download and configure/setup each of them
        • anything else
      • How to compile it, e.g.:
        • terminal command-line(s), or
        • compilation script, or
        • Makefile(s) and how to use it (desired), or
        • CMakeLists.txt(s) (desired), or
        • anything else or even a mix of the above
      • What platform do I need to run it (e.g. Beaglebone Black Rev.C, or a Toradex Colibri VF50 128MB (IT or not))
      • How to configure the platform to run it. E.g.:
        • What Operating system and version
        • What runtime packages and versions

It is, as expected, a piece of software that will run on an embedded system. Here, the embedded system platform will run on Linux-based OS and (usually) be a Toradex Colibri VF, Beaglebone Black, Pocket Beagle, Raspberry Pi, and likes.

What we want you to learn

We want that the engineers that successfully walk out of this class have a minimum understanding about:

  • Linux
    • How it works
    • How to use it
  • C and/or C++ programming languages
    • Compilation (C/C++)
    • Cross-compilation (C/C++)
  • Networking
    • TCP/UDP/IP
  • Multi-Threading and/or Multi-Processing
    • Synchronization
    • Communication
    • Resource sharing
  • Common Hardware access
    • GPIO
    • I2C
    • SPI
    • PWM
    • etc

_Projects that are based on Arduino-like solutions will not be accepted. WHY? Because

  • Linux
  • Terminal usage