cortex-m3

  • ХабрахабрФото Что делать, если поймал HardFault?

    Что делать, если поймал HardFault?

    Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться. Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он никак не обрабатывается, а просто остаётся висеть в бесконечном цикле обработчика, предусмотренном в startup файле производителя. В то же время программист…

    Читать далее »
  • ХабрахабрФото [Из песочницы] Самая доступная плата для экспериментов с SoC’ом MCU&FPGA

    [Из песочницы] Самая доступная плата для экспериментов с SoC’ом MCU&FPGA

    Технологии шагают вперёд. И вот уже несколько лет как есть SoC’и MCU+FPGA. И наКДПВ платка как раз с таким SoC’ом. Это — Microsemi SmartFusion 2 Maker-Board. Кому интересно, что это за плата прошу под кат. Будет краткий обзор.Собственно на КДПВ SmartFusion 2 Maker-Board от Digi-Key. Цена на их сайте порядка35$. Ликбез Поставляется так Состав Кнопочки и LED’ы; SPI flash 2MB;…

    Читать далее »
  • ХабрахабрФото [Из песочницы] Rust Embedded. Разработка под процессоры Cortex-M3 на примере отладочной платы STM32F103C8T6 (Black Pill)

    [Из песочницы] Rust Embedded. Разработка под процессоры Cortex-M3 на примере отладочной платы STM32F103C8T6 (Black Pill)

    Привет! Хочу познакомить вас с проектом Rust Embedded. Он позволяет нам использовать язык программирования Rust для разработки под встроенные платформы (Embedded Linux / RTOS / Bare Metal). В этой статье, мы рассмотрим компоненты, которые необходимы для начала разработки под микропроцессоры Cortex-M3. После этого, напишем простой пример — моргание встроенным светодиодом.Для этого нам понадобится — доступная и дешевая, китайская отладочная плата…

    Читать далее »
  • ХабрахабрФото [Из песочницы] Аппаратный bit banding CortexM3/M4(ARM), архитектура ядра, ассемблер, С/C++14 и капля мета программирования

    [Из песочницы] Аппаратный bit banding CortexM3/M4(ARM), архитектура ядра, ассемблер, С/C++14 и капля мета программирования

    Введение Внимание, это не очередная «Hello world»статья о том как помигать светодиодом или попасть в свое первое прерывание на STM32. Однако, я постарался дать исчерпывающие объяснения по всем затрагиваемым вопросам, поэтому статья будет полезна не только многим профессиональным и мечтающим стать таковыми разработчикам (как я надеюсь), но и начинающим программистам микроконтроллеров, так как тема эта почему-то обходится стороной на бесчисленных…

    Читать далее »
  • ХабрахабрФото Post-mortem отладка на Cortex-M

    Post-mortem отладка на Cortex-M

    Предыстория: Вроде ничего сложного, коробка, которая должна иногда выходить из спящего режима, отчитываться серверу и засыпать обратно. Участвовал я недавно в разработке нетипичного для меня девайса из класса потребительской электроники. В основном, потому что коробка в тестовом режиме стояла без отладчика и без меня рядом и иногда глючила. Практика быстро показала, что отладчик не слишком помогает при работе с микроконтроллером,…

    Читать далее »
  • ХабрахабрФото Post-mortem отладка на Cortex-M

    Post-mortem отладка на Cortex-M

    Предыстория: Вроде ничего сложного, коробка, которая должна иногда выходить из спящего режима, отчитываться серверу и засыпать обратно. Участвовал я недавно в разработке нетипичного для меня девайса из класса потребительской электроники. В основном, потому что коробка в тестовом режиме стояла без отладчика и без меня рядом и иногда глючила. Практика быстро показала, что отладчик не слишком помогает при работе с микроконтроллером,…

    Читать далее »
  • ХабрахабрФото Профилирование памяти на STM32 и других микроконтроллерах: статический анализ размера стека

    Профилирование памяти на STM32 и других микроконтроллерах: статический анализ размера стека

    Привет, Хабр! В прошлой статье и я сам упоминал, и в комментариях спрашивали — ок, хорошо, методом научного тыка мы подобрали размер стека, вроде ничего не падает, а можно как-то надёжнее оценить, чему он равен и кто вообще столько сожрал? Отвечаем коротко: да, но нет. Нет, методами статического анализа невозможно точно измерить размер потребного программе стека — но, тем не менее,…

    Читать далее »
  • ХабрахабрФото Простейшее профилирование памяти на STM32 и других микроконтроллерах

    Простейшее профилирование памяти на STM32 и других микроконтроллерах

    «С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее»— Jack Ganssle, «The Art of Designing Embedded Systems» Привет, Хабр! Как ни странно, но в абсолютном большинстве виденных мной «учебников для начинающих» по STM32 в частности и микроконтроллерам вообще нет, как правило, вообще ничего про такую вещь, как распределение памяти, размещение стека…

    Читать далее »
  • ХабрахабрФото Проверка корректности адресов в памяти на Cortex-M0/M3/M4/M7

    Проверка корректности адресов в памяти на Cortex-M0/M3/M4/M7

    Привет, Хабр! По поводу случившегося на днях послабления режима, возмущения в комментариях одного соседнего поста о том, что статьи про микроконтроллеры — сплошь мигание светодиодом, а также безвременной гибели моего стандалон-блога, восстанавливать который мне пока лень, переложу сюда полезный материал об одном прискорбно мало освещаемом прессой трюке в работе с ядрами Cortex-M — проверке произвольных адресов на валидность. Одна из…

    Читать далее »
  • ХабрахабрФото Как защититься от переполнения стека (на Cortex M)?

    Как защититься от переполнения стека (на Cortex M)?

    Если вы программируете на «большом» компьютере, то у вас такой вопрос, скорее всего, вообще не возникает. Стека много, чтобы его переполнить, нужно постараться. В худшем случае вы нажмёте ОК на окошке вроде этого и пойдете разбираться, в чем дело. Но вот если вы программируете микроконтроллеры, то проблема выглядит немного иначе. Для начала нужно заметить, что стек переполняется. Поскольку я программирую…

    Читать далее »


Кнопка «Наверх»