AnsweredAssumed Answered

CCES+BF609 debug error:UnhandledException + illegal opcode

Question asked by LiuYe on Sep 18, 2017
Latest reply on Nov 6, 2017 by LiuYe

Hello, 

My platform is BF609 and My project is dubugged using CCES.
      Several days before, I used my own custom PCB for programming and everything went well. Then I reinstalled the PC system as part of my company's need for software platform building.
      When I opened my project again after I reinstalled the CCES software, I tried to build and debug it.  The project was built normally as I see, but then it hallted with the errror information shown below:

         A non-recoverable error or exception has occurred.
         Description:   An undefined instruction has been encountered (Exception with EXCAUSE=0x21).
         General Type:  UnhandledException
         Specific Type: UndefinedInstruction
         Error PC:      0x03002696
         
        The project  was debugged step by step then. It was found that  the running stoped when the sorfware tried to go into the funciotn SystemInit():

 

The code window:

         int main(void)
         {
                  /* Initialize managed drivers and/or services */
                  adi_initComponents();

                  /**
                  * Initialize managed drivers and/or services that have been added to
                  * the project.
                  * @return zero on success
                  */

                  if(SUCCESS != SystemInit())       // The software halted here!!!!!!!!!!
                  {
                           return FAILURE;
                  }

                  ...........

         }

 

Disassembly window:
...........
          SystemInit:
03002694:   JUMP.S SystemInit ; //——Halted here and never goes ahead again!
03002696:   JUMP.S 16 /*0x30026A6*/ ; //——The line showed in the orror information!
03002698:   R6 += 20 ;
0300269a:   R0 = 0 ;
32       adi_initComponents();
0300269c:   IF ! CC JUMP 64 /*0x30026DC*/ ( BP ) ;
0300269e:   IDLE ;
030026a0:   CC = R0 == 0 ;
030026a2:   IF ! CC JUMP 64 /*0x30026E2*/ ;
030026a4:   0428 *illegal opcode*; //—— Several lines of *illegal opcode*!
37       if(SUCCESS != PLL_Init())
030026a6:   NOP ;
030026a8:   R0 = B [ P5 + 0 ] ( Z ) ;
030026ac:   4700 *illegal opcode*;
39       return FAILURE;
030026ae:   R4 = R0 | R1 ;
030026b0:   JUMP.S -48 /*0x3002680*/ ;
030026b2:   JUMP.S -4096 /*0x30016B2*/ ;
42       SET_PILOT_LED;
030026b4:   NOP ;
030026b6:   0008 *illegal opcode*;

...........
            

            I did try to use a simple project which was justly used to make a LED lamp on and off. It was found the light toggled as I programed it to do. So I judged that my PCB went well.

            I have spent some days trying to found the cause of the error and still have no idea what to do.  Please help me.

 

Thanks.

LiuYe

Outcomes