41 #define CPU_CORE_MODULE
93 #ifndef CPU_CFG_LEAD_ZEROS_ASM_PRESENT
96 8u, 7u, 6u, 6u, 5u, 5u, 5u, 5u, 4u, 4u, 4u, 4u, 4u, 4u, 4u, 4u,
97 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u,
98 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
99 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
100 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
101 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
102 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
103 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
104 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
105 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
106 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
107 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
108 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
109 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
110 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
111 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u
130 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
136 #if ((CPU_CFG_TS_EN == DEF_ENABLED) || \
137 (CPU_CFG_TS_TMR_EN == DEF_ENABLED))
142 #ifdef CPU_CFG_INT_DIS_MEAS_EN
143 static void CPU_IntDisMeasInit (
void);
194 #if ((CPU_CFG_TS_EN == DEF_ENABLED) || \
195 (CPU_CFG_TS_TMR_EN == DEF_ENABLED))
199 #ifdef CPU_CFG_INT_DIS_MEAS_EN
200 CPU_IntDisMeasInit();
204 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
260 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
305 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
359 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
371 if (p_name == (
const CPU_CHAR *)0) {
446 #if (CPU_CFG_TS_32_EN == DEF_ENABLED)
450 #if (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_32)
457 #if (CPU_CFG_TS_TMR_SIZE >= CPU_WORD_SIZE_32)
463 tmr_delta = (
CPU_TS_TMR)(tmr_cur - CPU_TS_32_TmrPrev);
464 CPU_TS_32_Accum += (
CPU_TS32 ) tmr_delta;
528 #if (CPU_CFG_TS_64_EN == DEF_ENABLED)
532 #if (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_64)
539 #if (CPU_CFG_TS_TMR_SIZE >= CPU_WORD_SIZE_64)
545 tmr_delta = (
CPU_TS_TMR)(tmr_cur - CPU_TS_64_TmrPrev);
546 CPU_TS_64_Accum += (
CPU_TS64 ) tmr_delta;
583 #if (CPU_CFG_TS_EN == DEF_ENABLED)
586 #if ((CPU_CFG_TS_32_EN == DEF_ENABLED) && \
587 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_32))
591 #if ((CPU_CFG_TS_64_EN == DEF_ENABLED) && \
592 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_64))
626 #if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
678 #if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
710 #ifdef CPU_CFG_INT_DIS_MEAS_EN
717 time_max_cnts = CPU_IntDisMeasMaxCurGet();
719 CPU_IntDisMeasMaxCur_cnts = 0u;
722 return (time_max_cnts);
752 #ifdef CPU_CFG_INT_DIS_MEAS_EN
761 time_tot_cnts = CPU_IntDisMeasMaxCur_cnts;
763 time_max_cnts = CPU_IntDisMeasMaxCalc(time_tot_cnts);
765 return (time_max_cnts);
795 #ifdef CPU_CFG_INT_DIS_MEAS_EN
804 time_tot_cnts = CPU_IntDisMeasMax_cnts;
806 time_max_cnts = CPU_IntDisMeasMaxCalc(time_tot_cnts);
808 return (time_max_cnts);
833 #ifdef CPU_CFG_INT_DIS_MEAS_EN
834 void CPU_IntDisMeasStart (
void)
837 if (CPU_IntDisNestCtr == 0u) {
1020 #ifdef CPU_CFG_INT_DIS_MEAS_EN
1021 void CPU_IntDisMeasStop (
void)
1026 CPU_IntDisNestCtr--;
1027 if (CPU_IntDisNestCtr == 0u) {
1030 time_ints_disd_cnts = CPU_IntDisMeasStop_cnts -
1031 CPU_IntDisMeasStart_cnts;
1033 if (CPU_IntDisMeasMaxCur_cnts < time_ints_disd_cnts) {
1034 CPU_IntDisMeasMaxCur_cnts = time_ints_disd_cnts;
1036 if (CPU_IntDisMeasMax_cnts < time_ints_disd_cnts) {
1037 CPU_IntDisMeasMax_cnts = time_ints_disd_cnts;
1140 #ifndef CPU_CFG_LEAD_ZEROS_ASM_PRESENT
1147 #if (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_08)
1154 #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_16)
1155 if (val > 0x00FFu) {
1167 #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_32)
1168 if (val > 0x0000FFFFu) {
1169 if (val > 0x00FFFFFFu) {
1181 if (val > 0x000000FFu) {
1194 #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_64)
1195 if (val > 0x00000000FFFFFFFFu) {
1196 if (val > 0x0000FFFFFFFFFFFFu) {
1197 if (val > 0x00FFFFFFFFFFFFFFu) {
1209 if (val > 0x000000FFFFFFFFFFu) {
1222 if (val > 0x000000000000FFFFu) {
1223 if (val > 0x0000000000FFFFFFu) {
1235 if (val > 0x00000000000000FFu) {
1251 nbr_lead_zeros = 0u;
1254 return (nbr_lead_zeros);
1284 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
1320 #if ((CPU_CFG_TS_EN == DEF_ENABLED) || \
1321 (CPU_CFG_TS_TMR_EN == DEF_ENABLED))
1324 #if (((CPU_CFG_TS_32_EN == DEF_ENABLED ) && \
1325 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_32)) || \
1326 ((CPU_CFG_TS_64_EN == DEF_ENABLED ) && \
1327 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_64)))
1333 #if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
1340 #if (((CPU_CFG_TS_32_EN == DEF_ENABLED ) && \
1341 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_32)) || \
1342 ((CPU_CFG_TS_64_EN == DEF_ENABLED ) && \
1343 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_64)))
1347 #if ((CPU_CFG_TS_32_EN == DEF_ENABLED) && \
1348 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_32))
1349 CPU_TS_32_Accum = 0u;
1350 CPU_TS_32_TmrPrev = ts_tmr_cnts;
1353 #if ((CPU_CFG_TS_64_EN == DEF_ENABLED) && \
1354 (CPU_CFG_TS_TMR_SIZE < CPU_WORD_SIZE_64))
1355 CPU_TS_64_Accum = 0u;
1356 CPU_TS_64_TmrPrev = ts_tmr_cnts;
1401 #ifdef CPU_CFG_INT_DIS_MEAS_EN
1402 static void CPU_IntDisMeasInit (
void)
1409 CPU_IntDisMeasCtr = 0u;
1410 CPU_IntDisNestCtr = 0u;
1411 CPU_IntDisMeasStart_cnts = 0u;
1412 CPU_IntDisMeasStop_cnts = 0u;
1413 CPU_IntDisMeasMaxCur_cnts = 0u;
1414 CPU_IntDisMeasMax_cnts = 0u;
1415 CPU_IntDisMeasOvrhd_cnts = 0u;
1418 time_meas_tot_cnts = 0u;
1421 CPU_IntDisMeasMaxCur_cnts = 0u;
1422 CPU_IntDisMeasStart();
1423 CPU_IntDisMeasStop();
1424 time_meas_tot_cnts += CPU_IntDisMeasMaxCur_cnts;
1427 CPU_IntDisMeasOvrhd_cnts = (time_meas_tot_cnts + (CPU_CFG_INT_DIS_MEAS_OVRHD_NBR / 2))
1429 CPU_IntDisMeasMaxCur_cnts = 0u;
1430 CPU_IntDisMeasMax_cnts = 0u;
1535 #ifdef CPU_CFG_INT_DIS_MEAS_EN
1541 time_max_cnts = time_tot_cnts;
1542 if (time_max_cnts > CPU_IntDisMeasOvrhd_cnts) {
1543 time_max_cnts -= CPU_IntDisMeasOvrhd_cnts;
1548 return (time_max_cnts);