Быстрый старт STM32 Maple Mini и ChibiOS вместе с ChibiStudio

Posted on 2017-07-14 19:54:50

Если вы занимаетесь разработкой embedded решений, тогда возможно вам будет интересно видео, что ниже. Там показан быстрый старт ChibiOS с отладочной платой STM32 Maple Mini. Как видно, все достаточно просто. Нужно установить ChibiStudio (обьязательно устанавливать на диск C, иначе не будет работать), открываем пример для отладочной платы Maple Mini, компилируем, и прошиваем  - у нас готовый USB to COM девайс :)

Важно!. Если у вас затерт оригинальный USB бутлоадер maple mini, нужно в файле Makefile изменить значение USE_MAPLEMINI_BOOTLOADER с 1 на 0.

Ну и на последок, не ради холивара, ответ на вопрос, зачем применять операционные системы в микроконтроллерах? Ведь не православно, нужно экономить ресурсы. Потому что при устройстве на работу, если в конторе построен компетентный процесс разработки, на ваш код не будут смотреть, если вы не используете ОС :) Если отвечать уж совсем развернуто, то:

  1. Современные микроконтроллеры достаточно производительны.  Эра восьмибитников подходит к концу, и балом начинают править 32 - битные ARM - ы. Сэкономить на производстве не получится, потому что вы не сможете найти камень такой производительности, что бы вам пришлось экономить на разработке.
  2. Для Embedded ОС стоят совсем другие задачи, чем перед десктопными. Решение номер один - более высокоуровневое программирование с тасками, потоками и т.п. Если вы посмотрите на embedded код начинающего разработчика, то скорей всего увидите бесконечный цикл, где собственно и написано все взаимодействие с периферией МК, а так же логика. Так вот, это не правильно, потому что как только дело доходит до написания реального приложения, обнаруживается, что такой подход просто не работает. Нужно использовать DMA и прерывания с выдержкой таймингов ... . Ну или использовать ОС :). Решение номер два - HAL (hardware application layer). 

Политика конфиденциальности Android приложения UnoSDR

Posted on 2017-06-28 20:35:51

Данное android приложение - UnoSDR, запрашивает пермиции android.permission.CAMERA и android.permission.RECORD_AUDIO. Приложение не передает какие либо данные кому либо, так как этого не требует функциональность приложения. Подключение к Wi-Fi нужно лишь для приема потока IQ данных RTLSDR донгла, а так же, управление им.

 

SDR Console v3 и RTLSDR

Posted on 2017-06-25 18:40:08

Наконец то попробовал SDR Console v3. До этого смотрел пару лет назад SDR Console v2. В этот раз, я проверял работу программы вместе с RTLSDR донглом. Ниже видео, где я быстро прошелся по интерфейсу программы.

Собственно первые впечатления. В настройках RTLSDR есть опция прошивки EEPROM новой версией Firmware - такой возможности я не видел ни где больше. Программа распостраняется только на Windows, и ситуация эта не поменяется из - за интерфейса - если на него посмотреть, то видно, что используется какой то Windows фреймворк, визуально, очень похожий на Microsoft Word :) Поэтому ждать кардинальных изменений интерфейса, или расширение поддержки операционных систем не приходится, потому что нужно будет переписывать SDR Console с нуля, на других IT технологиях, а это уже будет другая программа. 

Одна особенность - программа имеет свойство expire date - дата окончания функционирования. Далее нужно будет скачать новую версию. Возможно, в будущем, она станет платная.

Как вывод, могу сказать, что SDR Console достаточно функциональна, но лично мне не нравится интерфейс.

Ускорение компиляции Qt проекта в IDE Qt Creator

Posted on 2017-06-21 12:52:03

Если вы работаете над сколь мало серьезным проектом на С++, то вы сталкивались с мучительно долгой компиляцией, даже если не учитывать полную пересборку проекта. Может возникнуть момент, когда сам процесс разработки становится затруднительным из - за длительной компиляции. Например, внесли какието изменения в исходный код, добавили небольшой класс, запустили процесс компиляции, что бы протестировать изменения - можно идти пить чай, ибо ждать нужно минут пять. Устранить эту печаль призванна данная статья.

Оказывается, в 2017 - му году, если не предпринять специально меры, по умолчанию при компиляции используется один поток! Долой многоядерные процессоры ... . К счастью распараллелить компиляции С++ проектов в Qt Creator достаточно просто. Есть несколько путей это сделать, например редактированием pro файла с добавлением флагов, но самый простой и самый эффективный, судя по бенчмаркам, это использование утилиты JOM. И так, качаем архив утилиты https://wiki.qt.io/Jom , распаковываем и кидаем содержимое в папку Qt5.9mingw53_32/bin. Далее открываем Qt Creator, настраиваем сборку конкретного проекьа как показано ниже:

Qt Creator JOM parallel compilation

Собственно, на  этапе make build and clean нужно указать путь к утилите JOM. Касательно величины ускорения, в текущем состоянии проекта UnoSDR, полная компиляция на дефолтных настройках занимала 11 мин 51 сек. С утилитой jom - 3 мин 40 сек. Процессор ноутбучный 4 ядра. Выводы делайте сами. 

Для  Linux можно указать в опции "Make arguments" строку -jX, где X - количество потоков, на которые распараллеливается компиляция.

First 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Last