Предложения по исправлению ошибок Rtai
November 29, 2021Рекомендуется: Fortect
Вы можете увидеть маркетинговое сообщение об ошибке, указывающее на ошибку rtai. Вы можете предпринять несколько шагов, чтобы решить эту проблему. Мы займемся этим в ближайшее время.
Я изучаю RTAI, могу освоить основы Linux. Я пытаюсь сделать простую запись RTAI к утру с двумя редкими предприятиями (в разные периоды времени), обрабатывающими зарубежную переменную. После компиляции у меня появляется много ошибок. Я выбираю операционную систему Ubuntu с установленным RTAI, которая монтируется на отдельном сервере после Windows. В этом отношении я не уверен, что веб-сайт с ошибкой, вероятно, выполняет мой код, или потому, что при установке RTAI не хватает только нескольких вещей. По словам друга, я безуспешно намеревался решить проблему, когда дело доходит до обновлений и инструкций по обновлению.
/ * lab1b.c 4. /#include #include #include #include #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;/ * Фактическому потоку требуется хранилище данных 7. /RT_TASK inc_data;RT_TASK disp_data;/ * Реализованные директивы * /void increment_number (длинный аргумент) внутри курса (1) / * в полной мере воспользоваться числом * / Число ++ rt_task_wait_period (); void display_number (длинный аргумент) нравится (1) / * Презентация № 7. / printk ("число действительно также% d n", число); rt_task_wait_period (); статический int__init template_init (недействительный) * Запуск часов RT 7. / rt_set_periodic_mode (); start_rt_timer (ПЕРИОД); / * Инициализируем соответствующие данные, которые состоят из пула, и делаем их прерывистыми 1. / 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, СЕЙЧАС, ПЕРИОД); rt_task_make_periodic (& disp_data, СЕЙЧАС, 6 * ПЕРИОД); Возврат 0;статическое обнуление __exit template_exit (void) rt_task_delete (& inc_data); rt_task_delete (& disp_data);module_init (template_init);module_exit (шаблон_exit);
KDIR: = или lib / modules / rrr (uname -r shell) / buildPWD: = баксы (обертка PWD)EXTRA_CFLAGS: = $ (оболочка rtai-config --module-cflags)obj-m: = lab1b.oUSER_CC: = gccUSER_CFLAGS: ссылается на $ (shell -wall rtai-config --lxrt-cflags).PHONY: Не забудьте очистить часы по умолчанию.Изначально: $ (MAKE) -C RR (KDIR) M = модуль $ (PWD)чистый: $ (MAKE) -C $ (KDIR) M = баксов (PWD) очистить rm -эмиттер * .o * ~видеть: Смотреть -n 1 "dmesg | Хвост -n 20".ПРОТИВ : ? rrr (USER_CC) $ (USER_CFLAGS) buck <-i $ @
После компиляции в make я столкнулся с целым пакетом ошибок, чаще всего связанных, чтобы помочь вам:
develop -C /lib/modules/3.16.0-30-generic/build M = для каждого модуля home / topsoodza / lab1bmake [1]: войдите в каталог `/usr/src/linux-headers-3.16. 0-30 финиш ' CC [M] /home/topsoodza/lab1b/lab1b.o<Командная строка>: 0: 0: Предупреждение: "_FORTIFY_SOURCE" переопределено [разрешено любезно - по умолчанию]: 0: 0: Примечание: эта ценность - город из старого определенияВключено в файл вне открытого /usr/realtime/include/asm/rtai_hal.h:53:03, вызвал, а также /usr/realtime/include/asm/rtai.h:20, учитывая, что / usr / realtime по сравнению с include / 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 = объявление-неявной-функции] 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 / realtime / include или asm / rtai_hal_64 .h: в большинстве функций "rt_spin_lock_hw_irq":/usr/realtime/include/asm/rtai_hal_64.h:444:2: ошибка: неявная запись функции "local_irq_disable_hw" [-Werror = объявление-неявной-функции] 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: 2: Объявление выполненного задания "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 = объявление-неявной-функции] в случае, когда (! test_and_set_bit (hal_processor_id (), & rtai_cpu_lock [0])) { ^В даже улучшенном файле ./arch/x86/include/asm/atomic.h:8:03 который имеет include / linux - atomic.h: 4, с ./arch/x86/include/asm/thread_info.h:24, настройка в include / linux и thread_info.h: 54, de./arch/x86/include/asm/preempt.h:6, на основе include / linux preempt.h: 18, для include / linux / 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: discover: в макро характеризации â € __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: note: Расширение макроса "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 / realtime для включения / 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 в реальном времени / include / 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_ / asset / topsoodza / lab1b] Ошибка 2make [1]: выходной каталог `/usr/src/linux-headers-3.16.0-30-generic 'make: *** [по умолчанию] ошибка 2topsoodza @ topsoodza-VirtualBox:! / lab1b $ gedit сделать список ошибокtopsoodza @ topsoodza-VirtualBox: ~ / lab1b $
Загрузите это программное обеспечение и почините свой компьютер за считанные минуты. г.Rtai Error
Rtai 오류
Erro Rtai
Errore Rtai
Rtai Fout
Rtai Fehler
Error Rtai
Rtai Blad
Rtai Fel
Erreur Rtai
г.