do_not_know_Linux 3 Posted April 20 · Report post привет форум. скажите пожалуйста, тема MDMA реально сложная для уважаемых форумчан, или просто нет желания что-то объяснять мне? просто если тема сложная и тут правда никто не знает как работает MDMA без куба, то может сообща попытаемся научиться? давайте объединимся пожалуйста не? Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
x893 0 Posted April 20 · Report post 37 minutes ago, do_not_know_Linux said: не? не Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Eddy_Em 0 Posted April 20 (edited) · Report post Могу помочь научиться работать с MDMA в обмен на девборду с МК, в котором эта фиговина есть. Правда, я еще не знаю, на кой черт мне настолько мощный и дорогущий МК, если дешевле делать комбинацию из одноплатника с недорогим STM32 младших поколений (F0, F1 или F3 - от 80 до 500 рублей за штучку на али). А, нет, спасибки. Почитал вот это и понял, что мне и даром такое не нужно! Edited April 20 by Eddy_Em Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AleksBak 0 Posted April 20 · Report post 58 минут назад, do_not_know_Linux сказал: как работает MDMA без куба А с кубом получилось что-нибудь? По-быстрому проверить чтобы хотя бы на работоспособность. Или все работает уже и теперь проблема в правильной настройке регистров MDMA без куба? У Вас там peripheral-to-peripheral - правильно? У MDMA насколько понял - минимальный объем переносимых данных - 128 байт. Я только memory-memory использовал пока что. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
x893 0 Posted April 20 · Report post А почитать ? https://www.st.com/content/ccc/resource/training/technical/product_training/group0/5a/1c/4e/96/b8/23/40/3c/STM32H7-System-Master_direct_memory_access_controller_MDMA/files/STM32H7-System-Master_direct_memory_access_controller_MDMA.pdf/_jcr_content/translations/en.STM32H7-System-Master_direct_memory_access_controller_MDMA.pdf Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
do_not_know_Linux 3 Posted April 20 · Report post 19 minutes ago, AleksBak said: У MDMA насколько понял - минимальный объем переносимых данных - 128 байт. Я только memory-memory использовал пока что. не. про буфер речь шла. что буфер есть минимальная логичиская сумма данных до 128 байтов. а так вы можете передавать и 16 бит и 32 бита и 64 бита. Алекс, а где вы нашли 22 minutes ago, AleksBak said: peripheral-to-peripheral в регистрах таких масок я не видел. 23 minutes ago, AleksBak said: memory-memory где это вы раздобыли? 9 minutes ago, x893 said: А почитать ? и что вы поняли от туда? MDMA работает только совместно с DMA1 или DMA2 или отдельно может? Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AleksBak 0 Posted April 20 · Report post 21 минуту назад, do_not_know_Linux сказал: в регистрах таких масок я не видел. Нету у него (MDMA) доступа к Таймерам (APB периферия кажется так они называются) - насколько понял. Если кто знает - пусть поправит если не влом. В прошлый раз Вы написали, после того как спрашивал, что Вам нужно между регистрами Таймеров, с помощью MDMA, передавать блоки с данными так да? Это не реализуемо вроде. А на кубе нельзя сначала что-то попробовать/проверить? Сразу на регистрах тут не так просто что-то программить. (хотя что там - если постараться, то все возможно). APB шина правильнее сказать. Т.е. нужные Вам destination-ы находятся на APB шине. А у MDMA нет к ней доступа. Вроде так. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AleksBak 0 Posted April 20 · Report post Еще вот это тоже почитайте. И картинки там есть - правда запутанно-нарисованные как не крути, но что-то понять можно. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
do_not_know_Linux 3 Posted April 20 · Report post 24 minutes ago, AleksBak said: Т.е. нужные Вам destination-ы находятся на APB шине. А у MDMA нет к ней доступа. Вроде так. ну а к своим то регистрам у MDMA есть же доступ. я и в них пытался писать. просто что-то там не включил или ошибся. 25 minutes ago, AleksBak said: с помощью MDMA, передавать блоки с данными нет. там можно буффер, блок и список... а можно и в обход буфера даже. но почему-то ребята молчат. сложно их понять, то говорили что я достал с тупыми и простыми вопросами, что гуглятся на раз и два, то теперь говорят, что это слишком сложно. 29 minutes ago, AleksBak said: Это не реализуемо вроде 31 minutes ago, AleksBak said: Нету у него (MDMA) доступа к Таймерам (APB периферия кажется так они называются) - насколько понял. это нужно уточнить. Спасибо Алекс, если этот так, то MDMA будет использовать DMA. это возможно. 1 hour ago, x893 said: А почитать имеет MDMA доступ к регистрам TIM1? можете сказать? Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Eddy_Em 0 Posted April 20 · Report post 24 minutes ago, do_not_know_Linux said: имеет MDMA доступ к регистрам TIM1? можете сказать? Я в самом первом своем сообщении дал ссылку. Не имеет. Вообще. MDMA имеет доступ только к шинам работы с внешней памятью и своей SRAM. Можно задействовать DMA1 или DMA2 как посредника для MDMA. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AleksBak 0 Posted April 21 · Report post 7 часов назад, Eddy_Em сказал: Вообще. MDMA имеет доступ только к шинам работы с внешней памятью и своей SRAM Не только туда. (надо бы цитату привести - и попозжу возможно). И что значит "своей SRAM"? :) Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
do_not_know_Linux 3 Posted April 21 · Report post 13 hours ago, Eddy_Em said: Можно задействовать DMA1 или DMA2 как посредника для MDMA. можете сказать зачем тогда нужен MDMA? Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Eddy_Em 0 Posted April 21 · Report post 22 minutes ago, do_not_know_Linux said: зачем Очевидно, чтобы быстро осуществлять обмен между внешней памятью и внутренней. Лично мое мнение: такие микроконтроллеры не нужны, т.к. полноценный линукс на них не вкорячишь, а другого разумного применения такой мощности и не придумать даже… Советую таки заниматься более "приземленными" младшими версиями. А если понадобится организовать веб-страничку для своей железки - брать недорогие одноплатники. В общем, сетевой доступ со всеми плюшками (ssh, websockets, POST/GET, TLS etc) - на одноплатнике, а рилтайм — на простом МК. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
do_not_know_Linux 3 Posted April 21 · Report post 2 hours ago, Eddy_Em said: чтобы быстро осуществлять обмен между внешней памятью и внутренней. если MDMA может между внутренней и внешней , то между внутренней и внутренней он не может? разъясните уже пожалуйста Сейчас попытаюсь более точно выразится. У MDMA в любом случае есть доступ к своим регистрам, правильно же? иначе он просто бы не работал. Так можно или нельзя из одного регистра MDMA в его же регистр тогда записать данные? просто ради того чтобы понять. это может MDMA? Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Eddy_Em 0 Posted April 21 · Report post Он не может тактироваться другой периферией. Поэтому в таких случаях ему нужен внешний пинок от DMA1 или DMA2. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...