Difference between revisions of "Control Daemon"

From apertus wiki
Jump to: navigation, search
(Created page with "Currently, booting up the camera is as follows: a systemd service is activated which runs a shell script this script then loads a bitstream into the FPGA and uses a t...")
 
m
Line 1: Line 1:
Currently, booting up the camera is as follows:
Currently, booting up the camera is as follows:


    a systemd service is activated which runs a shell script
* A systemd service is activated which runs a shell script
    this script then loads a bitstream into the FPGA and uses a ton of other scripts and C programs to train the LVDS channels and set up the HDMI output
* This script then loads a bitstream into the FPGA and uses a ton of other scripts and C programs to train the LVDS channels and set up the HDMI output


When the service is disabled, the user can run this script manually, which:
When the service is disabled, the user can run this script manually, which:


    of course, does not keep the user from running it even if it has already been activated by systemd
* Of course, does not keep the user from running it even if it has already been activated by systemd
    and on the other hand, simple scripts which query the registers (e.g. to get the temperature of the sensor) can be actived even if the FPGA bitstream was not loaded
* And on the other hand, simple scripts which query the registers (e.g. to get the temperature of the sensor) can be actived even if the FPGA bitstream was not loaded


All of those lead to a solid lockup of the Beta, because if you write to one of those memory addresses which are used for communicating with the PL, and there is no handler in the FPGA, the ARM cores lock up solid, no recovery possible they basically wait for an ACK/NACK forever.
All of those lead to a solid lockup of the Beta, because if you write to one of those memory addresses which are used for communicating with the PL, and there is no handler in the FPGA, the ARM cores lock up solid, no recovery possible they basically wait for an ACK/NACK forever.


Research is taking place in the Labs [https://lab.apertus.org/T757 here].
Research is taking place in the Labs [https://lab.apertus.org/T757 here].

Revision as of 00:25, 8 November 2017

Currently, booting up the camera is as follows:

  • A systemd service is activated which runs a shell script
  • This script then loads a bitstream into the FPGA and uses a ton of other scripts and C programs to train the LVDS channels and set up the HDMI output

When the service is disabled, the user can run this script manually, which:

  • Of course, does not keep the user from running it even if it has already been activated by systemd
  • And on the other hand, simple scripts which query the registers (e.g. to get the temperature of the sensor) can be actived even if the FPGA bitstream was not loaded

All of those lead to a solid lockup of the Beta, because if you write to one of those memory addresses which are used for communicating with the PL, and there is no handler in the FPGA, the ARM cores lock up solid, no recovery possible they basically wait for an ACK/NACK forever.

Research is taking place in the Labs here.