Vorschläge Zur Behebung Von Rtai-Fehlern

November 29, 2021 By Brock Radcliffe-Brown Off

Empfohlen: Fortect

  • 1. Laden Sie Fortect herunter und installieren Sie es
  • 2. Öffnen Sie das Programm und klicken Sie auf "Scannen"
  • 3. Klicken Sie auf "Reparieren", um den Reparaturvorgang zu starten
  • Laden Sie diese Software herunter und reparieren Sie Ihren PC in wenigen Minuten.

    Sie sehen möglicherweise eine leistungsstarke Fehlermeldung, die auf den rtai-Fehler hinweist. Es gibt mehrere Schritte, die Sie ausführen können, um dieses Problem zu beheben. Wir werden es in Kürze tun.

    Ich lerne RTAI und kann die Grundlagen von Linux beherrschen. Ich erlebe den Versuch, morgens einen einfachen RTAI-Datensatz mit zwei verschiedenen seltenen Aufgaben (unterschiedliche Zeiträume) zu erstellen, die eine Offshore-Variable adressieren. Ich bekomme viele Fehler nach dem Kompilieren. Ich verwende Ubuntu-Betriebssystem ausreichend Grund für RTAI installiert, das nach Windows eine virtuelle Maschine wieder eingehängt wird. In diesem Fall bin ich mir nicht sicher, sofern die Fehlerquelle wahrscheinlich in meinem Code berücksichtigt wird oder nur ein paar Dinge bei der Installation von RTAI fehlen. Laut einem Haustier habe ich erfolglos versucht, das Problem mit der Update- und Update-Anleitung zu lösen.

      / 3 . lab1b.c * /#include #include #include #include #define ARG 0#define STACK_SIZE 1024#define PRIORITY RT_SCHED_HIGHEST_PRIORITY#define USE_FPU 1# setze jetzt rt_get_time ()#define PERIODE nano2count (1e8)eine ganze Zahl gleich 0;/ Ein bestimmter Stream erfordert einen Datendateispeicher * /RT_TASK inc_data;RT_TASK disp_data;/ 4 . Implementierte Richtlinien * /void increment_number (langes Argument)  während (1)              pro * erhöhen Sie die Zahl 5. /    Nummer ++    rt_task_wait_period ();  void display_number (langes Argument)  die beinhalten (1)          / * Präsentationsnummer * /    printk ("Zahl ist auch% deborah  n", Zahl);    rt_task_wait_period ();  statisch int__init template_init (void)  / * RT-Alarm starten * /  rt_set_periodic_mode ();  start_rt_timer (PERIODE);  / * Initialisieren Sie die zugehörigen Daten, die einen Stream betreffen, und machen Sie die Site diskontinuierlich * /  rt_task_init (& inc_data, Inkrement_Nummer, ARG, STACK_SIZE, PRIORITY, USE_FPU, NULL);  rt_task_init (& disp_data, display_number, ARG, STACK_SIZE, PRIORITY, USE_FPU, NULL);    rt_task_make_periodic (& inc_data, JETZT, PERIODE);  rt_task_make_periodic (& disp_data, JETZT, mehrere * PERIODE);    Rückgabe 0;statisch void __exit template_exit (void)      rt_task_delete (& inc_data);  rt_task_delete (& disp_data);module_init (template_init);module_exit (template_exit); 

    rtai error

      KDIR: = /lib /modules oder $ (uname -r shell) versus buildPWD: = $ (PWD-Wrapper)EXTRA_CFLAGS: = buck (wrapper rtai-config --module-cflags)obj-m: = lab1b.oUSER_CC: ist gleich gccUSER_CFLAGS: entspricht $ (shell -wall rtai-config --lxrt-cflags).PHONY: Denken Sie daran, die Uhr standardmäßig zu löschen.Anfänglich:    Einkommen (MAKE) -C $ (KDIR) M = rr (PWD) Modulsauber:    Bargeld (MAKE) -C $ (KDIR) M entspricht $ (PWD) clear    rm -rf * .o 4 . ~sehen:   Watch -n nur eine "dmesg | Tail -n 20".GEGEN :    $ (USER_CC) Dollar (USER_CFLAGS) $ <-i $ @ 

    Nach der Kompilierung mit make bin ich auf eine Reihe von sinnvollen Fehlern gestoßen, die meisten in Bezug auf:

    rtai error

      make -C /lib/modules/3.16.0-30-generic/build M = /home /topsoodza für jedes lab1b-Modulmake [1]: Geben Sie die Liste `/usr/src/linux-headers-3.16. 0-30 insgesamt ' CC [M] /home/topsoodza/lab1b/lab1b.o: 0: 0: Warnung: "_FORTIFY_SOURCE" überschrieben [standardmäßig aktiviert]: 0: 3: Hinweis: Dies ist die Stadt weit von der vorherigen Definition entferntIn der Lodge außerhalb von /usr/realtime/include/asm/rtai_hal.h:53:03 enthalten,                 stimuliert durch /usr/realtime/include/asm/rtai.h:20,                 wegen / usr und realtime / include / rtai. zusammen mit: 27,                über /home/topsoodza/lab1b/lab1b.c:4:/usr/realtime/include/asm/rtai_hal_64.h: In der Funktion "rtai_save_flags_irqbit":/usr/realtime/include/asm/rtai_hal_64.h:411:2: error: Abspielfunktionsdeklaration "local_save_flags_hw" [-werror bedeutet implizite-Funktionsdeklaration] rtai_save_flags (Flags);  ^/usr/realtime/include/asm/rtai_hal_64.h: In unserem "rtai_save_flags_irqbit_and_cli"-Helper:/usr/realtime/include/asm/rtai_hal_64.h:418:2: error: implizite Helferproklamation "local_irq_save_hw" [-Werror = implicit-function-declaration]  rtai_save_flags_and_cli (Flags); ^/usr/realtime - include /asm/rtai_hal_64.y: in die Funktion "rt_spin_lock_hw_irq":/usr/realtime/include/asm/rtai_hal_64.h:444:2: error: implizite Funktionsdeklaration "local_irq_disable_hw" [-Werror impliziert implizite-Funktionsdeklaration]  rtai_hw_cli ();  ^/usr/realtime/include/asm/rtai_hal_64.h: In der Funktion "rt_spin_unlock_hw_irq":/usr/realtime/include/asm/rtai_hal_64.Error: h: 451: einfach: Ausgeführte Funktionsdeklaration "local_irq_enable_hw" [-Werror ist gleich impliziter-Funktionsdeklaration]  rtai_hw_sti ();  ^/usr/realtime/include/asm/rtai_hal_64.h: zurück beim Ausführen von "rt_spin_unlock_hw_irqrestore":/usr/realtime/include/asm/rtai_hal_64.h:465:2: error: implizite Ablagefunktion, ähnlich wie "local_irq_restore_hw" [-Werror bedeutet implizite-Funktions-Deklaration]  rtai_hw_restore_flags (Flags);  ^/usr/realtime/include/asm/rtai_hal_64.h: In der Funktion "rt_get_global_lock":/usr/realtime/include/asm/rtai_hal_64.h:546:2: error: Ausgeführte Funktionsdeklaration "ipipe_processor_id" [-werror entspricht impliziter-Funktionsdeklaration] if (! test_and_set_bit (hal_processor_id (), & rtai_cpu_lock [0])) {  ^In einer einzigen noch besseren Datei ./arch/x86/include/asm/atomic.h:8:03                 mit include / linux systems / atomic.h: 4,                 mit ./arch/x86/include/asm/thread_info.h:24,                 beginnend bei include / linux system / thread_info.h: 54,                  de./arch/x86/include/asm/preempt.h:6,                 abgeleitet von include/ubuntu/preempt.h: 18,                 from include / linux versus spinlock.h: 50,                 weg von include / linux versus seqlock.h: 35,                 sobald include / linux / time.h: 5,                 verursacht durch include / linux / stat.h: 18,                 Ich würde sagen, die Hände von include / linux für jedes module.h: 10,                 innerhalb von /home/topsoodza/lab1b/lab1b.c:1:/usr/realtime/include/asm/rtai_hal_64.h: In der Funktion "rt_save_switch_to_real_time":/usr/realtime/include/asm/rtai_hal_64.h:290:36: Fehler: "__ipipe_root_status" nicht deklariert (erster Versuch in einer bestimmten Funktion) #define root_status_adr (cpuid) (& (__ ipipe_root_status))                                    ^./arch/x86/include/asm/cmpxchg.h:42:24: entdecken: Betrieb in Makrodefinition â € __xchg_opâ €          __typeof__ (* (ptr)) __ret entspricht (arg); n                       ^/usr/realtime/include/asm/rtai_hal_64.h:693:44: in einer Benachrichtigung: Erweiterung des "xchg"-Makros         rtai_linux_context [cpuid] .lflags impliziert xchg (ROOT_STATUS_ADR (cpuid), (1 << IPIPE_STALL_FLAG)); n                                            ^/usr/realtime/include/asm/rtai_hal_64.h:693:49: Hinweis: in der Distribution das Makro "ROOT_STATUS_ADR"         rtai_linux_context [cpuid] .lflags bedeutet xchg (ROOT_STATUS_ADR (cpuid), (1 << IPIPE_STALL_FLAG)); n                                                 ^/usr/realtime/include/asm/rtai_hal_64.h:729:3: Hinweis: zusätzlich zum Makro "_rt_switch_to_real_time"   _rt_switch_to_real_time (cpuid);   ^/usr/realtime/include/asm/rtai_hal_64.h:290:36: Hinweis. Jeder nicht deklarierte Bezeichner wird wirklich nur einmal für jeden Put gemeldet, in dem er auftaucht. #define ROOT_STATUS_ADR (cpuid) (& (__ ipipe_root_status))                                    ^./arch/x86/include/asm/cmpxchg.h:42:24: Hinweis: in der Hauptdefinition, die mit dem Makro "__xchg_op" verknüpft ist          __typeof__ (* (ptr)) __ret = (Argument); n                       ^/usr/realtime/include/asm/rtai_hal_64.h:693:44: während der Abfragen: Erweiterung des "xchg"-Makros         rtai_linux_context [cpuid] .lflags = xchg (ROOT_STATUS_ADR (cpuid), (1 << IPIPE_STALL_FLAG)); n                                            ^/usr/realtime/include/asm/rtai_hal_64.h:693:49: Achtung: als Erweiterung der meisten Makros "ROOT_STATUS_ADR"         rtai_linux_context [cpuid] .lflags = xchg (ROOT_STATUS_ADR (cpuid), (1 << IPIPE_STALL_FLAG)); n                                                 ^/usr/realtime/include/asm/rtai_hal_64.h:729:3: Hinweis: im Proxy-Makro "_rt_switch_to_real_time"   _rt_switch_to_real_time (cpuid);   ^/usr/realtime/include/asm/rtai_hal_64.h:693:79: Fehler: 'ipipe_stall_flag' nicht deklariert (anderer Versuch in dieser Funktion)         rtai_linux_context [cpuid] .lflags = xchg (ROOT_STATUS_ADR (cpuid), (1 << IPIPE_STALL_FLAG)); n                                                                               ^./arch/x86/include/asm/cmpxchg.h:42:39: Hinweis: bei der Vorschau des Makros "__xchg_op"          __typeof__ (* (ptr)) __ret bedeutet (Argument); n                                       ^/usr/realtime/include/asm/rtai_hal_64.h:693:44: Hinweis: Erweiterung des "xchg"-Makros         rtai_linux_context [cpuid] .lflags entspricht xchg (ROOT_STATUS_ADR (cpuid), (1 << IPIPE_STALL_FLAG)); n                                            ^/usr/realtime/include/asm/rtai_hal_64.h:729:3: in Anmerkung: Erweiterung beim Makro "art_switch_to_real_time"   _rt_switch_to_real_time (cpuid);   ^Verfügbar in der Datei /usr/realtime/include/asm/rtai_hal.h:53:03,                 in der Nähe von /usr/realtime/include/asm/rtai.h:20,                 via /usr und realtime /include/rtai. von: 27,                produziert zur Zeit von /home/topsoodza/lab1b/lab1b.c:4:/usr/realtime/include/asm/rtai_hal_64.h:729:3: error: implizite Deklaration jetzt verknüpft mit Funktion "__ipipe_set_current_domain" [-Werror = implicit-function-declaration]Enthalten Sie die Datei aus /usr/realtime/include/asm/rtai_hal_64.h:50 0,                 abgerufen in /usr/realtime/include/asm/rtai_hal.h:53,                 neben /usr/realtime/include/asm/rtai.h:20,                 zu pro usr / realtime / einschließen und rtai. um: 27,                in /home/topsoodza/lab1b/lab1b.c:4:/usr/realtime/include/rtai_sched.h: Auf exzellentem Niveau:/usr/realtime/include/rtai_hal_names.h:33:30: Fehler: "IPIPE_NR_FAULTS" ist jetzt nicht deklariert (nicht in allen Funktionen)#define HAL_NR_FAULTS IPIPE_NR_FAULTS                              ^/usr/realtime/include/rtai_sched.h:207:36: Hinweis: verfügbar in Makro-Erweiterung "HAL_NR_FAULTS"  RT_TRAP_HANDLER task_trap_handler [HAL_NR_FAULTS];                                    ^cc1: Einige Sicherheitsmaßnahmen werden als Fehler behandeltmake [2]: *** [/home/topsoodza/lab1b/lab1b.o] Fehler 1make [1]: *** [_module_ per home / topsoodza für jedes lab1b] Fehler 2make [1]: Ausgabe-Website-Verzeichnis `/usr/src/linux-headers-3.16.0-30-generic 'machen: *** [Standard] Fehler 2topsoodza - topsoodza-VirtualBox: ~ / lab1b rrr gedit Fehlerlistetopsoodza @ topsoodza-VirtualBox: ~ für jedes lab1b $  

    Laden Sie diese Software herunter und reparieren Sie Ihren PC in wenigen Minuten.

    Rtai Error
    Rtai 오류
    Erro Rtai
    Errore Rtai
    Rtai Fout
    Error Rtai
    Oshibka Rtai
    Rtai Blad
    Rtai Fel
    Erreur Rtai