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

Как узнать, являются ли данные на шине данными или инструкцией для ARM Cortex-M0?
Я пытаюсь реализовать алгоритм кеширования. Но я хочу кэшировать только инструкции, а не данные, полученные из памяти (очевидно). Итак, как мне узнать, что данные на шине - это данные данных или данные инструкции? Я попытался посмотреть на сигналы...
360 просмотров
schedule 21.09.2021

arm cortex-m наименьший адрес стека и связь адреса SRAM
Я только что прочитал руководство по коркам M3 и M4. Карта памяти меня немного смущает. Адрес стека звучит как начало с 0x20007C00. а SRAM начинается с 0x20000000 до 0x20007C00? Но почему микроконтроллер, такой как STM32F407VGT6, имеет 192 + 4KB...
138 просмотров
schedule 02.12.2021

установка нижней половины регистра в thumb2
Я использую соответствующую доску, cortex-m3, с thumb2. Мне нужно использовать несколько портов ввода-вывода, все они имеют адреса, начинающиеся с 0x400E, например 0x400E0E3C и т. Д. Я использую регистр для хранения этих адресов. Когда я делаю это...
211 просмотров
schedule 10.10.2021

Опрос загрузчика LPC1114 и прерывания пользовательских приложений
Keil UV4 Dev System, LPC1114 Запуск загрузчика: 0x0000.0000-0x0000.2000, пользовательское приложение: 0x0000.2000-0x0000.6000 Вопрос - Как настроить загрузчик с помощью опроса и пользовательского приложения с использованием прерываний Я имел в...
436 просмотров
schedule 05.09.2021

кора выполняется из ОЗУ
Мне нужно выполнить прошивку в ОЗУ на процессоре Cortex-M1, чтобы стереть и перезаписать флэш-память. Я использую набор инструментов eclipse и launchpad. Для MDK-ARM есть аналогичный вопрос: Как выполнить функцию из ОЗУ на Cortex-M3 (STM32)?...
1029 просмотров
schedule 24.09.2021

Исключения складываются аппаратным обеспечением Cortex-M в потоковом режиме или в режиме обработчика?
На процессорах Cortex-M с MPU (давайте использовать Cortex-M4, чтобы быть конкретным, но держу пари, что ответ такой же, например, для M3), в каком режиме привилегий выполняется стек записи аппаратных исключений вместе с MPU? Предположим, я работаю...
489 просмотров
schedule 02.10.2021

Супер простой таскер на ARM Cortex
Я прочитал статью Создайте сверхпростой Tasker и идея мне нравится. Это очень простой планировщик, но у него есть многозадачность в реальном времени и вытесняющая многозадачность с одним стеком. Идея мне нравится, но когда я попытался написать эту...
663 просмотров
schedule 13.11.2021

STM32L0 GPIO Interrupt не работает
Я пытаюсь мигать светодиодом порта GPIO PA5 каждый раз, когда нажимается кнопка PC13. Однако это не работает. Не могли бы вы посоветовать, как я могу решить проблему? main.c - основная программа #include "main.h" #include "stm32l0xx_hal.h"...
2243 просмотров
schedule 10.12.2021

Как получить доступ к начальному адресу кучи и базовому адресу кучи в функции c
Для моей собственной реализации malloc с динамическим распределением памяти я хочу получить доступ к базовому адресу кучи и адресу ограничения кучи во время выполнения. Я знаю, что они экспортируются как глобальные в моем файле startup.s. Как я могу...
1520 просмотров
schedule 27.10.2021

Порядок регистров в скобках PUSH и POP
В документации ARM говорится следующее для PUSH и POP. PUSH сохраняет регистры в стеке, причем регистр с наименьшим номером использует наименьший адрес памяти, а регистр с наибольшим номером - наибольший адрес памяти. POP загружает регистры из...
340 просмотров
schedule 05.11.2021

