我正在尝试使用带有 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 文件中搜索,但不幸的是,这里没有定义这些方法,我也没有找到等效的方法。
有谁知道是否有问题?
发现地