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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

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

跳至解决方案
1,327 次查看
imxrtuser
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

标记 (3)
0 项奖励
回复
1 解答
1,265 次查看
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]

在原帖中查看解决方案

4 回复数
1,265 次查看
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 项奖励
回复
1,265 次查看
imxrtuser
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 项奖励
回复
1,266 次查看
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]

1,265 次查看
imxrtuser
Senior Contributor I

Hello Mark,

thank you  for your explanation!

Kind regards,

Stefan

0 项奖励
回复