2022-02-25: Bern Kernel v0.3.0

Meeting Information

Subject:Milestone Meeting: Bern Kernel v0.3.0
Date/Time:25.02.2022, 13:30-14:00
Location:MS Teams
Note Taker:Stefan Lüthi

Participants

  • Stefan Lüthi (maintainer)
  • Roger Weber (advisor)

Agenda

  1. Milestone: Bern Kernel v0.3.0
  2. Timing measurements

Meeting


  1. Milestone: Bern Kernel v0.3.0
    1. Evaluation of milestone objectives:
      1. The kernel is reasonably stable, so that the development of the demonstration application can begin.

      2. The following changes where made since v0.2.0

        1. Message queues in the form of channels between threads.
        2. Multiple allocators:
          • Bump allocator (no deallocation)
          • Heap allocator
          • Memory pool (not accessible to the user at the moment)
        3. Log message using defmt
        4. Relaxation of memory restrictions and introduction of processes. Threads can now access other threads data within the same process.
        5. Interrupt handling, the user can now register interrupts at the kernel.
      3. The project is on track, no measures have to be taken

    2. Next steps:
      1. Create an example project to share with people, so that we can get feedback on the Bern RTOS.
Action ItemOwnerDue DateDone
Publish Kernel v0.3.0 to crates.ioStefan Lüthi05.03.2022
Create a project template for people to test Bern RTOS.Stefan Lüthi05.03.2022

  1. Timing measurements
    1. Wit the use of a Digilent Digital Discovery logic analyzer and a Python script, interrupt latency can now be measured automatically. The script flashes the test application onto the microcontroller, applies a pulse on an interrupt GPIO pin, and then measures the time until the RTOS toggles an output GPIO pin in the ISR.
    2. The timing can now be measured and visualized with ease, a histogram of different ISR latency is shown below. ISR Latency Histogram
    3. The timing measurement setup allows for characterization of the real-time aspects of the kernel. After this first test the script can be used to evaluate further timing constraints.

Next Meeting

according to sprint cycle