здрасьте здрасьте люди добрые. ну талантливые люди талантливы во всем. поэтому я решил обратиться к вам(к талантливым) и спросить а как правильно использовать MDMA? ну линукс тут наверное при том ,что благодаря познаниям в stm я смогу лучше узнать Linux. суть в том что пытаюсь из одного регистра TIM1 в другой регистр TIM1 записать(передать) 64bit разово. тактирование включил и на MDMA и у TIM1. в регистр
DMA_CxSAR
0x40010034-это адрес источника, то есть откуда буду читать
DMACxDAR
0x40010038
то есть куда буду перемещать или писать 64bit, двойное слово.
This bit is protected and can be written only if EN is 0.
MDMA_CxTCR бит BWM==0.
бит SWRM=1 // чтобы можно было программно тригернуть
биты TRGM[1:0]==00 для того чтобы
Each MDMA request (software or hardware) triggers a buffer transfer
BNDT[15:0]
я указал 100-это четыре в 2 системе, СОРИ, ТУПАНУЛ. 1000- надо 8 байт. я же не слово, а двойное слово пытаюсь. то есть тут надо было указать количество байт. 8байт==64bit. если этот регистр оставить в значении 0x00000000 то любая транзакция, то есть передача не будет осуществлена. Дальше я в регистре
MDMA_CxCR установил бит SWRQ==1 чтобы программно сгенерировать запрос и также включил бит TCIE==1 и бит EN.