Вопросы по теме 'cortex-m'

Зачем мне нужен бесконечный цикл в программировании STM32?
Я программирую STM32F4 на C (gcc), это ARM Cortex M4, я вижу, что все примеры завершают свою функцию main() бесконечным циклом, даже когда остальная часть программы будет выполняться из-за прерываний. Если я попытаюсь удалить цикл из своей программы,...
4810 просмотров
schedule 20.02.2023

Как завершить прерывание с более низким приоритетом?
У меня есть одно прерывание с высоким приоритетом, которое отправляет данные USB, и одна задача с более низким приоритетом, которая уже выбирает следующие данные для отправки. Иногда для прерывания с высоким приоритетом требуются некоторые данные,...
567 просмотров
schedule 28.02.2023

STM32F030 и контакт BOOT0
Я пытаюсь создать схему с микроконтроллером STM32F030K6T6, и я не уверен в одном. Есть только контакт BOOT0 (без BOOT1), и, возможно, я слепой, но я не могу найти описание этого контакта в документации ST (я искал документ «DoclD024849 Rev 1»,...
36481 просмотров
schedule 20.07.2022

Загрузчик LPC1114 и пользовательское приложение используют одни и те же прерывания
Дополнительный загрузчик для NXP LPC1114 / 5 Ссылка на приложение NXP, примечание 10995 Необходимо использовать одни и те же прерывания в загрузчике и пользовательском приложении. Согласно NXP AN10995, вектор int находится только в позиции 0, и нет...
677 просмотров
schedule 29.04.2022

Cortex-M4 SIMD медленнее, чем Scalar
У меня есть несколько мест в моем коде, которые действительно можно было бы немного ускорить, когда я пытаюсь использовать инструкции CM4 SIMD, результат всегда медленнее, чем скалярная версия, например, это функция альфа-смешивания, которую я...
3008 просмотров
schedule 20.05.2022

Компилятор IAR ARM имеет странные инструкции по сборке
В настоящее время я разрабатываю проект с ядром ARM CM0+ и использую компилятор IAR. Когда я проверил вывод сборки компилятора, я обнаружил некоторые странные инструкции, такие как «STRDEQ», «EORPL» и т. д. Эти инструкции не задокументированы в...
690 просмотров
schedule 19.12.2022

Различия при входе и выходе из спящего режима WFE, WFI
Я достаточно новичок в архитектурах ARM и пытаюсь осмыслить механизм пробуждения. Так что, во-первых, мне трудно найти хорошую информацию по этому поводу. Документация ARM кажется очень краткой по этой теме. Я хотел бы понять, когда Cortex...
14755 просмотров
schedule 16.06.2022

Обработчик прерывания STM32F4 для захвата его не вызывается
В приведенном ниже коде используется функция сравнения захвата канала 3 TIM1 для захвата нарастающего фронта на PE10, но она не работает, обработчик прерывания не вызывается. Я не очень хорошо разбираюсь в этом встроенном материале, так может ли...
4726 просмотров
schedule 29.03.2022

Cortex M0 int16 fft такой же, как q15 fft
Мне нужно написать программу, которая выполняет БПФ для 16-битных данных. Просмотрев сайт библиотеки ARM CMSIS DSP, я нашел файл arm_rfft_q15 fft. Мне было интересно, будет ли использование этой функции для выполнения fft эквивалентно 16-битному int...
781 просмотров
schedule 16.03.2022

Базовый адрес памяти стека
Есть ли простой способ найти базовый указатель стека программно? Я кодирую микроконтроллер STM32F4 и компилирую с помощью компилятора arm-none-eabi-gcc. Когда я использовал компилятор Arm C в комплекте с Keil uVision 5, я мог использовать функцию...
744 просмотров
schedule 03.01.2023

ARM M4 счетчики инструкций за цикл (IPC)
Я хотел бы подсчитать количество инструкций за цикл, выполняемых на процессоре ARM Cortex-M4 (или Cortex-M3). Что ему нужно: количество инструкций (выполняемых во время выполнения) кода, который я хочу профилировать, и количество циклов ,...
8149 просмотров
schedule 10.02.2023

Cortex M0 не переходит в спящий режим
Возникла проблема с Atmel SAMB11 на объясненной профессиональной доске для разработчиков. Я загрузил довольно простой пример от Atmel, где таймер 32 кГц инициализируется, чтобы вывести микроконтроллер из спящего режима и включить светодиод. Проблема...
920 просмотров

Можно ли создать базовую программу загрузки/запуска сборки на чистом железе, используя только параметры командной строки GNU LD
Можно ли создать базовую программу загрузки/запуска сборки на чистом железе, используя только параметры командной строки GNU LD вместо обычного файла сценария -T для цели Cortex-M4? Я просмотрел документацию по GNU LD и провел поиск в различных...
638 просмотров
schedule 24.07.2023

Конфигурация часов SAMD21
Я пытаюсь настроить часы SAMD21 так, чтобы они шли как можно быстрее. Таким образом, я использую внутренний 8-мегагерцовый генератор для питания общего тактового генератора 1 (с предварительным делителем 8), чтобы сгенерировать общий тактовый сигнал...
3237 просмотров
schedule 30.05.2023

Библиотеки DSP - RFFT - странные результаты
Недавно я пытался выполнить вычисления БПФ на моей оценочной плате STM32F4-Discovery, а затем отправить их на ПК. Я изучил свою проблему - мне кажется, что я делаю что-то не так с функциями БПФ, предоставленными производителем. Я использую...
3075 просмотров
schedule 08.02.2023

Конфликт памяти Cortex-M4 (DMA против программы)
Я использую контроллер STM32F4xx. Я использовал DMA для буферизации UART (циклических буферов). Меня беспокоит, что если будет конфликт памяти, когда моя программа будет обращаться к той же ячейке памяти в то же время, что и DMA. Может ли...
244 просмотров
schedule 19.09.2023

IAR iccarm Cmake
У меня проблемы с переходом с IAR IDE на компилятор Cmake / IAR для arm: Насколько я понимаю, с правильным CMakeList.txt я пытаюсь: /c/CMake/bin/cmake.exe -G"MSYS Makefiles" -DCMAKE_TOOLCHAIN_FILE="C:\CMake\bin\Modules\Compiler\iar.cmake"...
1342 просмотров
schedule 05.05.2022

Multicore: серия LPC43xx: часы для Cortex M0
Я новичок в мире многоядерных процессоров. Я работаю с серией LPC43xx. Я пытаюсь мигать светодиодом на моем вторичном ядре Cortex M0. Я хотел бы знать разницу между этими эталонными часами и тактовыми частотами процессора в корте M0. Относятся ли...
230 просмотров
schedule 11.03.2022

Как настроить clang для использования компоновщика arm-none-eabi
Я пытаюсь настроить последнюю версию clang (6.0) для использования линкера arm-none-eabi вместо ld.lld, но clang всегда все игнорирует и продолжает запрашивать ld.lld. Я пытаюсь построить для cortex-m3 (плата lpx1769). Как заставить clang...
1168 просмотров

Значение контрольной суммы LPC4088 для большого пальца?
В руководстве пользователя LPC4088 (стр. 876) мы можем прочитал, что микроконтроллер LPC4088 имеет действительно необычную процедуру запуска: Это выглядит как полная ерунда, и мне нужен кто-то, кто поможет мне разобраться... В мире ARM я...
122 просмотров
schedule 30.04.2023