Hello:
I am user of DSK6711 using CCS 2.0 and I want to accomplish an interruption INT4 using only code in C, without using DSP/BIOS to configure the interrupt vector. The one that I did was the following: 1) I used the word reserved interrupt interrupt void my_int4(void) { ...... my code here } 2) inside of the table of interrupt vector I did, in the position INT4: .ref _my_int4 INT4: B _my_int4 NOP NOP NOP NOP NOP NOP NOP 3) I enabled the interrupt 4 in the main doing: CSR=0x100; IER=1; ICR=0xffff; IER=0x13; CSR=0x101; Unhappily the interruption exists physically but it doesn't answer in the software. Do you have some ready example what works without using DSP/BIOS? Can they help me? Thankful. Valdir Noll. |
|
problems with interrupt without DSP/BIOS
Started by ●March 6, 2004
Reply by ●March 8, 20042004-03-08
Valdir- > I am user of DSK6711 using CCS 2.0 and I want to accomplish an interruption > INT4 using only code in C, without using DSP/BIOS to configure the > interrupt vector. > > The one that I did was the following: > > 1) I used the word reserved interrupt > > interrupt void my_int4(void) { > ...... my code here > } > > 2) inside of the table of interrupt vector I did, in the position INT4: > > .ref _my_int4 > > INT4: B _my_int4 > NOP > NOP > NOP > NOP > NOP > NOP > NOP > > 3) I enabled the interrupt 4 in the main doing: > > CSR=0x100; > IER=1; > ICR=0xffff; > IER=0x13; > CSR=0x101; > > Unhappily the interruption exists physically but it doesn't answer in the > software. This is not a complete answer, but I would suggest a few changes: 1) Do not 'force' values in to CSR and IER. Use logical OR instead -- otherwise u may overwrite what BIOS has put there. For example: CSR |= 0x100; IER |= 0x13; 2) Move your CSR/IER code to a small task that runs *after* main. I think there may be some cases where BIOS is not fully done initializing until after it calls main(). 3) Also, r u modifying a DSP/BIOS generated .asm file directly to add ur code for INT4? Which one? -Jeff |