but dma transfer is working fine in ISR,when i will use the dma transfer once before the
interrupt comes,
NIrav
--- Quote Start ---
originally posted by mpaolini@Jan 17 2006, 12:14 PM
hi, nirav.
in my opinion your problem comes from using the dma api calls from inside an isr. the following excerpt from the nios ii sw programmer manual, chapter 6 should help you in understanding:
restricted environment
isrs run in a restricted environment. a large number of the hal api
calls are not available from isrs. for example, accesses to the hal file
system are not permitted. as a general rule, when writing your own isr,
never include function calls that can block waiting for an interrupt.
in addition, you should be careful when calling ansi c standard library
functions inside of an isr. no calls should be made using the c standard
library i/o api, because calling these functions can result in deadlock
within the system, i.e., the system can become permanently blocked
within the isr. in particular, you should not call printf() from within
an isr without careful consideration. if stdout is mapped to a device
driver that uses interrupts for proper operation, the printf() call can
deadlock the system waiting for an interrupt that never occurs because
interrupts are disabled. you can use printf() from within isrs safely,
but only if the device driver does not use interrupts.
hope this helps.
maurizio
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=12246)
--- quote end ---
--- Quote End ---