Как начать отладку перед основной функцией в stm32 cube IDE
Мой cortex m4 всегда загружается до отказа, поэтому я хочу начать его отладку перед main. Я попытался установить точку останова в файле запуска, но это не сработало. IDE - плата STM32Cube - обнаружение stm32f407 (с процессором cortex m4) ОС -...
207 просмотров
schedule 18.10.2021

Конфликтующие архитектуры ЦП 1/13 при компиляции для Cortex M4
Я собирал свой код микроконтроллера с помощью arm-none-eabi-gcc / arm-none-eabi-g ++, и все работало нормально. Я использую самодельный Cask, встроенный в gcc-arm, на Mac. Вчера я обновил его, и теперь я получаю эти сообщения об ошибках для каждого...
2380 просмотров
schedule 26.02.2022

STM32H7xx переключает ввод-вывод как можно быстрее
Я пытаюсь как можно быстрее переключить ввод-вывод на STM32H743. Я использую внешние часы 10 МГц, питаемые от 3,3 В, и я уверен, что мои основные часы работают на частоте 400 МГц, а тактовая частота шины, которая взаимодействует с GPIO (AHB4),...
2353 просмотров
schedule 28.02.2022

Как избежать вложенности прерываний CortexM
Я хочу избежать вложенных прерываний в записи прерываний в микроконтроллере на основе CortexM. Для этого у меня есть файл сборки, содержащий векторы прерываний, и первая инструкция каждого вектора - это инструкция ( CPSID I ) для глобального...
291 просмотров
schedule 01.03.2022

Нет инструкции beq или bne в инструкции ARMv7-M?
Я работаю над микроконтроллером STM32l475, который запускает процессор Cortex-M4 и наборы инструкций ARM / Thumb. Я вижу (из objdump ), что есть инструкции beq.n и bne.n , сгенерированные в двоичном коде программы ARM (я добавил флаг -mthumb...
2404 просмотров
schedule 06.03.2022

Можно ли деактивировать взаимодействие большого пальца на CW 10.6 с набором инструментов ARM?
Я работаю над проектом с CodeWarrior для MCU v10.6 IDE . Это IDE на основе Eclipse от NXP. Проект нацелен на SoC K21 от NXP (именно MK21FN1M0M12 , который включает в себя cortex-m4 , armv7-m ). CodeWarrior настроен на использование цепочки...
103 просмотров
schedule 22.03.2022

Целочисленное деление с Cortex-M0 под RVDS
Я пытаюсь разделить 64-битный интегральный тип на 32-битный и использую RVDS 4.1 в качестве цепочки инструментов. Cortex-M0 не имеет аппаратного делителя, могу ли я выполнить описанную ниже операцию? Если да, то как? unsigned long int b =...
1495 просмотров
schedule 01.04.2022

Написать простой эксплойт выполнения произвольного кода C на ARM Cortex-M3?
Я пытаюсь написать доказательство концепции на C, которое демонстрирует выполнение кода из буфера памяти в стеке на ARM Cortex-M3. Это будет полезно для демонстрации того, что правильное использование ARM MPU может предотвратить такую ​​атаку. Я...
838 просмотров
schedule 03.04.2022

Команда Cortex-m0 pop не работает при выполнении в векторной области?
Есть ли какая-то официальная причина, по которой эта инструкция не сработает при выполнении из векторной области (то есть ниже адреса 0xC0) на Cortex-M0, но работает правильно в более высокой FLASH? pop {r4,pc} Когда этот код выполняется с...
155 просмотров
schedule 26.04.2022

STM32F4 Время простоя SPI между каждым кадром данных, почему оно слишком велико?
Я пытаюсь прочитать 256 бит менее чем за 32 мс из SPI, кадр данных составляет 16 бит. Моя проблема в том, что драйвер SPI имеет большое время простоя между каждыми 16 битами. Посмотрите на эту картинку , как вы можете видеть, я читаю 64 бита...
720 просмотров
schedule 12.06.2022