1. Запускаємо CodeWarrior
2. Створюємо новий проект, для цього необхідно:
натиснути File -> New -> Bareboard Project.
Даємо нашим проектом ім'я dsp, вибираємо використовуваний контролер: Kinetis -> K60 Family -> MK60N512MD100
Вибираємо спосіб підключення плати: PE Open Sourse JTAG
Вибираємо засіб, що спрощує ініціалізацію периферії і її використання: Device Initialization, тиснемо Next -> Finish
3. Порожній проект готовий, можемо перейти безпосередньо до бібліотеки DSP.
Для її використання потрібно приєднати такі файли:
- core_cm4.h
-core_cm4_simd.h
-arm_math.h
Для цього в Project Panel робимо правий клік по папці Sources і в випадаючому меню натискаємо Add Files
#define __INLINE __attribute __ ((always_inline)) inline
Включаємо файли CMSIS \ CM4 \ DeviceSupport \ ARM \ ARMCM4 \ ARMCM4.h
CMSIS \ CM4 \ CoreSupport \ core_cmFunc.h і core_cmInstr.h
Далі вибираємо функції, які знадобляться в нашому проекті.
Це будуть синус, косинус, векторні додавання і множення.
Для їх використання приєднуємо наступні файли:
arm_sin_f32.c
arm_cos_f32.c
arm_mult_f32.c
arm_add_f32.c
Вони знаходяться в папках CMSIS \ DSP_Lib \ Source \ Cortex-M4-M3 \ FastMathFunctions і CMSIS \ DSP_Lib \ Source \ Cortex-M4-M3 \ BasicMathFunctions
Повний список функцій і їх опис можна знайти в документації на бібліотеку, для цього необхідно відкрити файл CMSIS \ Documentation \ DSP_Lib \ html \ index.html
. З цього моменту можемо користуватися функціями.
Створимо новий .c файл: правий клік по папці Sources в ProjectPanel, назвемо його DSP_function.c
І скопіюємо туди приклад з документації на бібліотеку.
Цей приклад перевіряє одне з основних тригонометричних тотожностей:
Бере число зі входу, складає квадрати його косинуса і синуса і порівнює результат з одиницею. Якщо результат буде відрізнятися більше ніж на число DELTA, функція видасть помилку і увійде в нескінченний цикл.
5. Тепер в main можемо викликати функцію sincos ();
6. Скомпілюємо і завантажимо проект в пам'ять контролера. Це можна зробити, скориставшись поєднаннями швидких клавіш Ctrl + B і Ctrl + F11.
У додатку архів з прикладом.