41 #ifndef CPU_CORE_MODULE_PRESENT
42 #define CPU_CORE_MODULE_PRESENT
73 #define CPU_CORE_VERSION 12800u
82 #ifdef CPU_CORE_MODULE
85 #define CPU_CORE_EXT extern
156 #if ((CPU_CFG_TS_32_EN == DEF_ENABLED) || \
157 (CPU_CFG_TS_64_EN == DEF_ENABLED))
158 #define CPU_CFG_TS_EN DEF_ENABLED
160 #define CPU_CFG_TS_EN DEF_DISABLED
163 #if ((CPU_CFG_TS_EN == DEF_ENABLED) || \
164 (defined(CPU_CFG_INT_DIS_MEAS_EN)))
165 #define CPU_CFG_TS_TMR_EN DEF_ENABLED
167 #define CPU_CFG_TS_TMR_EN DEF_DISABLED
177 #define CPU_TIME_MEAS_NBR_MIN 1
178 #define CPU_TIME_MEAS_NBR_MAX 128
187 #define CPU_ERR_NONE 0u
188 #define CPU_ERR_NULL_PTR 10u
190 #define CPU_ERR_NAME_SIZE 1000u
192 #define CPU_ERR_TS_FREQ_INVALID 2000u
226 #if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
227 #if (CPU_CFG_TS_TMR_SIZE == CPU_WORD_SIZE_08)
229 #elif (CPU_CFG_TS_TMR_SIZE == CPU_WORD_SIZE_16)
231 #elif (CPU_CFG_TS_TMR_SIZE == CPU_WORD_SIZE_64)
254 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
259 #if ((CPU_CFG_TS_32_EN == DEF_ENABLED) && \
260 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_32))
265 #if ((CPU_CFG_TS_64_EN == DEF_ENABLED) && \
266 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_64))
271 #if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
276 #ifdef CPU_CFG_INT_DIS_MEAS_EN
405 #ifndef CPU_SW_EXCEPTION
406 #define CPU_SW_EXCEPTION(err_rtn_val) do { \
407 CPU_SW_Exception(); \
453 #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG)
454 #define CPU_TYPE_CREATE(char_1, char_2, char_3, char_4) (((CPU_INT32U)((CPU_INT08U)(char_1)) << (3u * DEF_OCTET_NBR_BITS)) | \
455 ((CPU_INT32U)((CPU_INT08U)(char_2)) << (2u * DEF_OCTET_NBR_BITS)) | \
456 ((CPU_INT32U)((CPU_INT08U)(char_3)) << (1u * DEF_OCTET_NBR_BITS)) | \
457 ((CPU_INT32U)((CPU_INT08U)(char_4)) << (0u * DEF_OCTET_NBR_BITS)))
461 #if ((CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_64) || \
462 (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_32))
463 #define CPU_TYPE_CREATE(char_1, char_2, char_3, char_4) (((CPU_INT32U)((CPU_INT08U)(char_1)) << (0u * DEF_OCTET_NBR_BITS)) | \
464 ((CPU_INT32U)((CPU_INT08U)(char_2)) << (1u * DEF_OCTET_NBR_BITS)) | \
465 ((CPU_INT32U)((CPU_INT08U)(char_3)) << (2u * DEF_OCTET_NBR_BITS)) | \
466 ((CPU_INT32U)((CPU_INT08U)(char_4)) << (3u * DEF_OCTET_NBR_BITS)))
469 #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_16)
470 #define CPU_TYPE_CREATE(char_1, char_2, char_3, char_4) (((CPU_INT32U)((CPU_INT08U)(char_1)) << (2u * DEF_OCTET_NBR_BITS)) | \
471 ((CPU_INT32U)((CPU_INT08U)(char_2)) << (3u * DEF_OCTET_NBR_BITS)) | \
472 ((CPU_INT32U)((CPU_INT08U)(char_3)) << (0u * DEF_OCTET_NBR_BITS)) | \
473 ((CPU_INT32U)((CPU_INT08U)(char_4)) << (1u * DEF_OCTET_NBR_BITS)))
476 #define CPU_TYPE_CREATE(char_1, char_2, char_3, char_4) (((CPU_INT32U)((CPU_INT08U)(char_1)) << (3u * DEF_OCTET_NBR_BITS)) | \
477 ((CPU_INT32U)((CPU_INT08U)(char_2)) << (2u * DEF_OCTET_NBR_BITS)) | \
478 ((CPU_INT32U)((CPU_INT08U)(char_3)) << (1u * DEF_OCTET_NBR_BITS)) | \
479 ((CPU_INT32U)((CPU_INT08U)(char_4)) << (0u * DEF_OCTET_NBR_BITS)))
508 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
521 #if (CPU_CFG_TS_32_EN == DEF_ENABLED)
525 #if (CPU_CFG_TS_64_EN == DEF_ENABLED)
529 #if (CPU_CFG_TS_EN == DEF_ENABLED)
534 #if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
542 #ifdef CPU_CFG_INT_DIS_MEAS_EN
551 void CPU_IntDisMeasStart (
void);
553 void CPU_IntDisMeasStop (
void);
558 #ifndef CPU_CFG_LEAD_ZEROS_ASM_PRESENT
623 #if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
711 #if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
773 #if (CPU_CFG_TS_32_EN == DEF_ENABLED)
777 #if (CPU_CFG_TS_64_EN == DEF_ENABLED)
789 #ifndef CPU_CFG_NAME_EN
790 #error "CPU_CFG_NAME_EN not #define'd in 'cpu_cfg.h'"
791 #error " [MUST be DEF_ENABLED ] "
792 #error " [ || DEF_DISABLED] "
794 #elif ((CPU_CFG_NAME_EN != DEF_ENABLED ) && \
795 (CPU_CFG_NAME_EN != DEF_DISABLED))
796 #error "CPU_CFG_NAME_EN illegally #define'd in 'cpu_cfg.h'"
797 #error " [MUST be DEF_ENABLED ] "
798 #error " [ || DEF_DISABLED] "
801 #elif (CPU_CFG_NAME_EN == DEF_ENABLED)
803 #ifndef CPU_CFG_NAME_SIZE
804 #error "CPU_CFG_NAME_SIZE not #define'd in 'cpu_cfg.h'"
805 #error " [MUST be >= 1] "
806 #error " [ && <= 255] "
808 #elif ((CPU_CFG_NAME_SIZE < 1) || \
809 (CPU_CFG_NAME_SIZE > DEF_INT_08U_MAX_VAL))
810 #error "CPU_CFG_NAME_SIZE illegally #define'd in 'cpu_cfg.h'"
811 #error " [MUST be >= 1] "
812 #error " [ && <= 255] "
820 #ifndef CPU_CFG_TS_32_EN
821 #error "CPU_CFG_TS_32_EN not #define'd in 'cpu_cfg.h'"
822 #error " [MUST be DEF_DISABLED] "
823 #error " [ || DEF_ENABLED ] "
825 #elif ((CPU_CFG_TS_32_EN != DEF_DISABLED) && \
826 (CPU_CFG_TS_32_EN != DEF_ENABLED ))
827 #error "CPU_CFG_TS_32_EN illegally #define'd in 'cpu_cfg.h'"
828 #error " [MUST be DEF_DISABLED] "
829 #error " [ || DEF_ENABLED ] "
834 #ifndef CPU_CFG_TS_64_EN
835 #error "CPU_CFG_TS_64_EN not #define'd in 'cpu_cfg.h'"
836 #error " [MUST be DEF_DISABLED] "
837 #error " [ || DEF_ENABLED ] "
839 #elif ((CPU_CFG_TS_64_EN != DEF_DISABLED) && \
840 (CPU_CFG_TS_64_EN != DEF_ENABLED ))
841 #error "CPU_CFG_TS_64_EN illegally #define'd in 'cpu_cfg.h'"
842 #error " [MUST be DEF_DISABLED] "
843 #error " [ || DEF_ENABLED ] "
848 #ifndef CPU_CFG_TS_EN
849 #error "CPU_CFG_TS_EN not #define'd in 'cpu_core.h'"
850 #error " [MUST be DEF_DISABLED] "
851 #error " [ || DEF_ENABLED ] "
853 #elif ((CPU_CFG_TS_EN != DEF_DISABLED) && \
854 (CPU_CFG_TS_EN != DEF_ENABLED ))
855 #error "CPU_CFG_TS_EN illegally #define'd in 'cpu_core.h'"
856 #error " [MUST be DEF_DISABLED] "
857 #error " [ || DEF_ENABLED ] "
864 #ifndef CPU_CFG_TS_TMR_EN
865 #error "CPU_CFG_TS_TMR_EN not #define'd in 'cpu_core.h'"
866 #error " [MUST be DEF_DISABLED] "
867 #error " [ || DEF_ENABLED ] "
869 #elif ((CPU_CFG_TS_TMR_EN != DEF_DISABLED) && \
870 (CPU_CFG_TS_TMR_EN != DEF_ENABLED ))
871 #error "CPU_CFG_TS_TMR_EN illegally #define'd in 'cpu_core.h'"
872 #error " [MUST be DEF_DISABLED] "
873 #error " [ || DEF_ENABLED ] "
876 #elif (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
878 #ifndef CPU_CFG_TS_TMR_SIZE
879 #error "CPU_CFG_TS_TMR_SIZE not #define'd in 'cpu_cfg.h' "
880 #error " [MUST be CPU_WORD_SIZE_08 8-bit timer]"
881 #error " [ || CPU_WORD_SIZE_16 16-bit timer]"
882 #error " [ || CPU_WORD_SIZE_32 32-bit timer]"
883 #error " [ || CPU_WORD_SIZE_64 64-bit timer]"
885 #elif ((CPU_CFG_TS_TMR_SIZE != CPU_WORD_SIZE_08) && \
886 (CPU_CFG_TS_TMR_SIZE != CPU_WORD_SIZE_16) && \
887 (CPU_CFG_TS_TMR_SIZE != CPU_WORD_SIZE_32) && \
888 (CPU_CFG_TS_TMR_SIZE != CPU_WORD_SIZE_64))
889 #error "CPU_CFG_TS_TMR_SIZE illegally #define'd in 'cpu_cfg.h' "
890 #error " [MUST be CPU_WORD_SIZE_08 8-bit timer]"
891 #error " [ || CPU_WORD_SIZE_16 16-bit timer]"
892 #error " [ || CPU_WORD_SIZE_32 32-bit timer]"
893 #error " [ || CPU_WORD_SIZE_64 64-bit timer]"
900 #ifndef CPU_CFG_INT_DIS_MEAS_EN
902 #error "CPU_CFG_INT_DIS_MEAS_EN not #define'd in 'cpu_cfg.h'"
907 #ifndef CPU_CFG_INT_DIS_MEAS_OVRHD_NBR
908 #error "CPU_CFG_INT_DIS_MEAS_OVRHD_NBR not #define'd in 'cpu_cfg.h' "
909 #error " [MUST be >= CPU_TIME_MEAS_NBR_MIN]"
910 #error " [ || <= CPU_TIME_MEAS_NBR_MAX]"
912 #elif ((CPU_CFG_INT_DIS_MEAS_OVRHD_NBR < CPU_TIME_MEAS_NBR_MIN) || \
913 (CPU_CFG_INT_DIS_MEAS_OVRHD_NBR > CPU_TIME_MEAS_NBR_MAX))
914 #error "CPU_CFG_INT_DIS_MEAS_OVRHD_NBR illegally #define'd in 'cpu_cfg.h' "
915 #error " [MUST be >= CPU_TIME_MEAS_NBR_MIN]"
916 #error " [ || <= CPU_TIME_MEAS_NBR_MAX]"
925 #ifndef CPU_CFG_LEAD_ZEROS_ASM_PRESENT
927 #error "CPU_CFG_LEAD_ZEROS_ASM_PRESENT not #define'd in 'cpu.h'/'cpu_cfg.h'"