Какая частота для FreeRTOS оптимальна?

FreeRTOS и частота переключенияКогда я начал работать со FreeRTOS, я уперся в следующую магическую строчку в FreeRTOSConfig.h:
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
Это частота переключения между задачами.
Почему 1000? А почему не 10000 или 100? А если у меня STM32F4, настроенный на 168 MHz? Я могу выбрать другую, большую частоту? Ответы были какие-то туманные. Самый адекватный: «если будет слишком часто переключаться, то планировщик задач будет потреблять слишком много временного ресурса». Слишком много — это сколько? Решил разобраться. Под катом — ответ на вопрос «какая частота подходит для данной ситуации?».

UPD: существенное исправление: добавил количество потоков, изменились результаты!


Читать дальше
  • +4
  • 28 июля 2014, 16:47
  • PICC

Еще один makefile

MakefileДоброго времени суток!
Сколько уже про makefile говорено и писано — и все равно хочется отчебучить что-нибудь свое! Видят мои глаза отсутствие идеала, а пальцы стремятся это дело исправить.
Так что внесу и я свои 5 центов в это дело — опишу я идеальный makefile!
P. S. Все найденные ошибки, реализованные пожелания и изменения я буду здесь выкладывать. Так что здесь будет всегда актуальное состояние. Ну… так я планирую…


Читать дальше
  • +3
  • 25 марта 2014, 14:57
  • PICC
  • 1

Было ли у Вас, чтобы Вашу разработку кто-то скопировал?

Проголосовало: 128 | Воздержалось: 53

Имеются в виду именно КОММЕРЧЕСКИЕ разработки, а не OpenSource. Т. е. когда реально обидно. Alfa добавил по мотивам статьи "Защита устройства от взлома и копирования" пару опросов. Мне кажется, надо бы добавить еще и такой вопрос. См. http://we.easyelectronics.ru/Soft/zaschita-ustroystva-ot-vzloma-i-kopirovaniya.html
  • -2
  • 26 октября 2012, 15:09
  • PICC

Защита устройства от взлома и копирования

Защита от копированияОбещал я недавно моему знакомому — хорошему электрику и чайнику в электронике — сделать небольшое устройство
1) Итак, сделали вы ваше устройство, продали заказчику c предоплатой. Проходит условленный месяц — а второй части оплаты все нет и нет… Вы ему звоните — а он куда-то пропал… Вы ему угрожаете — а он отмазывается. В результате железякой он пользуется, а деньги вам все не отдал. Г-гадина!!!
2) Итак, сделали вы ваше устройство, продали заказчику и радуетесь жизни. А потом с удивлением обнаруживаете на рынке до боли похожее устройство, но сделанное кем-то другим. Оказалось, что у заказчика взял посмотреть ваше устройство его друг, который ваш конкурент. Он его скопировал и теперь продает. Г-гадина!!!
3) Итак, сделали вы ваше устройство, продали заказчику и радуетесь жизни. Вы закрыли все fuse у контроллера — порядок, копировать не будут!.. Так как устройство у вас поддерживаемое, вы регулярно выкладываете обновления, которые заливаются bootloader-ом. А потом с удивлением узнаете, что дружбан заказчика чего-то там модернизирует в вашей программе, делает похожую плату и начинает тиражировать устройство. Оказывается, он проанализировал ваш код и теперь ваяет свое. Г-гадина!!!

У вас такое было/будет/волнует? Если да — то учимся не допускать этого!

I. S. Спасибо всем за дельные комментарии!


Читать дальше
  • +19
  • 25 октября 2012, 14:46
  • PICC

ПИД-регуляторы – для чайников-практиков

