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

Программирование TMS320DM816x

Здравствуйте

Стала необходимость обмениваться данными между ARM и DSP ядром. Хочу обработать в ARM ядре данные и отправлять в DSP ядро для дальнейшей обработки. Установил CCS 5.2 и пытаюсь что то сделать. Можно ли в CCS 5.2 работать одновременно с ARM и DSP ядром???Литературы на ti.com не нашел, либо "проскочил".

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


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

Стала необходимость обмениваться данными между ARM и DSP ядром. Хочу обработать в ARM ядре данные и отправлять в DSP ядро для дальнейшей обработки.

 

Тогда может быть вам обратить внимание на OMAP?

http://www.ti.com/dsp/docs/dspcontent.tsp?contentId=53403

Это вроде бы интегрированные вместе ARM (Cortex-A8) и DSP (C64x+). Получится две возможности в одном, и обмениваться данными между ядрами будет не надо. Да и дешевле обойдется.

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


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

Тогда может быть вам обратить внимание на OMAP?

... и обмениваться данными между ядрами будет не надо...

...я сам в TI DSP некопенгаген, но это будет почти одно и то же... А данными обмениваться почему не надо - смысл тогда в этой многоядерности? У Вас на ПК задачи независимы, а ядра универсальные и копии друг-дружки - и то обмениваться информацией они умеют очень здорово.

 

2milky1: сорри за флейм...

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


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

Это вроде бы интегрированные вместе ARM (Cortex-A8) и DSP (C64x+). Получится две возможности в одном, и обмениваться данными между ядрами будет не надо. Да и дешевле обойдется.

Как же не надо? Любой OMAP - это два ядра, между которыми надо осуществлять обмен данными.

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


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

Пока хочу разобраться и отладить программу на симуляторе в CCS 5.2

В описании этого процессора нигде не нашел как обменяться данными между ядрами AMR и DSP.

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


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

Это вроде бы интегрированные вместе ARM (Cortex-A8) и DSP (C64x+). Получится две возможности в одном, и обмениваться данными между ядрами будет не надо.

Как же не надо? Любой OMAP - это два ядра, между которыми надо осуществлять обмен данными.

Я имела ввиду, что интерфейс городить не придется - два ядра в одном корпусе уж как-нибудь договорятся. :) Скажем, через общую память.

 

...я сам в TI DSP некопенгаген, но это будет почти одно и то же... А данными обмениваться почему не надо - смысл тогда в этой многоядерности? У Вас на ПК задачи независимы, а ядра универсальные и копии друг-дружки - и то обмениваться информацией они умеют очень здорово.

Вот и я говорила о том, что сделать обмен между двумя ядрами одного и того же МП будет легче, чем делать транзит между двумя разными МП. А если учесть, что каждого из них своя архитектура и своя система инструкций, то задача становится гораздо сложнее, чем освоить один OMAP.

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


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

Xenia, Вы хоть посмотрите, что из себя DM816x представляет. Тот же OMAP по сути.

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


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

Xenia, Вы хоть посмотрите, что из себя DM816x представляет. Тот же OMAP по сути.

 

Тем более. Зачем стыковать два разных ПМ, если бывает один двухядерный, объединяющий в себе возможности ARM и DSP? А если нужна многоядерность, то и брать надо многоядерный проц, а не стыковать между собой одноядерные, чтобы потом ломать голову над тем, как данные от одного МП передать в другой.

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


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

Здравствуйте

Стала необходимость обмениваться данными между ARM и DSP ядром. Хочу обработать в ARM ядре данные и отправлять в DSP ядро для дальнейшей обработки. Установил CCS 5.2 и пытаюсь что то сделать. Можно ли в CCS 5.2 работать одновременно с ARM и DSP ядром???Литературы на ti.com не нашел, либо "проскочил".

 

Так ли уж нужна IDE Code Composer? Если нет жесткой привязки к ней, то можно воспользоваться EZSDK от Texas Instruments. Нужна только машина с линуксом или, лучше, образ виртуальной машины. В SDK есть codec engine с большим количеством примеров. Один из примеров - scale. В нём производится масштабирование вектора данных на DSP и передача результата обратно на АРМ. Работает всё практически "из коробки" - требуется лишь несколько шагов по прилагаемым инструкциям (настройка путей, кода вообще не придётся писать ни одной строки). Этот же SDK позволяет собрать образ всей ОС для платформы, загрузчики. Всё автоматизировано. Автоматизирована даже настройка nfs и tftp на хосте, после чего можно очень и очень удобно отлаживать ПО на платформе. В целом, при использовании этого SDK, старт работы на 814* и 816* становится быстрым и удобным.

 

Как же не надо? Любой OMAP - это два ядра, между которыми надо осуществлять обмен данными.

Даже больше: на 8168 - шесть ядер (1 ARM + 1 DSP + 3 Cortex M3 + 1 графика). :-)

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


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

Привязки нет, попробую сначала в CCS 5.2, потом посмотрим....

 

Вот карта памяти для ARM и DSP Core

MEMORY

{

#ifndef DSP_CORE /* ARM memory map */

 

L3OCMC0: o = 0x40300000 l = 0x00040000 /* 256kB L3 OCMC SRAM */

L3OCMC1: o = 0x40400000 l = 0x00040000 /* 256kB L3 OCMC SRAM */

DSPSHL2RAM: o = 0x40800000 l = 0x00040000 /* 256kB Shared DSP L2 RAM */

DSPSHL1PRAM: o = 0x40E00000 l = 0x00008000 /* 32kB Shared DSP L1 Program RAM */

DSPSHL1DRAM: o = 0x40F00000 l = 0x00008000 /* 32kB Shared DSP L1 Data RAM */

DDR0: o = 0x80000000 l = 0x40000000 /* 1GB external DDR Bank 0 */

DDR1: o = 0xC0000000 l = 0x40000000 /* 1GB external DDR Bank 1 */

 

#else /* DSP memory map */

 

HDVICP0: o = 0x00400000 l = 0x00040000 /* 256kB HDVICP0 UMAP1 */

HDVICP1: o = 0x00500000 l = 0x00040000 /* 256kB HDVICP1 UMAP1 */

DSPL2RAM: o = 0x00800000 l = 0x00040000 /* 256kB DSP L2 RAM */

DSPL1PRAM: o = 0x00E00000 l = 0x00008000 /* 32kB DSP L1 Program RAM */

DSPL1DRAM: o = 0x00F00000 l = 0x00008000 /* 32kB DSP L1 Data RAM */

 

#endif

}

 

у них есть общая память Shared DSP L2, L1....Таким образом можно обмениваться данными.

Теперь осталось понять как одновременно в CCS работать с ARM и DSP ядром.

 

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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