DMA doesn't write to a Fixed Timer

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi.

   

In my project I need a DMA to write values to a Timer counter register (according to some SW logic).

   

When I implement this using a UDB-based Timer - it works.

   

When I changed the Timer to Fixed - it doesn't.

   

Is there some limitation regarding DMA and Fixed peripherals?

   

Thanks.

0 Likes
5 Replies
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

Can you please attach the project in which you are observing the issue.

0 Likes
Anonymous
Not applicable

Unfortunately I can't do this. But I guess it's easy to reproduce. Just create a project with DMA and a Fixed Timer, and write some basic logic that writes to Timer's counter register via DMA.

0 Likes
pacr_284376
Level 5
Level 5
100 replies posted 10 solutions authored 50 sign-ins

Sorry, Michael but I think the best way for you to get an answer to your question, is that YOU create the reproduction and post the project. That way, many details are included that might be of importance. Now we don't even know which processor you use, which PSoc Creator Version, wich Component Versions etcetera

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

see the attached reproduction.

   

You can run it on CY8CKIT-059 and observe the LED behavior.

   

Then change the Timer to UDB and run again.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

When you look at the WriteCounter() API description you will see that altering the counter value requires the component to be stopped to function properly.

   

Very interesting is that the FF version does not allow for a direct write to the counter. Probably you are acting a bit (or byte 😉 off limits here.

   

 

   

Bob

0 Likes