This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

c6487 NDK BIOS strange ISR

I am working on c6487.
One core is running NDK on DSP/BIOS.
I didn't configure any special ISR in HWI modual in the .tcf file except these:

  1. NDK configures ISR dynamicly in running time.
  2. Timer interrupt to int14

But I often run to the line below in ***cfg.s62 which is made by BIOS automaticly:

;; ======== HWI_Obj HWI_INT15 ========
;; defines the INT15 Interrupt
;;
;; HWI_Obj HWI_INT15 (function, monitor, addr, dataType, operation, client, iUseDispatcher, iArg, IntrMask,
iCCBitMask, iLoadTrack)
 .global HWI_INT15
 .asg HWI_unused, _function
 .asg "Nothing", _monitor
 .asg 00H, _addr
 .asg "signed", _dataType
 .asg "STS_add(*addr)", _operation
 .asg "USER", _client
 .asg 00H, _iUseDispatcher
 .asg 00H, _iArg
 .asg 08000H, _IntrMask
 .asg 01H, _iCCBitMask
 .asg 00H, _iLoadTrack
 HWI_Obj 1, HWI_INT15, 15, _function, _monitor, _addr, _dataType, _operation, _client,
_iUseDispatcher, _iArg, _IntrMask, _iCCBitMask, _iLoadTrack

It always  stop to the black line above.And it didn't get to the dynamic configure ISR line yet.

And I find IFR is 0x4000 at this time.

Does it mean Interrupt 14 is set? But it looks like INT15's ISR......

I don't know what's the problem. 
Thank you for your help.
.

  • You have enabled interrupt 15 even though you did not mean to do so. You have not assigned a function to be called for interrupt 15, so the default HWI_unused is being called which just spins in place.

    You expect int14 from the timer, so it is not unusual for that IFR bit to be set. It has not been cleared because you have trapped to the HWI_unused ISR that does not re-enable interrupts. This is intended behavior because you need to know that int15 has mistakenly occurred.

    You may want to start with one of the working examples that come with the NDK.