Например TDA7294

Форум РадиоКот • Просмотр темы - STM32H743 DMA
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Вт сен 29, 2020 23:16:08

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: STM32H743 DMA
СообщениеДобавлено: Вт ноя 19, 2019 08:33:21 
Родился
Аватар пользователя

Зарегистрирован: Пт окт 18, 2019 10:24:38
Сообщений: 2
Рейтинг сообщения: 0
Доброго времени суток!

Понадобилось передать массив по SPI с использованием DMA. .data .bss ._user_heap_stack расположил в RAM_D1.
Среда разработки TrueSTUDIO в связке с CubeMX, использую стандартную команду HAL_SPI_Transmit_DMA.

При передаче глобального массива все ок, работает без проблем, но при попытке передачи массива, объявленного внутри функции, SPI не передает ничего.

Пробовал включать I,D cache, запрещал кеширование всего RAM_D1, менял расположение на RAM_D2, использовал DMA1,2 с разными потоками(все это в разных комбинациях). Ничего не помогает.
В HAL'овской структуре SPI код ошибки 16(Значит ошибка связана с DMA), в структуре DMA код ошибки 1.
Ниже прилагаю System architecture контроллера и(на всякий случай) данные структуры, после вызова функции HAL_SPI_Transmit_DMA

Изображение Изображение
Буду благодарен за любую идею.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32H743 DMA
СообщениеДобавлено: Вт ноя 19, 2019 13:23:56 
Вымогатель припоя

Карма: -17
Рейтинг сообщений: 5
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 520
Рейтинг сообщения: 1
При передаче глобального массива все ок, работает без проблем, но при попытке передачи массива, объявленного внутри функции, SPI не передает ничего.
Объявленного где? Уж не на стеке-ли с последующим выходом из функции до завершения DMA-транзакции? :))) :)))

Добавлено after 1 minute 36 seconds:
Буду благодарен за любую идею.
Лучше бы показали как объявляете массив, стартуете/завершаете DMA-транзакцию. А если массив на стеке, то ещё - где (в каком регионе ОЗУ) находится стек?


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: STM32H743 DMA
СообщениеДобавлено: Вт ноя 19, 2019 14:17:28 
Родился
Аватар пользователя

Зарегистрирован: Пт окт 18, 2019 10:24:38
Сообщений: 2
Рейтинг сообщения: 0
Объявленного где? Уж не на стеке-ли с последующим выходом из функции до завершения DMA-транзакции? :))) :)))
Лучше бы показали как объявляете массив, стартуете/завершаете DMA-транзакцию. А если массив на стеке, то ещё - где (в каком регионе ОЗУ) находится стек?

Спасибо, что заставили перепроверить, а то я уже хотел забросить это дело. Думал,что в build analyzer(нижеприведенный скриншот) достоверные данные.
Посмотрел через printf адрес переменной, а она почему то в DTCMRAM.

Изображение

Суть в том что в .ld файле есть нижеприведенный параметр(о котором я даже не подозревал). Вот я его и не заметил, поправив только циферки в build analyzer.
Код:
_estack = 0x20020000;    //было(конец DTCMRAM)
_estack = 0x24080000;    //стало(конец RAM_D1)


Теперь работает.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y