Например TDA7294

Форум РадиоКот • Просмотр темы - STM32F103C8 DSP_Lib в разных IDE. Использование FFT.
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб июл 20, 2019 19:03:27

Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: STM32F103C8 DSP_Lib в разных IDE. Использование FFT.
СообщениеДобавлено: Пт мар 02, 2018 15:05:47 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Ср май 17, 2017 09:34:57
Сообщений: 20
Откуда: Никополь
Рейтинг сообщения: 0
Здравствуйте!
Столкнулся вот намедни с необходимостью использования FFT в своём проекте. Погуглил... Наткнулся на стандартную для ARM библиотеку - DSP_Lib, почитал доки. "Всё просто!" - подумал я, открыл CubeMX сделал для данного камня минимальную конфигурацию и сгенерировал проект для Keil, из примеров к библиотеке для использования Фурье выдрал два файла arm_fft_bin_data.c и arm_fft_bin_example_f32.c. В бесконечный цикл main.c добавил вызов основной функции из примера. В настройках проекта добавил использование DSP_Lib. И, собственно в Preprocessing Symbols в поле Define добавил ARM_MATH_CM3, для успешного компилирования проекта. Скомпилировав, Keil выдал такие значения:
Цитата:
Program Size: Code=8826 RO-data=12094 RW-data=8224 ZI-data=5120

Да, пример рабочий, вопросов к нему нет.
Далее... Приступил к использованию в примере функций RealFFT вместо ComplexFFT, для этого посредством CubeMX настроил АЦП и таймер для получения реального массива данных с АЦП, но даже простой вызов функции инициализации arm_rfft_fast_init_f32 без дальнейших каких-либо действий по работе с FFT, приводили к тому, что проект компилировался с Fatal Error - Memory Overflow. Тогда использовалась другая функция инициализации - arm_rfft_init_q15, в этом случае компиляция проходила до конца, но с размером flash аж 54кБ!. Естественно в бесплатном Keil, имеющим ограничение в 32кБ, уже ничего не сделаешь.
Тот же проект с самым первым и родным примером был перенесён в SW4STM32, добавлены в проект самые необходимые компоненты DSP_Lib и компиляция заканчивается словами
Цитата:
Description Resource Path Location Type
region `FLASH' overflowed by 173068 bytes fft test C/C++ Problem
- вот эти 173кБ - это то, что в Keil компилировалось вполне нормально с данными
Цитата:
Code=8826 RO-data=12094 RW-data=8224 ZI-data=5120
.
До этого SW4STM32 не использовал вообще, версия у него 1.8. С более новыми на Win XP имеются проблемы. Какие здесь подводные камни есть?
Да и вообще, понимаю что DSP - это не единственное решение, но по теме FFT что то совсем не густо в плане манёвров, ИМХО.
Что можете посоветовать на этот счет. Интересует банальное - преобразование Фурье массива полученного с АЦП.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 DSP_Lib в разных IDE. Использование FFT.
СообщениеДобавлено: Сб мар 03, 2018 00:37:45 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 83
Зарегистрирован: Пн янв 10, 2011 00:05:37
Сообщений: 423
Откуда: СССР
Рейтинг сообщения: 0
http://paulbourke.net/miscellaneous//dft/

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: STM32F103C8 DSP_Lib в разных IDE. Использование FFT.
СообщениеДобавлено: Сб мар 03, 2018 12:36:11 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Ср май 17, 2017 09:34:57
Сообщений: 20
Откуда: Никополь
Рейтинг сообщения: 0
Хорошо, посмотрим...
------------------------------------------
Вроде бы как для использования DSP_Lib в доках Кеил значится, что в проект нужно не сорцы добавлять, а библиотеку .lib в одноимённой папке. Если взять пак драйверов от STM для версии STM32F1xx - в ней содержится как сама DSP_Lib, так и просто папка Lib с либами для ARM и GCC. Из папки GCC беру libarm_cortexM3l_math.a и добавляю в проект SW4STM32 через Project -> Properties -> C/C++ General -> Paths & Symbols -> Libraries ну и собственно указываю путь к самой библиотеке, но при компиляции пишет, что библиотека cannot find. Тогда взял из папки ARM файл arm_cortexM3l_math.lib и провел такую же процедуру с добавлением (с удалением предыдущей) и при компиляции всё то же
Цитата:
Description Resource Path Location Type
cannot find -lD:/SW_proj/fft/Drivers/Lib/ARM/arm_cortexM3l_math.lib fft test C/C++ Problem

Что здесь не так?

Добавлено after 2 hours 57 minutes 49 seconds:
Всё ясно! :idea:
Линкер видит в названиях префиксы 'lib' и расширения *.a, посему нужно указать в Library Path путь к папке с либой, а в Libraries имя файла libarm_cortexM3l_math.a нужно написать как "arm_cortexM3l_math".
Далее при компиляции обязательно вылезет следующее:
Цитата:
11:29:17 **** Incremental Build of configuration Debug for project fft test ****
make all
'Building target: fft test.elf'
'Invoking: MCU GCC Linker'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -L"D:\SW_proj\fft\Drivers\Lib\GCC" -specs=nosys.specs -specs=nano.specs -T"../STM32F103C8Tx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -o "fft test.elf" @"objects.list" -l"arm_cortexM3l_math"
d:/ac6/systemworkbench/*самореклама*/fr.ac6.mcu.externaltools.arm-none.win32_1.7.0.201602121829/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/lib/armv7-m\libm.a(lib_a-wf_sqrt.o): In function `sqrtf':
wf_sqrt.c:(.text.sqrtf+0x7c): undefined reference to `__errno'
wf_sqrt.c:(.text.sqrtf+0x86): undefined reference to `__errno'
collect2.exe: error: ld returned 1 exit status
make: *** [fft test.elf] Error 1

