1

我正在尝试使用带有 2 个内核的 buildroot 2020.02 构建嵌入式操作系统。我的 Linux 内核是 4.19.107,我的 Xenomai 内核是 3.1。我应用 Adeos 补丁以获得 ipipe 功能:来自此站点的 ipipe-core-4.19.106-cip21-arm07:https ://xenomai.org/downloads/ipipe/v4.x/arm/ 。编译工作与旧内核和旧 xenomai 版本一起工作,但是使用这个我在 /include/asm-generic/xenomai/hal.h 和 hal.c 中有编译错误:

./include/asm-generic/xenomai/hal.h:169:34: error: implicit declaration of function 'ipipe_propagate_irq'; did you mean 'rthal_propagate_irq'? [-Werror=implicit-function-declaration]
 #define rthal_propagate_irq(irq) ipipe_propagate_irq(irq)
                                  ^~~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/hal.h:524:2: note: in expansion of macro 'rthal_propagate_irq'
  rthal_propagate_irq(irq);
  ^~~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/hal.h: In function '__rthal_apc_schedule':
./include/asm-generic/xenomai/hal.h:168:38: error: implicit declaration of function 'ipipe_schedule_irq'; did you mean 'ipipe_disable_irq'? [-Werror=implicit-function-declaration]
 #define rthal_schedule_irq_root(irq) ipipe_schedule_irq(irq)
                                      ^~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/hal.h:537:3: note: in expansion of macro 'rthal_schedule_irq_root'
   rthal_schedule_irq_root(rthal_apc_virq);
   ^~~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/hal.h: In function 'rthal_apc_schedule':
./include/asm-generic/xenomai/hal.h:118:41: error: implicit declaration of function 'ipipe_test_and_stall_pipeline_head'; did you mean 'ipipe_test_and_stall_head'? [-Werror=implicit-function-declaration]
 #define rthal_local_irq_save(x)  ((x) = ipipe_test_and_stall_pipeline_head() & 1)
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/hal.h:118:41: note: in definition of macro 'rthal_local_irq_save'
 #define rthal_local_irq_save(x)  ((x) = ipipe_test_and_stall_pipeline_head() & 1)
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/hal.h:119:36: error: implicit declaration of function 'ipipe_restore_pipeline_head'; did you mean 'ipipe_restore_head'? [-Werror=implicit-function-declaration]
 #define rthal_local_irq_restore(x) ipipe_restore_pipeline_head(x)
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/hal.h:546:2: note: in expansion of macro 'rthal_local_irq_restore'
  rthal_local_irq_restore(flags);
  ^~~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/hal.h:203:3: error: implicit declaration of function 'ipipe_stall_pipeline_from'; did you mean 'ipipe_stall_head'? [-Werror=implicit-function-declaration]
   ipipe_stall_pipeline_from(ipipe_root_domain); \
   ^~~~~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/system.h:159:3: note: in expansion of macro 'rthal_emergency_console'
   rthal_emergency_console();
   ^~~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/xenomai/hal.h:204:3: error: implicit declaration of function 'ipipe_set_printk_sync'; did you mean 'ipipe_set_hooks'? [-Werror=implicit-function-declaration]
   ipipe_set_printk_sync(ipipe_current_domain); \
   ^~~~~~~~~~~~~~~~~~~~~

我在 ipipe.h 文件中搜索,但不幸的是,这里没有定义这些方法,我也没有找到等效的方法。

有谁知道是否有问题?

发现地

4

0 回答 0