Перейти к содержанию
    

mpc8308rm dma не могу разобраться

Доброго времени суток.

Подскажите как использовать DMA тут?

Собственно DMAC я смэпировал, т.е. доступ к нему у меня из кода c++ есть.

А как произвести запись?

В документации сказано:

1. Write the DMACR register if a configuration other than the default is desired.
2. Write the channel priority levels into the DCHPRIn registers if a configuration other than the
default is desired.
3. Enable error interrupts in the DMAEEI registers if so desired.
4. Write the 32 bytes TCD for each channel that may request service.
5. Request channel service by software (setting the TCD.start bit).

 

TCD.citer = TCD.biter = 1
• TCD.nbytes = 16
• TCD.saddr = 0x1000
• TCD.soff = 1
• TCD.ssize = 0
• TCD.slast = –16

• TCD.daddr = 0x2000
• TCD.doff = 4
• TCD.dsize = 2
• TCD.dlast_sga= –16
• TCD.int_maj = 1
• TCD.start = 1

 

 

Если я это сделаю то с адреса 0x1000 будет скопировано 16 байт в адрес 0x2000?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...