Rtai 오류 해결 방법에 대한 제안

November 27, 2021 By Lucas Nibbi Off

권장: Fortect

<리>1. Fortect 다운로드 및 설치
  • 2. 프로그램을 열고 "스캔"을 클릭하십시오.
  • 3. 복구 프로세스를 시작하려면 "복구"를 클릭하십시오.
  • 이 소프트웨어를 다운로드하고 몇 분 안에 PC를 수정하십시오.

    rtai 오류를 나타내는 오류 메시지가 표시될 수 있습니다. 이 문제를 해결하기 위해 취할 수 있는 몇 가지 단계가 있습니다. 곧 해드리겠습니다.

    저는 RTAI를 배우고 있으며 Linux의 기초에 능합니다. 나는 항상 일련의 드문 작업(다른 기간) 처리로 오프쇼어 변수를 사용하여 아침에 간단한 RTAI 기록을 만들려고 노력해 왔습니다. 컴파일 후 많은 오류가 발생합니다. RTAI가 설치된 Ubuntu 운영 체제를 사용하고 있으며 Windows 이후 가상 머신에 여기에 탑재됩니다. 이 경우 오류의 소스가 실제로 내 코드에 있는지 또는 두 번째 RTAI 설치에 몇 가지 사항이 누락되어 있는지 확실하지 않습니다. 친구에 따르면 업데이트 및 릴리스 지침으로 특정 문제를 해결하려고 시도했지만 실패했습니다.

     <코드> ​​/ ( 공백 ) lab1b.c * /#include <리눅스 / 모듈.h>#include <리눅스 - init.h>#포함 #포함 #define ARG 0#define STACK_SIZE 1024#define PRIORITY RT_SCHED_HIGHEST_PRIORITY#define USE_FPU 1# 이제 rt_get_time()을 설정합니다.#define PERIOD nano2count (1e8)0과 같은 정수;/ 5 . 특정 스트림에는 정보 저장소가 필요합니다 * /RT_TASK inc_data;RT_TASK disp_data;/ ( space ) 구현된 지시문 * /void increment_number(긴 인수)  (1) 동안              대 * 숫자 증가 6 . /    숫자++    rt_task_wait_period();  무효 display_number(긴 인수)  다르지 않다 (1)          / * 프레젠테이션 번호 * /    printk("숫자는 n에서도 %입니다.", number);    rt_task_wait_period();  정적 int__init template_init(무효)  / * RT 시계 시작 * /  rt_set_periodic_mode();  start_rt_timer(PERIOD);  / * 스트림을 중심으로 구성되어 있는 연관 데이터를 초기화하고, 하나를 불연속적으로 만든다 * /  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, NOW, PERIOD);  rt_task_make_periodic (& disp_data, NOW, 1 * PERIOD);    반환 0;정적 무효 __exit template_exit(무효)      rt_task_delete (& inc_data);  rt_task_delete(& disp_data);module_init(템플릿_초기화);module_exit(template_exit); 

    rtai error

      KDIR: = / lib / 각 $(uname -r 셸)에 대한 모듈 대 빌드PWD: = $(PWD 래퍼)EXTRA_CFLAGS: = rrr(래퍼 rtai-config --module-cflags)obj-m: = lab1b.oUSER_CC: gcc와 동일USER_CFLAGS: $와 일치(shell -wall rtai-config --lxrt-cflags).PHONY: 연체 시계를 지우는 것을 잊지 마십시오.처음에는:    벅스(MAKE) -C $(KDIR) M = 수입(PWD) 모듈깨끗한:    money (MAKE) -C $ (KDIR) M은 $ (PWD)를 의미합니다.    rm -rf * .o - ~보다:   Watch -n 특정 "dmesg | Tail -n 20".에 맞서 :    $ (USER_CC) RR (USER_CFLAGS) $ <-i $ @ 

    make로 컴파일한 후, 가장 일반적으로 다음과 관련된 단일 전체 오류가 발생했습니다.

    rtai error

      make -C /lib/modules/3.16.0-30-generic/build M = / home / topsoodza 및 lab1b 모듈make [1]: 웹 디렉토리 `/usr/src/linux-headers-3.16. 0-30 총 ' CC [남] /home/topsoodza/lab1b/lab1b.o<명령줄>: 0: 0: 경고: "_FORTIFY_SOURCE" 재정의됨[기본적으로 활성화됨]: 0: three: 참고: 이것은 이전 정의에서 벗어난 도시입니다./usr/realtime/include/asm/rtai_hal.h:53:03 외부의 데이터 파일에 포함,                 동기는 /usr/realtime/include/asm/rtai.h:20,                 때문에 / usr 또는 실시간 / 포함 / rtai. 에: 27,                여기 /home/topsoodza/lab1b/lab1b.c:4:/usr/realtime/include/asm/rtai_hal_64.h: "rtai_save_flags_irqbit" 기능에서:/usr/realtime/include/asm/rtai_hal_64.h:411:2: 오류: 작동된 함수 선언 "local_save_flags_hw" 재생 [-werror equals implicit-function-declaration] rtai_save_flags(플래그);  ^^/usr/realtime/include/asm/rtai_hal_64.h: "rtai_save_flags_irqbit_and_cli" 도우미에서:/usr/realtime/include/asm/rtai_hal_64.h:418:2: 오류: 암시적 도우미 선언 "local_irq_save_hw" [-Werror = 암시적 기능 선언]  rtai_save_flags_and_cli(플래그); ^^/ usr / 실시간 - 포함 / asm / rtai_hal_64 .y: "rt_spin_lock_hw_irq" 기능에서:/usr/realtime/include/asm/rtai_hal_64.h:444:2: error: play 작동된 함수 선언 "local_irq_disable_hw" [-Werror is equal to implicit-function-declaration]  rtai_hw_cli();  ^^/usr/realtime/include/asm/rtai_hal_64.h: "rt_spin_unlock_hw_irq" 함수에서:/usr/realtime/include/asm/rtai_hal_64.Error: h: 451: 8: 실행된 함수 선언 "local_irq_enable_hw" [-Werror는 암시적 함수 선언을 의미함]  rtai_hw_sti();  ^^/usr/realtime/include/asm/rtai_hal_64.h: 아마도 "rt_spin_unlock_hw_irqrestore"를 실행 중인 경우:/usr/realtime/include/asm/rtai_hal_64.h:465:2: 오류: 암시적 검토 기능, "local_irq_restore_hw"와 유사 [-Werror는 암시적 기능 선언을 의미함]  rtai_hw_restore_flags(플래그);  ^^/usr/realtime/include/asm/rtai_hal_64.h: "rt_get_global_lock" 함수에서:/usr/realtime/include/asm/rtai_hal_64.h:546:2: 오류: 실행된 함수 선언 "ipipe_processor_id" 재생 [-werror는 암시적 함수 선언을 의미함] if (! test_and_set_bit (hal_processor_id (), & rtai_cpu_lock [0])) {  ^^훨씬 더 나은 멋진 파일 ./arch/x86/include/asm/atomic.h:8:03                 포함/리눅스 시스템/atomic.h: 4,                 ./arch/x86/include/asm/thread_info.h:24 사용,                 include / unix like / thread_info.h: 54에서 시작,                  de./arch/x86/include/asm/preempt.h:6,                 include / red hat / preempt.h에서 파생됨: 18,                 포함/리눅스 spinlock.h에서: 50,                 포함 후 / linux seqlock.h: 35,                 한 번 포함 / linux / time.h: 5,                 include / linux / stat.h에 따라 발생: 18,                 대부분의 include / linux 또는 module.h: 10,                 /home/topsoodza/lab1b/lab1b.c:1 범위:/usr/realtime/include/asm/rtai_hal_64.h: "rt_save_switch_to_real_time" 함수에서:/usr/realtime/include/asm/rtai_hal_64.h:290:36: 오류: "__ipipe_root_status"가 선언되지 않음(특정 함수의 첫 번째 목적) #define root_status_adr (cpuid) (& (__ ipipe_root_status))                                    ^^./arch/x86/include/asm/cmpxchg.h:42:24: 발견: 매크로 정의 사용 â € __xchg_opâ €          __typeof__ (* (ptr)) __ret은 (arg)와 일치합니다. n                       ^^/usr/realtime/include/asm/rtai_hal_64.h:693:44: 알림에서: "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: 참고: 공유에서 매크로 "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: 참고: "_rt_switch_to_real_time" 매크로 외에   _rt_switch_to_real_time(cpuid);   ^^/usr/realtime/include/asm/rtai_hal_64.h:290:36: 참고. 선언되지 않은 각 식별자는 실제로 수행된 각 식별자에 대해 한 번만 보고됩니다. #define ROOT_STATUS_ADR (cpuid) (& (__ ipipe_root_status))                                    ^^./arch/x86/include/asm/cmpxchg.h:42:24: 참고: "__xchg_op" 매크로와 연결된 각 정의에서          __typeof__ (* (ptr)) __ret = (인수); n                       ^^/usr/realtime/include/asm/rtai_hal_64.h:693:44: 전체 톤: "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: 경고: "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: 참고: 프록시 매크로 "_rt_switch_to_real_time"에서   _rt_switch_to_real_time(cpuid);   ^^/usr/realtime/include/asm/rtai_hal_64.h:693:79: 오류: 'ipipe_stall_flag'가 선언되지 않음(이 함수에 다른 항목이 있음)         rtai_linux_context [cpuid] .lflags = xchg(ROOT_STATUS_ADR(cpuid), (1 << IPIPE_STALL_FLAG)); n                                                                               ^^./arch/x86/include/asm/cmpxchg.h:42:39: 참고: "__xchg_op" 매크로를 미리 볼 때          __typeof__ (* (ptr)) __ret는 (인수)를 의미합니다. n                                       ^^/usr/realtime/include/asm/rtai_hal_64.h:693:44: 참고: "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: 주석: "art_switch_to_real_time" 매크로 확장   _rt_switch_to_real_time(cpuid);   ^^/usr/realtime/include/asm/rtai_hal.h:53:03 파일을 사용하여 사용 가능,                 /usr/realtime/include/asm/rtai.h:20 범위를 착용하고,                 / usr per realtime / include / rtai를 통해. 종료 시간: 27,                /home/topsoodza/lab1b/lab1b.c:4를 통해 생성:/usr/realtime/include/asm/rtai_hal_64.h:729:3: 오류: "__ipipe_set_current_domain" 함수와 관련된 암시적 선언 [-Werror = 암시적-함수-선언]/usr/realtime/include/asm/rtai_hal_64.h:50 0의 파일에 살아있는 포함,                 /usr/realtime/include/asm/rtai_hal.h:53에서 완전히 검색됨,                 /usr/realtime/include/asm/rtai.h:20의 경우,                 usr에 / 실시간으로 / rtai를 포함합니다. 시간: 27,                /home/topsoodza/lab1b/lab1b.c:4 동안:/usr/realtime/include/rtai_sched.h: 가장 뜨거운 수준에서:/usr/realtime/include/rtai_hal_names.h:33:30: 오류: "IPIPE_NR_FAULTS"가 지금 선언되지 않았습니다(모든 기능이 아님)#define HAL_NR_FAULTS IPIPE_NR_FAULTS                              ^^/usr/realtime/include/rtai_sched.h:207:36: 참고: 매크로 확대 "HAL_NR_FAULTS"에서 사용 가능  RT_TRAP_HANDLER task_trap_handler [HAL_NR_FAULTS];                                    ^^cc1: 일부 경고는 오류로 처리됩니다.make [2]: *** [/home/topsoodza/lab1b/lab1b.o] 오류 1make [1]: *** [_module_ - 홈 / lab1b당 topsoodza] 오류 2make [1]: 출력 목록 `/usr/src/linux-headers-3.16.0-30-generic 'make: *** [기본값] 오류 2topsoodza - topsoodza-VirtualBox: ~ / lab1b ? rrr gedit 오류 목록topsoodza @ topsoodza-VirtualBox: ~ lab1b $  

    이 소프트웨어를 다운로드하고 몇 분 안에 PC를 수정하십시오.

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