Чайники за работойОбещал я недавно моему знакомому — хорошему электрику и чайнику в электронике — сделать небольшое устройство в автомобиль, которое, регулируя заслонку, будет поддерживать обороты в дОлжном состоянии (все подробности по авто-части к нему. Знаю, что назвали мы эту чучу умным словом «регулятор холостого хода»). Причем эти обороты должны зависеть от текущей температуры двигателя. «Так тебе нужно работать с ПИД-регулятором» — сказал я ему. А в ответ увидел туман в глазах, дым в ушах и дрожащий голос – «А это ничего общего со СПИДом не имеет???». В общем, придется ему объяснить подробности, при этом избегая математики. В Интернете море статей на эту тему (достаточно начать отсюда). Моя статья – еще одна ложка в море информации. Интересующимся – под кат!


Читать дальше
  • +12
  • 04 октября 2012, 14:27
  • PICC
  • 1

Датчики и АЦП — для чайников-практиков (3/3) :: аналоговые датчики

Завершаем тему про «датчики и АЦП — для чайников практиков». Начало тут, продолжение тут. Тут мы рассмотрим тему аналоговых датчиков.
Также есть полная PDF-версия статьи.


Читать дальше
  • +19
  • 27 сентября 2012, 18:26
  • PICC

Датчики и АЦП — для чайников-практиков (2/3) :: датчики и счетчики событий

Продолжаем тему про «датчики и АЦП — для чайников практиков». Начало тут, конец тут. Продолжаем изложение. Тут мы рассмотрим вопрос про датчики и счетчики событий.
Также есть полная PDF-версия статьи.


Читать дальше
  • +15
  • 27 сентября 2012, 18:20
  • PICC

Датчики и АЦП — для чайников-практиков (1/3) :: введение

Чайники за работой
Обещал я недавно моему знакомому — хорошему электрику и чайнику в электронике — сделать небольшое устройство с парочкой АЦП и счетчиком импульсов. И по ходу постановки задачи я увидел, что понятие «частота измерений», «допустимая погрешность» и «разрядность» для него — пустой звук. «Непорядок!» — подумал я и решил найти статьи, где это было бы описано. Кое-что нашлось (например, тут и тут), но это было отнюдь не для его познаний в этой области. Посему я решил написать сам такую статью (в результате вышла серия статей...). А потом решил добавить ее сюда — может, кому-то она сэкономит время при изучении новой для себя темы? Результат — перед вами.
Эта статья для тех, кто действительно чайник в этой области! Ну, или же все-таки кофейник, но не для зубров в электронике. Тут почти нет теории, математика тоже в минимальном количестве. Цель статьи — помочь разобраться в базовых понятиях для того, чтобы можно было дать постановку задачи специалисту. Т. е. прочитав ее, вы сможете внятно ответить на вопрос про разрядность, диапазон измерений и частоту выборки.

Также есть полная PDF-версия статьи.


Читать дальше
  • +17
  • 27 сентября 2012, 18:13
  • PICC
  • 1

Запретный плод GOTO сладок!

Доброго времени суток!

Какое Ваше отношение к оператору goto в языках С/С++? Скорее всего, когда Вы учились программировать, Вы его использовали. Потом Вы узнали, что это плохо, и Вы о нем позабыли. Хотя иногда при сложной обработке ошибок… нет-нет, там try … throw … catch. Или же для выхода из вложенных циклов … не-ет, там флаги и куча сложностей. Или когда вложенные switch … нет-нет-нет, там те же флаги.
И все-таки, иногда в ночной тиши Вы допускали в свое подсознание грешную мысль – «а почему бы не использовать вот тут goto? И программа вроде как стройней будет, и оптимально выходит. Да-а, было бы хорошо… Но нет – нельзя, забыли!».
А почему так оно?
Под катом – небольшое расследование и мое, основанное на многолетней практике и разных платформах, отношение к этому вопросу…
Особо любопытные и читатели Хабра уже возмутились — это кросспост с с Хабрахабра! Согласен — я там когда-то написал эту статью. Увидел, что она вызвала резонанс. Решил поделиться с читателями и этого ресурса.


Читать дальше
  • +8
  • 26 сентября 2012, 18:26
  • PICC