Sugerencias Completas Sobre Cómo Corregir Errores De Rtai

November 29, 2021 By Gary Lamb Off

Recomendado: Fortect

  • 1. Descargue e instale Fortect
  • 2. Abra el programa y haga clic en "Escanear"
  • 3. Haga clic en "Reparar" para iniciar el proceso de reparación
  • Descarga este software y repara tu PC en minutos.

    Es posible que vea el mensaje de error que indica el error rtai. Hay varios pasos que puede dejar de lado para solucionar este problema. Lo haremos en breve.

    Estoy aprendiendo RTAI, puedo dominar estos conceptos básicos de Linux. Estoy intentando hacer un documento RTAI simple por la mañana con dos tareas difíciles de conseguir (diferentes períodos de tiempo) que se manejan por variable en alta mar. Recibo una tierra de errores después de compilar. Yo por la mañana usando el sistema operativo Ubuntu con RTAI instalado, que está montado en una máquina virtual después de Windows. En mi caso, no estoy seguro de si una fuente particular del error está en mi código o porque faltan algunas cosas significativas al instalar RTAI. Según un amigo, intenté sin éxito resolver la difícil tarea con los aspectos de actualización y actualización.

      / * lab1b.c 1. /#include #include #include #include #define ARG 0#define STACK_SIZE 1024#define PRIORITY RT_SCHED_HIGHEST_PRIORITY#define USE_FPU 1# establecer rt_get_time ()#define PERIOD nano2count (1e8)un número entero igual a 0;/ * Una secuencia específica requiere un lugar de datos * /RT_TASK inc_data;RT_TASK disp_data;/ * Directivas implementadas * /void increment_number (argumento largo)  durante (1)              / 1. aumentar el número * /    Número ++    rt_task_wait_period ();  void display_number (argumento largo)  como (1)          / * Elección de presentación * /    printk ("el número también es% d  n", número);    rt_task_wait_period ();  static int__init template_init (vacío)  y * Iniciar reloj RT 5. /  rt_set_periodic_mode ();  start_rt_timer (PERIODO);  / * Inicializar estos datos asociados, que consisten en un buen flujo, y hacerlos discontinuos (en blanco) /  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, AHORA, PERIODO);  rt_task_make_periodic (& disp_data, AHORA, 6 PERIODO);    Devuelve 0;vacío estático __exit template_exit (vacío)      rt_task_delete (& inc_data);  rt_task_delete (& disp_data);module_init (template_init);module_exit (template_exit); 

    rtai error

      KDIR: es igual a / lib / modules / rr (uname -r shell) / buildPWD: es igual a $ (envoltorio PWD)EXTRA_CFLAGS: = buck (envoltorio rtai-config --module-cflags)obj-m: = lab1b.oUSER_CC: es igual a gccUSER_CFLAGS: coincide con $ (shell -wall rtai-config --lxrt-cflags).PHONY: Recuerda borrar el reloj de delincuentes.Inicialmente:    $ (MAKE) -C $ (KDIR) M = módulo usd (PWD)limpio:    dinero (HACER) -C $ (KDIR) M =? rrr (PWD) borrar    rm -rf * .o * ~ver:   Ver -n 1 "dmesg | Tail -n 20".CONTRA :    $ (USER_CC) $ (USER_CFLAGS) rr <-i $ @ 

    Después de obtener con make, encontré una gran cantidad de errores, la mayoría de las veces asociados a:

    rtai error

      make -C /lib/modules/3.16.0-30-generic/build M implica módulos / home / topsoodza o lab1bmake [1]: ingrese el índice `/usr/src/linux-headers-3.16. 0-30 en total ' CC [M] /home/topsoodza/lab1b/lab1b.o: 0: 0: Advertencia: "_FORTIFY_SOURCE" anulado [habilitado de forma predeterminada]: 0: 0: Nota: esta es la ciudad de esta definición anterior en particularIncluido en el archivo en el exterior /usr/realtime/include/asm/rtai_hal.h:53:03,                 animado por /usr/realtime/include/asm/rtai.h:20,                 solo por / usr per realtime / include / rtai. en: 27,                en /home/topsoodza/lab1b/lab1b.c:4:/usr/realtime/include/asm/rtai_hal_64.h: En la función "rtai_save_flags_irqbit":/usr/realtime/include/asm/rtai_hal_64.h:411:2: error: declaración de rendimiento implícita "local_save_flags_hw" [-werror = declaración de función implícita] rtai_save_flags (banderas);  ^/usr/realtime/include/asm/rtai_hal_64.h: En el ayudante exacto "rtai_save_flags_irqbit_and_cli":/usr/realtime/include/asm/rtai_hal_64.h:418:2: error: asistente implícito prestando atención "local_irq_save_hw" [-Werror = declaración-función-implícita]  rtai_save_flags_and_cli (banderas); ^/ usr / realtime / tenga en cuenta / asm / rtai_hal_64 .h: aquí en la función "rt_spin_lock_hw_irq":/usr/realtime/include/asm/rtai_hal_64.h:444:2: error: declaración de asistencia implícita "local_irq_disable_hw" [-Werror = declaración-de-función-implícita]  rtai_hw_cli ();  ^/usr/realtime/include/asm/rtai_hal_64.h: En una nueva función "rt_spin_unlock_hw_irq":/usr/realtime/include/asm/rtai_hal_64.Error: h: 451: 2: Declaración de función ejecutada "local_irq_enable_hw" [-Werror equivale a declaración de función implícita]  rtai_hw_sti ();  ^/usr/realtime/include/asm/rtai_hal_64.h: en los casos en los que se ejecuta "rt_spin_unlock_hw_irqrestore":/usr/realtime/include/asm/rtai_hal_64.h:465:2: error: la declaración implícita entrega los resultados, similar a "local_irq_restore_hw" [-Werror es igual a la declaración de función implícita]  rtai_hw_restore_flags (banderas);  ^/usr/realtime/include/asm/rtai_hal_64.h: En la función "rt_get_global_lock":/usr/realtime/include/asm/rtai_hal_64.h:546:2: error: declaración implícita de proporcionar "ipipe_processor_id" [-werror = declaración-función-implícita] en caso de que (! test_and_set_bit (hal_processor_id (), & rtai_cpu_lock [0])) {  ^En un archivo aún mejor ./arch/x86/include/asm/atomic.h:8:03                 con include / linux atomic.h: 4,                 generando uso de ./arch/x86/include/asm/thread_info.h:24,                  en include / linux para cada thread_info.h: 54,                  de./arch/x86/include/asm/preempt.h:6,                 resultante de include / linux preempt.h: 18,                 por include / linux por spinlock.h: 50,                 como include / linux / seqlock.h: 35,                 después de son / linux / time.h: 5,                 causado por permitir para / linux / stat.h: 18,                 a cargo de include / linux por módulo. h: 10,                 originalmente de /home/topsoodza/lab1b/lab1b.c:1:/usr/realtime/include/asm/rtai_hal_64.h: En la función "rt_save_switch_to_real_time":/usr/realtime/include/asm/rtai_hal_64.h:290:36: Error: "__ipipe_root_status" no declarado (primer uso con una función específica) #define root_status_adr (cpuid) (& (__ ipipe_root_status))                                    ^./arch/x86/include/asm/cmpxchg.h:42:24: descubrir: cuando la definición de macro es â € __xchg_opâ €          __typeof__ (* (ptr)) __ret fixtures (arg); n                       ^/usr/realtime/include/asm/rtai_hal_64.h:693:44: in a letter: off shoot de la macro "xchg"         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: Nota: en la distribución nuestra propia macro "ROOT_STATUS_ADR"         rtai_linux_context [cpuid] .lflags significa xchg (ROOT_STATUS_ADR (cpuid), (1 << IPIPE_STALL_FLAG)); n                                                 ^/usr/realtime/include/asm/rtai_hal_64.h:729:3: Nota: aparece además de la macro "_rt_switch_to_real_time"   _rt_switch_to_real_time (cpuid);   ^/usr/realtime/include/asm/rtai_hal_64.h:290:36: Nota. Cada identificador no declarado se informa fundamentalmente una vez por cada ejecución en la que aparece este método. #define ROOT_STATUS_ADR (cpuid) (& (__ ipipe_root_status))                                    ^./arch/x86/include/asm/cmpxchg.h:42:24: Nota: en el significado asociado con la macro "__xchg_op"          __typeof__ (* (ptr)) __ret es igual a (argumento); n                       ^/usr/realtime/include/asm/rtai_hal_64.h:693:44: a lo largo de la nota: Ampliación de la macro "xchg"         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: Advertencia: como una extensión de algún tipo de macro "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: Nota: en toda la macro de proxy "_rt_switch_to_real_time"   _rt_switch_to_real_time (cpuid);   ^/usr/realtime/include/asm/rtai_hal_64.h:693:79: error: 'ipipe_stall_flag' no declarado (otro uso dentro de esta función)         rtai_linux_context [cpuid] .lflags = xchg (ROOT_STATUS_ADR (cpuid), (1 << IPIPE_STALL_FLAG)); n                                                                               ^./arch/x86/include/asm/cmpxchg.h:42:39: Nota: después de obtener una vista previa de la macro "__xchg_op"          __typeof__ (* (ptr)) __ret es igual a (argumento); n                                       ^/usr/realtime/include/asm/rtai_hal_64.h:693:44: preste atención: Ampliación de la macro "xchg"         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: en anotación: extensión de incuestionablemente la macro "art_switch_to_real_time"   _rt_switch_to_real_time (cpuid);   ^Disponible en el archivo /usr/realtime/include/asm/rtai_hal.h:53:03,                 en el que el rango de /usr/realtime/include/asm/rtai.h:20,                 a través de / usr o en tiempo real / include / rtai. en: 27,                producido por - /home/topsoodza/lab1b/lab1b.c:4:/usr/realtime/include/asm/rtai_hal_64.h:729:3: error: declaración implícita asociada con el rol "__ipipe_set_current_domain" [-Werror = declaración-de-función-implícita]Incluido en todos los archivos de /usr/realtime/include/asm/rtai_hal_64.h:50 0,                 recuperado de /usr/realtime/include/asm/rtai_hal.h:53,                 con /usr/realtime/include/asm/rtai.h:20,                 ay usr / realtime / include - rtai. en: 27,                provocado por /home/topsoodza/lab1b/lab1b.c:4:/usr/realtime/include/rtai_sched.h: En el nivel superior:/usr/realtime/include/rtai_hal_names.h:33:30: Error: "IPIPE_NR_FAULTS" no se declara allí (no en todas las funciones) #define HAL_NR_FAULTS IPIPE_NR_FAULTS                              ^/usr/realtime/include/rtai_sched.h:207:36: Nota: disponible en la extensión de macro "HAL_NR_FAULTS"  RT_TRAP_HANDLER manipulador de trampas de tareas [HAL_NR_FAULTS];                                    ^cc1: algunas advertencias generalmente se tratan como erroresmake [2]: *** [/home/topsoodza/lab1b/lab1b.o] Error 1make [1]: *** [_module_ per home / topsoodza / lab1b] Error 2make [1]: directorio de salida `/usr/src/linux-headers-3.16.0-30-generic 'hacer: *** [predeterminado] error 2topsoodza en topsoodza-VirtualBox: ~ / lab1b $ lista de errores gedittopsoodza @ topsoodza-VirtualBox: ~ por lab1b $  

    Descarga este software y repara tu PC en minutos.

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