Cortex m4 dsp

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Cortex m4 dsp

Сообщение Грендайзер »

Всем доброго времени суток. Разбираюсь с ATSAMSD32C на базе ядра CORTEX M4. Везде написано, что оно (ядро) поддерживает некие DSP инструкции, однако у меня не выходит найти нормальную информацию по этому вопросу. Единственное, что я понял - что для работы с этими инструкциями необходимо подключить некие библиотеки CIMSIS, однако как это сделать, где их взять не ясно. Атмел предлагает использовать их дурацкие ASF функции, которые я не знаю и знать не хочу. Работаю в AtmelStudio6. Может кто нибудь привнести конкретики? Заранее спасибо.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Cortex m4 dsp

Сообщение dosikus »

CMSIS на сайте ARM ...
Реклама
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

Как я понял эта библиотека не зависит от производителя софта и кристаллов. Но тем не менее, как её потом то использовать?
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Cortex m4 dsp

Сообщение dosikus »

В комплект CMSIS входят исходники, уже скомпилированные либы ну и хелп - как подключать и как пользоваться.
Одно но CMSIS - это работа с ядром, NVIC и DSP.
Исходники работы с периферией должны быть в формате рекомендованным ARM поставлять, их обязан вендор.
Это хэдер с описанием регистров периферии, startup_xxxx и system_xxx .
И скорей всего атмеловская ASF обязана( по аналогии с другими) использовать CMSIS . Так что ищите или в ASF или в папках студии.

Вообщем читайте хелп к CMSIS .


Гы ... смотрите в Atmel Studio 6.1\projecttemplates\Atmel-Boards в каждом архиве есть файлы и либы CMSIS . :))))))))))
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

Гы ... смотрите в Atmel Studio 6.1\projecttemplates\Atmel-Boards
Да, атмеловцы в конец озверели. Предлагают создавать проект для готовых плат (или для пользовательских) и использовать их дурацкие функции. А мне проще сразу записать битики в нужный регистр, и не забивать мозг лишней информацией. С CIMSIS же нашёл лишь вот этот документик "Atmel AT03157: SAM4E FPU and CMSIS DSP Library " из которого ровным счётом ничего не понял. Какие то флаги прописывать (прописал ничё не работает), далее прописать путь к библиотекам - таких нет, пытался подключить файл “arm_math.h" так при компиляции выскакивает ошибка... вообщем что то совсем туго.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Cortex m4 dsp

Сообщение dosikus »

Если CMSIS скачен и распакован то запускаем index.html .

И читаем - CMSIS-CORE -> Using CMSIS in Embedded Applications о организации минимального проекта ,
CMSIS-DSP ->CMSIS DSP Software Library о подключении сей либы.
Реклама
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

Угу, спасибо. Сейчас поэкспериментирую.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

dosikus Спасибо, ваша подсказка помогла. Скачал библиотеку CMSIS-SP-00300-r3p1-00rel0 с арма. Установил в соответствии с инструкцией. После этого подключение заголовочника "arm_math.h" не вызвало боли у компилятора. Далее я как и сказано в "Atmel AT03157: SAM4E FPU and CMSIS DSP Library " подключил 2 флага : -mfloat-abi=softfp -mfpu=fpv4-sp-d16 после чего появилось предупреждение о том, что компилятор генерит команды работы с FPU, а у меня в камне мол его нет. Порыскал по нету и впрямь у серии SAM4S такой штуки нет. Что это значит? Что у меня проц будит медленно работать с цифрами с плавающей точкой? Может тогда вообще не было смысла подключать эти библиотеки?
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: Cortex m4 dsp

Сообщение balmer »

-mfloat-abi=softfp - это ты влючаешь софтварный float, как бы нехорошо, если нужно ускорение

Для Cortex-M4 - нужно что-то типа
-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard

Хотя в Atmel камнях не разбираюсь, поэтому могу ошибаться.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

-mfloat-abi=softfp - это ты влючаешь софтварный float, как бы нехорошо, если нужно ускорение
Блин, странно предупреждение о том, что генерятся команды для FPU выскакивают именно тогда когда я подключаю -mfloat-abi=softfp. Сейчас у меня следующие флажки -std=gnu99 -mfpu=fpv4-sp-d16. Но как я понял, главное быстро считать дробные числа. Значит если у меня нет FPU значит нужно работать с числами с фиксированной запятой?
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Cortex m4 dsp

Сообщение dosikus »

Нет FPU или он не включен?
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

Простите, что затянул с ответом. Был занят.
FPU именно НЕТ! В данном кристалл его не имеется.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Cortex m4 dsp

Сообщение dosikus »

У меня ATSAMSD32C гугль не знает. Ссылкой не поделитесь где берете?
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

Простите, четвёрочку забыл :oops: . Правильно ATSAM4SD32C. Вот тут представитель буржуазного общества задаётся тем же вопросом, и в принципе получает однозначный ответ.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Cortex m4 dsp

Сообщение dosikus »

Да я собственно о цене - не лучше будет STM32F4xxx ?
Например STM32F401RBT6 https://www.terraelectronica.ru/catalog ... DE=1230710
Вполне паябельный корпус, куча плюшек и FPU на борту. 591.63 руб
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

Так другие sam'ы тоже fpu содержат, при том у меня отладочная плата. Да и дело не в этом. Изначально мне просто интересно как использовать операции пригодные для DSP (в первую очередь умножение, деление и тригонометрию) что б проц не сильно притормаживал при выполнении этих операций. В одно буржуинской презентации прочёл, что cortex-m4 операции с плавающей точкой выполняет быстрей чем с фиксированной. Так вот как я понял, в моём случае это не так?
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Cortex m4 dsp

Сообщение dosikus »

Очевидно же для этого и нужен FPU...
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

Хм. Т.е. типы float мне использовать не стоит. А вот интересно. Ведь скажем, для расчётов фильтров или FFT всёравно так или иначе надо производить операции с дробными числами. При этом, как я понял, в набор DSP команд входят уже готовые команды для расчёта скажем FFT. Так вот процессор сам определяет с какой точкой ему работать? Или вот допустим, я хочу рассчитать значение синуса некоторого числа, т.е.
y = sin(x); значение y ведь по определению не будит целым. Так как с ним то процессор поступит, как он его интерпретирует?
Аватара пользователя
menzoda
Вымогатель припоя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Re: Cortex m4 dsp

Сообщение menzoda »

Грендайзер писал(а):как я понял, в набор DSP команд входят уже готовые команды для расчёта скажем FFT
Никаких команд "рассчитать FFT" там нету. DSP инструкции в Cortex-M4 это:
- Разные вариации MAC (multiply-accumulate) инструкций
- Арифметические операции с насыщением (saturated arithmetic)
- Параллельные арифметические операции

Собственно это всё. Как видите никаких тригонометрических функций нет. С плавающей точкой эти инструкции тоже не работают. Всё что они могут - это сделать вычисления более эффективными, например, там где раньше использовались две инструкции, теперь можно использовать одну, и тому подобное.

Посмотреть список инструкций можно на сайте ARM. Вообще, это первое место, где нужно искать информацию. Более подробно про каждую инструкцию можно прочитать там же, только в другом документе.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Cortex m4 dsp

Сообщение Грендайзер »

Так как же ими пользоваться? На ассемблере AS6 для армов писать не даёт, плавающей точки нет, а DSP инструкции есть :dont_know:
Ответить

Вернуться в «ARM»