Неофициальная классификация семейств процессоров Blackfin Печать
Добавил(а) microsin   

Вам наверное не раз приходилось встречаться с директивами препроцессора в исходном коде библиотек Analog Devices, которые используют загадочные определения наподобие __ADSP_STIRLING__, __ADSP_EDINBURGH__ и т. п. Это макроопределения, которые отражают подгруппы аналогичных по возможностям процессоров. Процессоры одной подгруппы имеют незначительные отличия друг от друга, что позволяет легко портировать низкоуровневый код с одного процессора на другой, когда они находятся в одной подгруппе. Например, процессоры ADSP-BF531, ADSP-BF532, ADSP-BF533 относятся к подгруппе Edinburgh (__ADSP_EDINBURGH__) и они аналогичны друг-другу по возможностям, т. е. для того, чтобы программа процессора ADSP-BF531 заработала на процессоре ADSP-BF532, скорее всего будет достаточно перенастроить свойства проекта (указать другой процессор ADSP-BF532) и перекомпилировать проект.

К сожалению, на сайте Analog Devices нет никакой информации о классификации процессоров по подгруппам. Есть только обобщенная таблица по функциональным возможностям [1], в которой нет никакой классификации по семействам процессоров. Однако имеется заголовочный файл services.h (находится в каталоге установки Blackfin\include\services среды разработки VisualDSP++), где эти подгруппы определены с помощью директив препроцессора. Т. е. на основе процессора, заданного в проекте, условными операторами препроцессора #if, #elif и #ifndef и т. п. определяются макроопределения для семейств (подгрупп родственных процессоров). Для удобства я составил таблицу, чтобы можно было проще ориентироваться в семействах моделей процессоров Blackfin.

Семейство Какие процессоры входят
Edinburgh(__ADSP_EDINBURGH__) ADSP-BF531, ADSP-BF532, ADSP-BF533
Braemar(__ADSP_BRAEMAR__) ADSP-BF534, ADSP-BF536, ADSP-BF537
Stirling(__ADSP_STIRLING__) ADSP-BF538, ADSP-BF539
Moab(__ADSP_MOAB__) ADSP-BF542, ADSP-BF542M, ADSP-BF544, ADSP-BF544M, ADSP-BF547, ADSP-BF547M, ADSP-BF548, ADSP-BF548M, ADSP-BF549, ADSP-BF549M
Kookaburra(__ADSP_KOOKABURRA__) ADSP-BF523, ADSP-BF525, ADSP-BF527
Mockingbird(__ADSP_MOCKINGBIRD__) ADSP-BF522, ADSP-BF524, ADSP-BF526
Brodie(__ADSP_BRODIE__) ADSP-BF512, ADSP-BF514, ADSP-BF516, ADSP-BF518
Moy(__ADSP_MOY__) ADSP-BF504, ADSP-BF504F, ADSP-BF506F
Delta(__ADSP_DELTA__) ADSP-BF590, ADSP-BF592
Teton(__ADSP_TETON__) ADSP-BF561

[Ссылки]

1. Blackfin Processor Family site:analog.com.