Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2478 + TFT
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
SasaVitebsk
Подскажите, кто пользовал.
LPC2478 позволяет DMA выполнять копирование память-память. Насколько я понимаю, таким образом я могу копировать и FLASH-RAM.
Отсюда вопрос. Будет ли эффективно использовать DMA для вывода рисунков? На примерах я везде вижу только прямое копирование. Как правило, даже без использования memcpy(). Почему?
KRS
Цитата(SasaVitebsk @ Apr 23 2010, 12:56) *
Подскажите, кто пользовал.
LPC2478 позволяет DMA выполнять копирование память-память. Насколько я понимаю, таким образом я могу копировать и FLASH-RAM.

DMA умеет работать только с внешней памятью или USB RAM
С внутренней flash нельзя.
А так если процессор во время копирования будет делать что из внутренней flash и работать с внутренней RAM - эффект конечно будет! Особенно если весь экран заполнять! НО вот если область, надо будет списки для DMA создавать...
M_Andrey
Еще, если я правильно понял, через DMA можно гонять только куски данных размером N*B байт, где N=1, 4, 8, 16, 32, 64, 128, 256, а B=1, 2, 4 !!!
SasaVitebsk
Цитата(KRS @ Apr 23 2010, 12:23) *
DMA умеет работать только с внешней памятью или USB RAM
С внутренней flash нельзя.
А так если процессор во время копирования будет делать что из внутренней flash и работать с внутренней RAM - эффект конечно будет! Особенно если весь экран заполнять! НО вот если область, надо будет списки для DMA создавать...

Я просто исходил из
• Memory-to-memory, memory-to-peripheral, peripheral-to-memory, and
peripheral-to-peripheral transfers.

А также, исходил, что общее адресное пространство. То есть как бы несколько непонятно, почему flash нельзя.

Ну и бог с ним. Допустим я задействую только внешнюю память (или USB). В какой-то области размещу картинки из флэш и буду их шпулять с помощью DMA. В целом, будет быстрее, как я понял.
KRS
Цитата(SasaVitebsk @ Apr 24 2010, 01:07) *
А также, исходил, что общее адресное пространство. То есть как бы несколько непонятно, почему flash нельзя.

Это с точки зрения ядра ARM общее.
DMA контроллер сидит на AHB1 и может лазать к памяти и переферии которая доступна через AHB1 - это USB RAM и внешняя (потому что EMC тоже сидит на AHB1), а вот например Ethernet сидит на своем AHB2, поэтому туда GPDMA тоже лезть не может! А flash и int RAM и FIO напрямую к ядру подключены, поэтому и работают быстро.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.