Technical discussions about Freescale (Motorola) DSPs (including the DSP56000, DSP56300, DSP56600, 56800 DSPs).
|
Hi all, using a 56F805 I want to use the level sensitive interrupt input on a GPIO line. While I find all sorts of high level routines to set various operation parameters I don't know how to set the interrupt callback function. How can I set this callback function? Do I have to put a JSR statement into the interrupt table by hand? Many thanks, Manfred |
|
|
|
Hi, Are u using codewarrior for development? If so then u can assign GPIO ISR by using following function call archInstallISR(&(pArchInterrupts -> GPIO_Port), ISRRoutine); Regards, Nitin -----Original Message----- From: drmapl <> [mailto:] Sent: Monday, January 20, 2003 7:26 AM To: Subject: [motoroladsp] GPIO interrupt callback? Hi all, using a 56F805 I want to use the level sensitive interrupt input on a GPIO line. While I find all sorts of high level routines to set various operation parameters I don't know how to set the interrupt callback function. How can I set this callback function? Do I have to put a JSR statement into the interrupt table by hand? Many thanks, Manfred _____________________________________ /groups.php3 |
|
**************************Disclaimer************************************ Information contained in this E-MAIL being proprietary to Wipro Limited is 'privileged' and 'confidential' and intended for use only by the individual or entity to which it is addressed. You are notified that any use, copying or dissemination of the information contained in the E-MAIL in any manner whatsoever is strictly prohibited. *************************************************************************** |
|
|
|
Hi Istarted using the SDK enviroment 2 weeks ago before that I used Radagast but since I could not get a sine function going and SDK had one already I started coding in SDK. I also tryed doing the GPIO interrupt. According to the registers of the flash everything is correct. The archInstallISR is getting the the right adress 0x0FC8 which will be for Port B. Iam trying to get a interrupt on pin 4. gpioPortB = open(BSP_DEVICE_NAME_GPIO_B, NULL); archInstallISR(&(pArchInterrupts->MpioB), dirISR); ioctl(gpioPortB, GPIO_SETAS_GPIO, gpioPin(B,4)); ioctl(gpioPortB, GPIO_SETAS_INPUT, gpioPin(B,4)); ioctl(gpioPortB, GPIO_INTERRUPT_ENABLE, gpioPin(B,4)); But I am also getting the same as Manfred. I also tryed getting the proirity high but still iet will not interrupt. This was done on the DSP805EVM with the SDK. If somebody can help it would be great. Frikkie. --- In , "Nitin Madhukar Yewale" <nitin.yewale@w...> wrote: > Hi, > Are u using codewarrior for development? If so then u can assign > GPIO ISR by using following function call > > archInstallISR(&(pArchInterrupts -> GPIO_Port), ISRRoutine); > > Regards, > Nitin > > -----Original Message----- > From: drmapl <m.plagmann@i...> [mailto:m.plagmann@i...] > Sent: Monday, January 20, 2003 7:26 AM > To: > Subject: [motoroladsp] GPIO interrupt callback? > Hi all, > using a 56F805 I want to use the level sensitive interrupt input on a > GPIO line. While I find all sorts of high level routines to set > various operation parameters I don't know how to set the interrupt > callback function. How can I set this callback function? Do I have to > put a JSR statement into the interrupt table by hand? > > Many thanks, > Manfred > _____________________________________ > /groups.php3 > > **************************Disclaimer********************************** ** > > Information contained in this E-MAIL being proprietary to Wipro Limited is > 'privileged' and 'confidential' and intended for use only by the individual > or entity to which it is addressed. You are notified that any use, copying > or dissemination of the information contained in the E-MAIL in any manner > whatsoever is strictly prohibited. ********************************************************************** ***** |
|
Hi, Generally when Interrupt occures it will set the bit to indicate the same. Now in case of GPIO port If u configure any pin to generate interrupt it will execute only ONE ISR routine. In ISR u will to see which pin has generated the interrupt if u r configuring multiple pins of GPIO port to generate interrupt. Now in ISR u will have reset the EDGE sensitive register of the GPIO port so that next time interrupt will occur and will execute the ISR routine. Which processor u r using? Can u pass on the data sheet? Idle ISR for GPIO pin should be like this GPIO_Isr () { Read the Intrrupt Pending Register GPIO_IPR (Tells u which pin has actived interrupt) Clear the EDGE Sensitive register. IESR } Regards, Nitin -----Original Message----- From: grdeathsa <> [mailto:] Sent: Thursday, January 23, 2003 5:47 PM To: Subject: [motoroladsp] GPIO interrupt callback? Hi Istarted using the SDK enviroment 2 weeks ago before that I used Radagast but since I could not get a sine function going and SDK had one already I started coding in SDK. I also tryed doing the GPIO interrupt. According to the registers of the flash everything is correct. The archInstallISR is getting the the right adress 0x0FC8 which will be for Port B. Iam trying to get a interrupt on pin 4. gpioPortB = open(BSP_DEVICE_NAME_GPIO_B, NULL); archInstallISR(&(pArchInterrupts->MpioB), dirISR); ioctl(gpioPortB, GPIO_SETAS_GPIO, gpioPin(B,4)); ioctl(gpioPortB, GPIO_SETAS_INPUT, gpioPin(B,4)); ioctl(gpioPortB, GPIO_INTERRUPT_ENABLE, gpioPin(B,4)); But I am also getting the same as Manfred. I also tryed getting the proirity high but still iet will not interrupt. This was done on the DSP805EVM with the SDK. If somebody can help it would be great. Frikkie. --- In , "Nitin Madhukar Yewale" <nitin.yewale@w...> wrote: > Hi, > Are u using codewarrior for development? If so then u can assign > GPIO ISR by using following function call > > archInstallISR(&(pArchInterrupts -> GPIO_Port), ISRRoutine); > > Regards, > Nitin > > -----Original Message----- > From: drmapl <m.plagmann@i...> [mailto:m.plagmann@i...] > Sent: Monday, January 20, 2003 7:26 AM > To: > Subject: [motoroladsp] GPIO interrupt callback? > Hi all, > using a 56F805 I want to use the level sensitive interrupt input on a > GPIO line. While I find all sorts of high level routines to set > various operation parameters I don't know how to set the interrupt > callback function. How can I set this callback function? Do I have to > put a JSR statement into the interrupt table by hand? > > Many thanks, > Manfred > _____________________________________ > /groups.php3 > > **************************Disclaimer********************************** ** > > Information contained in this E-MAIL being proprietary to Wipro Limited is > 'privileged' and 'confidential' and intended for use only by the individual > or entity to which it is addressed. You are notified that any use, copying > or dissemination of the information contained in the E-MAIL in any manner > whatsoever is strictly prohibited. ********************************************************************** ***** _____________________________________ /groups.php3 |
|
**************************Disclaimer********************************************\ ****** Information contained in this E-MAIL being proprietary to Wipro Limited is 'privileged' and 'confidential' and intended for use only by the individual or entity to which it is addressed. You are notified that any use, copying or dissemination of the information contained in the E-MAIL in any manner whatsoever is strictly prohibited. ********************************************************************************\ ******** |
|
|
|
Hi I am using the DSP805. I only set that pin of GPIO port b pin 4. The problem is that it does not go to the ISR. I included the clearining of the interrupt in the roteen and the reset in the setup. But still it does not go to the interrupt roteen. Regards. Frikkie. -----Original Message----- From: Nitin Madhukar Yewale [mailto:] Sent: 23 January 2003 17:38 To: ; Subject: RE: [motoroladsp] GPIO interrupt callback? Hi, Generally when Interrupt occures it will set the bit to indicate the same. Now in case of GPIO port If u configure any pin to generate interrupt it will execute only ONE ISR routine. In ISR u will to see which pin has generated the interrupt if u r configuring multiple pins of GPIO port to generate interrupt. Now in ISR u will have reset the EDGE sensitive register of the GPIO port so that next time interrupt will occur and will execute the ISR routine. Which processor u r using? Can u pass on the data sheet? Idle ISR for GPIO pin should be like this GPIO_Isr () { Read the Intrrupt Pending Register GPIO_IPR (Tells u which pin has actived interrupt) Clear the EDGE Sensitive register. IESR } Regards, Nitin -----Original Message----- From: grdeathsa <> [mailto:] Sent: Thursday, January 23, 2003 5:47 PM To: Subject: [motoroladsp] GPIO interrupt callback? Hi Istarted using the SDK enviroment 2 weeks ago before that I used Radagast but since I could not get a sine function going and SDK had one already I started coding in SDK. I also tryed doing the GPIO interrupt. According to the registers of the flash everything is correct. The archInstallISR is getting the the right adress 0x0FC8 which will be for Port B. Iam trying to get a interrupt on pin 4. gpioPortB = open(BSP_DEVICE_NAME_GPIO_B, NULL); archInstallISR(&(pArchInterrupts->MpioB), dirISR); ioctl(gpioPortB, GPIO_SETAS_GPIO, gpioPin(B,4)); ioctl(gpioPortB, GPIO_SETAS_INPUT, gpioPin(B,4)); ioctl(gpioPortB, GPIO_INTERRUPT_ENABLE, gpioPin(B,4)); But I am also getting the same as Manfred. I also tryed getting the proirity high but still iet will not interrupt. This was done on the DSP805EVM with the SDK. If somebody can help it would be great. Frikkie. --- In , "Nitin Madhukar Yewale" <nitin.yewale@w...> wrote: > Hi, > Are u using codewarrior for development? If so then u can assign > GPIO ISR by using following function call > > archInstallISR(&(pArchInterrupts -> GPIO_Port), ISRRoutine); > > Regards, > Nitin > > -----Original Message----- > From: drmapl <m.plagmann@i...> [mailto:m.plagmann@i...] > Sent: Monday, January 20, 2003 7:26 AM > To: > Subject: [motoroladsp] GPIO interrupt callback? > Hi all, > using a 56F805 I want to use the level sensitive interrupt input on a > GPIO line. While I find all sorts of high level routines to set > various operation parameters I don't know how to set the interrupt > callback function. How can I set this callback function? Do I have to > put a JSR statement into the interrupt table by hand? > > Many thanks, > Manfred > _____________________________________ > /groups.php3 > > **************************Disclaimer********************************** ** > > Information contained in this E-MAIL being proprietary to Wipro Limited is > 'privileged' and 'confidential' and intended for use only by the individual > or entity to which it is addressed. You are notified that any use, copying > or dissemination of the information contained in the E-MAIL in any manner > whatsoever is strictly prohibited. ********************************************************************** ***** _____________________________________ /groups.php3 |
|
You need to
make sure that the priority level for the interrupt is greater than zero. This by defining the
priority level in the appconfig.h file. An example is below:
#define
GPR_INT_PRIORITY_42 &nbs
p; 2
Just as an
FYI you can also statically install your ISR by using the defines such as given
below:
#define NORMAL_ISR_8 UserIsrLabel
Section 7 of the SDK programmmer's guide has a good description of
using the different interrupt levels support and installation. But in regards to the dynamic
installation this is useful if the ISR service routine needs to change during the run time
operation. If the ISR never really changes then the static installation is good and saves
some space. Thanks.
- Bill
|