Рубрика «микроконтроллеры» - 17

Вся правда об ОСРВ. Статья #18. Группы флагов событий: вспомогательные службы и структуры данных - 1

Эта статья продолжает описывать группы флагов событий.

Предыдущие статьи серии:

Статья #17. Группы флагов событий: введение и базовые службы
Статья #16. Сигналы
Статья #15. Разделы памяти: службы и структуры данных
Статья #14. Разделы памяти: введение и базовые службы
Статья #13. Структуры данных задач и неподдерживаемые вызовы API
Статья #12. Службы для работы с задачами
Статья #11. Задачи: конфигурация и введение в API
Статья #10. Планировщик: дополнительные возможности и сохранение контекста
Статья #9. Планировщик: реализация
Статья #8. Nucleus SE: внутреннее устройство и развертывание
Статья #7. Nucleus SE: введение
Статья #6. Другие сервисы ОСРВ
Статья #5. Взаимодействие между задачами и синхронизация
Статья #4. Задачи, переключение контекста и прерывания
Статья #3. Задачи и планирование
Статья #2. ОСРВ: Структура и режим реального времени
Статья #1. ОСРВ: введение.

Читать полностью »

«Решить парадокс Грея с дельфинами может любой, а ты попробуй сделать это без дельфинов. »

К вопросу о кривых Безье, быстродействии Ардуино и одном интересном сайте, или как я провел выходные - 1

Вообще то планировал я провести выходные несколько по иному, съездить на Copter Huck (не то, чтобы я был фанатом коптеров, просто посмотреть, что молодежь придумывает, потусоваться типа), но старшая сестра была категорически против. Я, конечно, настаивал (то есть пару раз хмыкнул и сказал" Ну может, все-таки… будет прикольно"), но она была неумолима, а когда супруга приняла ее сторону, шансов на поездку не осталось. Ну и ладно, «не очень то и хотелось», зато немного посидел над забавной задачкой из области программирования, которую сам себе придумал, о чем и докладываю.

( Необходимое примечание — имелись в виду предыдущие выходные, вот так всегда — написание программы требует пары часов, написание отчета о ней и за пять дней поездок в общественном транспорте не завершено.)

В одном недавнем посте автор рассматривал задачу ускорения (кроме всего прочего) расчета кривых Безье (КБ) на МК со сравнительно слабыми параметрами. Ну на самом деле эти параметры на уровне среднего мейнфрейма 70х годов, но по нынешним временам считаются явно недостаточными. В результате определенных действий автору удалось несколько ускорить вычисления, на мой взгляд, явно недостаточно, вот и решил написать, как это следует делать в первом приближении. Я прекрасно знаю универсальный рецепт решения проблем с быстродействием — взять МК с частотой повыше или перейти на другое семейство, но я родом из тех времен, когда мы учились обходится тем, что есть, просто потому, что ничего другого не было, от слова совсем. По нынешним временам подход устаревший, но мне показалось, что будет не безынтересен и современным читателям Хабра.
Читать полностью »

Вся правда об ОСРВ. Статья #16. Сигналы - 1

В этой статье будут рассмотрены сигналы, которые являются простейшими механизмами взаимодействия между задачами в Nucleus SE. Они предоставляют малозатратный способ передачи простых сообщений между задачами.
Читать полностью »

GNU Arm Embedded Toolchain + PVS-Studio

Встраиваемые системы давно и прочно вошли в нашу жизнь. Требования к их стабильности и надежности очень высоки, а исправление ошибок обходится дорого. Поэтому для embedded разработчиков особенно актуально регулярное использование специализированных инструментов для обеспечения качества исходного кода. Эта статья расскажет о появлении поддержки GNU Arm Embedded Toolchain в анализаторе PVS-Studio и дефектах кода, найденных в проекте Mbed OS.
Читать полностью »

Вся правда об ОСРВ. Статья #15. Разделы памяти: службы и структуры данных - 1

В этой статье мы продолжаем рассматривать разделы памяти ОСРВ.

Nucleus RTOS имеет три вызова API, предоставляющих служебные функции, связанные с пулами разделов памяти: возвращение информации о пуле разделов, возвращение числа пулов разделов в приложении и возвращение указателей на все пулы разделов в приложении. Первые два вызова реализованы в Nucleus SE.
Читать полностью »

image

Пайка на коленке. Бывает и так

UPD:
это вводная статья, в которой нет технической информации.
Материала много, а опыта написания статьей на эту тему почти нет.
Мне хотелось бы узнать у потенциальной аудитории, каким вопросам по заявленной теме стоит уделить внимание.
Если «лирику» вам читать не интересно, статью можно пропустить.

Думаю, каждому, кто хоть раз в жизни сделал что-то своими руками, приходила в голову мысль: «А может, продавать?». Так когда-то подумали и мы. Начинать было, конечно, страшно. Но, как любит повторять мой коллега: «Главное – избегать неконтролируемого мочеиспускания!»* (ну, вы поняли).

Итак, можно ли наладить собственные производство и продажу электроники?
«Можно!», – ответим мы.
Как это сделать? Какие подводные камни? Можно ли на этом заработать?
А на это отвечу: добро пожаловать под кат!
Читать полностью »

Привет, друзья!

В прошлых статьях я рассказывал про свой проект и про его программную часть. В этой статье я расскажу как простенький генератор сигналов на 4 канала — два аналоговых канала и два PWM канала.
DevBoy: делаем генератор сигналов - 1

Читать полностью »

Firecore — нескучная игра на AVR - 1

Хочу поделиться очередным вечерним долгостроем, который показывает, что можно делать игры даже на слабом железе.

О том что пришлось делать, как это было решено и как сделать нечто большее, чем очередной клон Pong — добро пожаловать под кат.

Осторожно: большая статья, трафик и множественные кодовые вставки!
Читать полностью »

LNDC1
После того как с помощью Arm Mbed OS удалось помигать светодиодом, настало время протестировать и настроить другие важные сервисы. Далее рассказывается:

  • Технология конфигурирование Mbed
  • Почему сложно перейти на C++ в обычных RTOS
  • Как экономить память в RTOS
  • Как организуются прерывания в Mbed OS
  • Чем удобно отлаживать Mbed OS
  • Как избавиться от лишнего слоя абстракции SDK

Читать полностью »

Добрый день! Несколько дней назад столкнулся с небольшой проблемой в нашем проекте — в обработчике прерывания gdb неправильно выводил stack trace для Cortex-M. Поэтому в очередной раз полез выяснять, а какими способами можно получать stack trace для ARM? Какие флаги компиляции влияют на возможность трассировки стека на ARM? Как это реализовано в ядре Linux? По результатам исследований решил написать эту статью.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js