11:29:18 Build Finished (took 1s.16ms)

Нужно снять галку Use C math library, а в библиотеки просто добавить библиотеку "m" (просто написать m, путь задавать не нужно, но обязательно после arm_cortexM3l_math)
Картинка прилагается.
Изображение
Результат:
Цитата:
'Generating binary and Printing size information:'
arm-none-eabi-objcopy -O binary "fft test.elf" "fft test.bin"
arm-none-eabi-size "fft test.elf"
text data bss dec hex filename
25616 8320 5672 39608 9ab8 fft test.elf


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: STM32F103C8 DSP_Lib в разных IDE. Использование FFT.
СообщениеДобавлено: Сб мар 03, 2018 16:06:18 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 83
Зарегистрирован: Пн янв 10, 2011 00:05:37
Сообщений: 423
Откуда: СССР
Рейтинг сообщения: 0
Может пригодится https://github.com/andrewkirillov/AForg ... ansform.cs

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
Плавкие предохранители LittelFuse. Грамотный подбор

Выбор оптимального плавкого предохранителя требует учета многих параметров. Для упрощения выбора оптимального предохранителя и автоматизации расчетов Littelfuse предлагает онлайн-утилиту. Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32F103C8 DSP_Lib в разных IDE. Использование FFT.
СообщениеДобавлено: Сб мар 03, 2018 21:07:45 
Вымогатель припоя
Аватар пользователя

Карма: 20
Рейтинг сообщений: 46
Зарегистрирован: Сб мар 09, 2013 12:29:22
Сообщений: 577
Откуда: 40RUS
Рейтинг сообщения: 0
http://cvs.aiq.ru/

_________________
IVL ex UA6PJ OSC_F303&F103


Вернуться наверх
 
Немногим дороже дискретного решения: новое поколение импульсных стабилизаторов Mornsun

Практически во всех радиоэлектронных устройствах массово применяются линейные понижающие стабилизаторы напряжения типа КРЕН в корпусе TO220 (другое обозначение – 78хх) и им подобные для формирования основного напряжения питания схемы.
Данные стабилизаторы позволяют без особых затрат получить нужное для каскада или узла схемы напряжение, если устройство питается от внешнего источника с более высоким напряжением. Для этого требуются… Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32F103C8 DSP_Lib в разных IDE. Использование FFT.
СообщениеДобавлено: Вт мар 06, 2018 09:34:32 
Вымогатель припоя
Аватар пользователя

Карма: 20
Рейтинг сообщений: 46
Зарегистрирован: Сб мар 09, 2013 12:29:22
Сообщений: 577
Откуда: 40RUS
Рейтинг сообщения: 0
https://hubstub.ru/stm32/149-stm32-byst ... -fure.html

_________________
IVL ex UA6PJ OSC_F303&F103


Вернуться наверх
 


Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: stas732 и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y