What does a DMA transfer of reserved bits in registers do?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

What does a DMA transfer of reserved bits in registers do?

Jump to solution
819 Views
mitterha
Senior Contributor I

Hello,

I want to do DMA transfers of the ADC-ETC result registers to another memory location. The reference manual provides following for the TRIG0_RESULT_1_0 register:

pastedImage_2.png

If I want to do a DMA transfer of DATA0 I have to read 2 bytes which will include the lower Reserved area.

The eDMA chapter of RT1020 has a sub-chapter

pastedImage_3.png

Does this mean if I do the above transfer the Reserved bits will always be 0 or does chapter 5.6.4 only apply to the reserved bits of eDMA registers?

Kind regards,

Stefan

0 Kudos
1 Solution
757 Views
mjbcswitzerland
Specialist V

Hello Stefan

Reading TRIG0_RESULT_1_0 via eDMA will read the same value as reading it via a CPU read access. These bits will be 0 in both cases.

If you read a non-existent register via eDMA it will bus fault as a read via CPU access would but doesn't result in the hard fault interrupt being called - in the case of eDMA access errors the eDMA channel is stopped and the eDMA error flag according to the channel is set (with some details about whether the access was destination or source and read/write/etc.) - in such a case you can look at the 'frozen' eDMA registers to see the value of the address in the source or destination register to identify the location in question.

Regards

Mark

[uTasker project developer for Kinetis and i.MX RT]

View solution in original post

4 Replies
757 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Stefan Mitterhauser,

Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
1) Does chapter 5.6.4 only apply to the reserved bits of eDMA registers?
-- Yes.

Have a great day,
TIC

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
757 Views
mitterha
Senior Contributor I

Hi jeremyzhou,

thank you for answering my question.

What happens if you read the reserved bits of TRIG0_RESULT_1_0 with eDMA?

Kind regards,

Stefan

0 Kudos
758 Views
mjbcswitzerland
Specialist V

Hello Stefan

Reading TRIG0_RESULT_1_0 via eDMA will read the same value as reading it via a CPU read access. These bits will be 0 in both cases.

If you read a non-existent register via eDMA it will bus fault as a read via CPU access would but doesn't result in the hard fault interrupt being called - in the case of eDMA access errors the eDMA channel is stopped and the eDMA error flag according to the channel is set (with some details about whether the access was destination or source and read/write/etc.) - in such a case you can look at the 'frozen' eDMA registers to see the value of the address in the source or destination register to identify the location in question.

Regards

Mark

[uTasker project developer for Kinetis and i.MX RT]

757 Views
mitterha
Senior Contributor I

Hello Mark,

thank you  for your explanation!

Kind regards,

Stefan

0 Kudos