Например TDA7294

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





Текущее время: Чт мар 28, 2024 11:31:17

Часовой пояс: UTC + 3 часа


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



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

Зарегистрирован: Ср май 17, 2017 08: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.
СообщениеДобавлено: Пт мар 02, 2018 23:37:45 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 87
Зарегистрирован: Вс янв 09, 2011 23:05:37
Сообщений: 450
Откуда: СССР
Рейтинг сообщения: 0
http://paulbourke.net/miscellaneous//dft/

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


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

Зарегистрирован: Ср май 17, 2017 08: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 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

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

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

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

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


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

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

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

_________________
IVL ex UA6PJ OSC_F303


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32F103C8 DSP_Lib в разных IDE. Использование FFT.
СообщениеДобавлено: Вт мар 06, 2018 08:34:32 
Электрический кот
Аватар пользователя

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

_________________
IVL ex UA6PJ OSC_F303


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

Часовой пояс: UTC + 3 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


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

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


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