Добрый день! Несколько дней назад столкнулся с небольшой проблемой в нашем проекте — в обработчике прерывания gdb неправильно выводил stack trace для Cortex-M. Поэтому в очередной раз полез выяснять, а какими способами можно получать stack trace для ARM? Какие флаги компиляции влияют на возможность трассировки стека на ARM? Как это реализовано в ядре Linux? По результатам исследований решил написать эту статью.
Читать полностью »
Рубрика «cortex-m» - 2
Как работает stack trace на ARM
2018-09-25 в 12:01, admin, рубрики: cortex-m, embox, open source, Блог компании Embox, микроконтроллеры, операционные системы, осрв, Программирование, программирование микроконтроллеров, системное программированиеПишем свою простейшую программу для ARM Cortex-M3
2018-08-30 в 18:12, admin, рубрики: cortex-m, embox, open source, Блог компании Embox, микроконтроллеры, операционные системы, осрв, программирование микроконтроллеров, системное программированиеДобрый день! Сегодня я хочу рассказать вам как написать минимальную программу, которая запустится на ARM Cortex-M3 и при этом напечатает “Hello, World!”. Постараемся разобрать по шагам необходимый минимум, который нам для этого потребуется. Запускать будем на эмуляторе QEMU. Поэтому любой желающий может воспроизвести, даже если у него нет под рукой железки.
Итак, поехали!
Читать полностью »
Как сделать context switch на STM32
2017-06-05 в 11:24, admin, рубрики: C, cortex-m, embox, freertos, Nuttx, open source, stm32, Блог компании Embox, микроконтроллеры, операционные системы, осрв, программирование микроконтроллеров, системное программирование
Добрый день!
Потоки… Переключение контекстов… Базовая сущность ОС. И конечно, при разработке библиотек и приложений мы всегда полагаемся на то, что реализация потоков безошибочна. Поэтому было неожиданно найти грубую ошибку в переключении потоков для STM32 на ОСРВ Embox, когда уже продолжительное время работали и сеть, и файловая система и многие сторонние библиотеки. И мы даже успели похвастаться о своих достижениях на хабре.
Я бы хотел рассказать про то, как мы делали переключение потоков для Cortex-M, и тестировали на STM32. Кроме того, постараюсь рассказать о том как это сделано в других ОС — NuttX и FreeRTOS.
Читать полностью »
Интересные семейства микроконтроллеров Cortex от Atmel
2015-11-18 в 15:33, admin, рубрики: atmel, atmel arm, cortex-m, cortex-m4, cortex-m7, diy или сделай сам, stm32, Блог компании Rainbow, программирование микроконтроллеров, Электроника для начинающих
Общаясь с разработчиками различной электроники (как любителями, так и профессионалами), я и мои коллеги обратили внимание, что широкой публике практически неизвестны микроконтроллеры Atmel на платформе Cortex-M. Я решил подготовить обзор по новым семействам микроконтроллеров, чтобы показать: не AVRом единым интересен Atmel.
Вторым обстоятельством послужило то, что выпуск первых микроконтроллеров на платформе Cortex-M у Atmel пришелся не на лучшие времена. Следствием этого стали существенно более высокие цены на Atmel’овские контроллеры в сравнении с ST.
Оба этих обстоятельства закрепили приоритет за микроконтроллерами STM32. Причем это лидерство год за годом закреплялось все сильнее, поскольку в Сети стало появляться все больше и больше материалов по разработке на STM32. А к аналогам от Atmel на нашем рынке стал применяться один из двух стереотипов:
1. Atmel = AVR
2. Cortex’ы от Atmel дорогие и не интересны для использования.
Если первый стереотип развеивается заходом в соответствующий раздел на сайте Atmel, то со вторым все немного сложнее. С ним мы и попробуем разобраться.
В обзоре я не стану перечислять все семейства, расскажу только о тех, которые отвечают одному или обоим критериям:
• уникальные особенности семейства;
• цена лучше, чем у конкурентов, или сопоставима (здесь я вынужден сделать оговорку, что речь идет о сопоставимости оптовых цен).