milky1 0 14 сентября, 2012 Опубликовано 14 сентября, 2012 · Жалоба Здравствуйте Стала необходимость обмениваться данными между ARM и DSP ядром. Хочу обработать в ARM ядре данные и отправлять в DSP ядро для дальнейшей обработки. Установил CCS 5.2 и пытаюсь что то сделать. Можно ли в CCS 5.2 работать одновременно с ARM и DSP ядром???Литературы на ti.com не нашел, либо "проскочил". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 14 сентября, 2012 Опубликовано 14 сентября, 2012 · Жалоба Какой эмулятор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 14 сентября, 2012 Опубликовано 14 сентября, 2012 · Жалоба Стала необходимость обмениваться данными между ARM и DSP ядром. Хочу обработать в ARM ядре данные и отправлять в DSP ядро для дальнейшей обработки. Тогда может быть вам обратить внимание на OMAP? http://www.ti.com/dsp/docs/dspcontent.tsp?contentId=53403 Это вроде бы интегрированные вместе ARM (Cortex-A8) и DSP (C64x+). Получится две возможности в одном, и обмениваться данными между ядрами будет не надо. Да и дешевле обойдется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 14 сентября, 2012 Опубликовано 14 сентября, 2012 · Жалоба Тогда может быть вам обратить внимание на OMAP? ... и обмениваться данными между ядрами будет не надо... ...я сам в TI DSP некопенгаген, но это будет почти одно и то же... А данными обмениваться почему не надо - смысл тогда в этой многоядерности? У Вас на ПК задачи независимы, а ядра универсальные и копии друг-дружки - и то обмениваться информацией они умеют очень здорово. 2milky1: сорри за флейм... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 14 сентября, 2012 Опубликовано 14 сентября, 2012 · Жалоба Это вроде бы интегрированные вместе ARM (Cortex-A8) и DSP (C64x+). Получится две возможности в одном, и обмениваться данными между ядрами будет не надо. Да и дешевле обойдется. Как же не надо? Любой OMAP - это два ядра, между которыми надо осуществлять обмен данными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
milky1 0 14 сентября, 2012 Опубликовано 14 сентября, 2012 · Жалоба Пока хочу разобраться и отладить программу на симуляторе в CCS 5.2 В описании этого процессора нигде не нашел как обменяться данными между ядрами AMR и DSP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 14 сентября, 2012 Опубликовано 14 сентября, 2012 · Жалоба Это вроде бы интегрированные вместе ARM (Cortex-A8) и DSP (C64x+). Получится две возможности в одном, и обмениваться данными между ядрами будет не надо. Как же не надо? Любой OMAP - это два ядра, между которыми надо осуществлять обмен данными. Я имела ввиду, что интерфейс городить не придется - два ядра в одном корпусе уж как-нибудь договорятся. :) Скажем, через общую память. ...я сам в TI DSP некопенгаген, но это будет почти одно и то же... А данными обмениваться почему не надо - смысл тогда в этой многоядерности? У Вас на ПК задачи независимы, а ядра универсальные и копии друг-дружки - и то обмениваться информацией они умеют очень здорово. Вот и я говорила о том, что сделать обмен между двумя ядрами одного и того же МП будет легче, чем делать транзит между двумя разными МП. А если учесть, что каждого из них своя архитектура и своя система инструкций, то задача становится гораздо сложнее, чем освоить один OMAP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 14 сентября, 2012 Опубликовано 14 сентября, 2012 · Жалоба Xenia, Вы хоть посмотрите, что из себя DM816x представляет. Тот же OMAP по сути. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 14 сентября, 2012 Опубликовано 14 сентября, 2012 · Жалоба Xenia, Вы хоть посмотрите, что из себя DM816x представляет. Тот же OMAP по сути. Тем более. Зачем стыковать два разных ПМ, если бывает один двухядерный, объединяющий в себе возможности ARM и DSP? А если нужна многоядерность, то и брать надо многоядерный проц, а не стыковать между собой одноядерные, чтобы потом ломать голову над тем, как данные от одного МП передать в другой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ya_Mike 0 17 сентября, 2012 Опубликовано 17 сентября, 2012 · Жалоба Здравствуйте Стала необходимость обмениваться данными между 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 графика). :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
milky1 0 17 сентября, 2012 Опубликовано 17 сентября, 2012 · Жалоба Привязки нет, попробую сначала в 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 ядром. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться