Monday, October 12, 2020

MasterSar: Interrupt Priority Levels and OsInterruptLevel

 Autosar\Gendata\Src\IntVect.c

      /* b0: CMT1_6 */
      /* event code is in the INTEVT register */
      case 0x1640:
         osDelayedIntfunc();


CMT1_6 Reserved Reserved CMT1_6 H’1640 IPRGS3[7:4] IMR3S3[5]


AUTOSAR\GenData\Src\intvect.src(268): _osIPRInit   ; initialisation of IPR registers

   mov.l #H'ffd50018,R0     ; IPR36 -> Timer and Delayed int are set to priority levels of 1 and 1
   mov.l #H'0110,R1
   mov.l #H'f00f,R2
   mov.w @R0,R3
   and   R2,R3
   or    R1,R3
   mov.w R3,@R0


/* KB begin osekHwDefinitions (overwritten) */
#define osdOSEKTaskLevel          0     /* has to be 0! */

#define osdSystemIntLevel 8



IPRn priority level
:
1111 : Highest priority
.....
0001 : Lowest priority
0000 : mask interrupt


No comments:

Post a Comment