NXP

【zephyr】arch 头文件包括

2019-07-12 12:09发布

异常出错定义  In file included from ../../../../ext/hal/nxp/mcux/drivers/imx/./fsl_common.h:168:0, from ../../../../arch/arm/soc/nxp_imx/rt/soc.h:18, from ../../../../include/arch/arm/cortex_m/cmsis.h:21, from ../../../../arch/arm/include/cortex_m/stack.h:27, from ../../../../arch/arm/include/kernel_arch_data.h:52, from ../../../../kernel/include/kernel_structs.h:65, from E:/work/code/zephyr20190302/arch/arm/core/offsets/offsets.c:26: ../../../../ext/hal/nxp/mcux/devices/MIMXRT1052/fsl_clock.h: In function 'CLOCK_EnableClock': ../../../../ext/hal/nxp/mcux/devices/MIMXRT1052/fsl_clock.h:868:2: warning: statement with no effect [-Wunused-value] {11 ^ ../../../../ext/hal/nxp/mcux/devices/MIMXRT1052/fsl_clock.h:869:5: error: expected ';' before 'CLOCK_ControlGate' CLOCK_ControlGate(name, kCLOCK_ClockNeededRunWait); ^ ninja: build stopped: subcommand failed. // archarmcoreoffsetsoffsets.c #include #include #include

第一级 定义引用头文件 

E:workcodezephyr20190302kernelincludekernel_structs.h #ifdef CONFIG_STACK_SENTINEL /* Magic value in lowest bytes of the stack */ #define STACK_SENTINEL 0xF0F0F0F0 #endif /* lowest value of _thread_base.preempt at which a thread is non-preemptible */ #define _NON_PREEMPT_THRESHOLD 0x0080 /* highest value of _thread_base.preempt at which a thread is preemptible */ #define _PREEMPT_THRESHOLD (_NON_PREEMPT_THRESHOLD - 1) #include

第2级 定义引用头文件 

//archarmincludekernel_arch_data.h /* stacks */ #define STACK_ROUND_UP(x) ROUND_UP(x, STACK_ALIGN_SIZE) #define STACK_ROUND_DOWN(x) ROUND_DOWN(x, STACK_ALIGN_SIZE) #ifdef CONFIG_CPU_CORTEX_M #include //调用关系 #include #endif

第3级 定义引用头文件 

E:workcodezephyr20190302archarmincludecortex_mstack.h #ifdef __cplusplus extern "C" { #endif #ifdef _ASMLANGUAGE /* nothing */ #else #include "arch/arm/cortex_m/cmsis.h" extern K_THREAD_STACK_DEFINE(_interrupt_stack, CONFIG_ISR_STACK_SIZE);

第4级 定义引用头文件  

E:workcodezephyr20190302includearcharmcortex_mcmsis.h #ifndef _CMSIS__H_ #define _CMSIS__H_ #ifdef __cplusplus extern "C" { #endif #include

第5级 定义引用头文件  

E:workcodezephyr20190302archarmincludecortex_mstack.h #ifndef _ARM_CORTEXM_STACK__H_ #define _ARM_CORTEXM_STACK__H_ #ifdef __cplusplus extern "C" { #endif #ifdef _ASMLANGUAGE //未定义 /* nothing */ #else #include "arch/arm/cortex_m/cmsis.h"  

第6级 定义引用头文件 

E:workcodezephyr20190302archarmsoc xp_imx tsoc.h #ifndef _ASMLANGUAGE #include /* ARM CMSIS definitions must be included before kernel_includes.h. * Therefore, it is essential to include kernel_includes.h after including * core SOC-specific headers. */ #include #endif /* !_ASMLANGUAGE */