I am using ADuC841. How can i organize the internal 2K XRAM memory as a circular buffer to capture an event?
What problems did you see, that motivated the question?
Why would implementing a circular buffer be specific to whether it's in XRAM or not?
Or even whether it's on an 8051 or not?
What, exactly, are you stuck on?
Look at http://www.keil.com/download/docs/71.asp
In DMA mode the ADC output data is stored in the XRAM through pipelining. XRAM is "preconfigured" by writing ADC channel ID and since ADC DMA works independently from uC core, we define a 'stop command' by duplicating the last channel ID to be converted followed by 1111 into the next channel selection field.
I want to capture an event with pre and post-time information. During ADC DMA conversion how can I reconfigure DMA address pointer without affecting the current DMA sequence?
Since in ADuC841 the XRAM is pre-configured in DMA mode including the stop location. I want to make ADC DMA run continously and with respect to an external interrupt I want to capture an event with pre and post-time information. During ADC DMA conversion how can I reconfigure DMA address pointer without affecting the current DMA sequence?
"During ADC DMA conversion how can I reconfigure DMA address pointer without affecting the current DMA sequence?"
These are specific details of the particular chip - nothing to to with Keil as such.
Doesn't the Manufacturer's Documentation (ie, datasheet, etc) tell you that?
Doesn't the chip Manufacturer provide examples, application notes, etc, to support their chip?
Sorry, i made a mistake. I will post on proper forum. Thanks.