Skip to content

KevinButzke08/RTOSExercise

 
 

Repository files navigation

Exercise for Real-Time Operating Systems Design and Implementation 25/26

In order to use the setup you will need to configure your system in the following way:

  1. Install the required system packages and configure your system accordingly
  2. Run the local_setup.sh script to install and setup the development environment
  3. To build the sample project, we use the provided idf.py scripts:
    1. To activate the idf.py script, run . ./esp/esp-idf/export.sh from the root of the repository
    2. To build the project, run idf.py build
    3. To flash the firmware to a connected Watchy, run idf.py flash
    4. To display serial output on your console, run idf.py monitor

If you use Linux, see the Setup Linux section below for required packages and system configurations.

If you use macOS, see the Setup macOS section below for required packages.

Setup Linux

  • Make sure you have the required dependencies installed. A starting point of debian packages would be git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
  • In order to flash the project, your user needs permissions to access the device. Consider adding your user to the dialout group: sudo usermod -a -G dialout $USER

Setup macOS

  • Make sure the required dependencies are installed. If you use HomeBrew, they can be installed with: brew install cmake ninja dfu-util
  • You need a Python 3 interpreter, for example, you can use the bundled Python 3.9 interpreter (on macOS Sonoma). If your bundled Python version is Python 2, install a Python 3 interpreter, for example with HomeBrew.

Debug tool

  • Made by:
    • Komron Abdulloev - 231579
    • Kevin Butzke - 225051
    • Leonhard Holländer - 219520
  • How to use:
    • For just Trace output without persisting and visualizing it, just run idf.py monitor
    • For exporting and visualizing run the program by idf.py monitor | python3 debug_extraction.py in the root of the repository.
    • For generating the PDF with the debug output visualized run python vizualize.py
  • What modifications were made:
    • Including the debug_macros.h where the debug traces are defined. These call the corresponding trace functions which are implemented in the debugtool.cpp
    • The Debug extraction debug_extraction.py script uses the output from the serial console and is generating the statistics and exports the CSV output.

About

Fork for the exercise part of the RTOS module.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 92.9%
  • C++ 3.4%
  • Assembly 2.8%
  • Other 0.9%