-
Постов
73 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные psyhologic
-
-
3 часа назад, inventor сказал:
а что входит?
не является ли этот волатайл
такой же ненужной штукой
как auto в C?
В 03.12.2018 в 10:25, inventor сказал:static /*volatile*/ u32 LocalTime @ ".fastdata" = 0;
void Delay(int timer)
{
u32 Time = LocalTime;
while(LocalTime - Time < timer);
}По определению:
"Volatile - ключевое слово языков C/C++, которое информирует компилятор о том, что значение переменной может меняться из вне и что компилятор не будет оптимизировать эту переменную."
Как следствие, он не выкинет бесполезный while block с "активным ожиданием".
https://en.wikipedia.org/wiki/Busy_waiting
"Активное ожидание" в SMP среде само по себе затратно и обычно используется скорее как userspace оптимизация, до входа в kernel mode waiting.
Хотя в мире однопоточных МК, я часто вижу использование активного ожидания.
Вопросы могут быть к оптимизатору / компилятору, насколько он строго следует стандартам языка.
-
В схемах с ADC желательна. Вот отличная статья на счёт разбиения digital / analog ground.
https://www.maximintegrated.com/en/app-notes/index.mvp/id/5450
-
16 минут назад, faelle сказал:
Здравствуйте! Подскажите, пожалуйста, как правильно рассчитать ток потребления МК от источника. Нужно ли суммировать ток для VDD со всеми использующимися I/O. (к примеру к каждому пину будет подключено по светодиоду)?
Ток потребления МК зависит от кода + периферии. И будет лежать между min и max указанные в datasheet.
Вам действительно проще подключить амперметр (или лабораторный БП) к устройству.
-
Это обычный RC фильтр, номиналы R и C подберите так, чтобы отрезать лишние высокие частоты (шум).
Вот похожий на ваш вопрос - https://electronics.stackexchange.com/questions/144478/low-pass-filter-with-hall-effect-and-adc-help
-
Язык предоставляет возможность (инструмент), от программиста зависит как эту возможность использовать.
Соответственно от уровня программиста будет зависеть насколько красиво/ужасно применены оптимизации, как разрешены зависимости, сохранена ли кроссплатформенная переносимость кода.
-
2 минуты назад, jcxz сказал:
Не обязательно. volatile также полезен в случае наличия нескольких bus-master в системе. Например: при использовании DMA-контроллера.
Да вы правы, про DMA как-то даже в голову не пришло.
-
Подобного рода "оптимизации" имеют ряд преимуществ и недостатков... язык предоставляет средство, инструмент.
Если подобного рода оптимизации вынесены в platform / hardware specific модуль у которого нет внешних зависимостей - окей.
Не окей - volatile имеет смысл только в многопоточной среде, а директива с указанием стартового адреса сужает выбор платформы.
-
Спасибо, интересно !
-
для аппаратного ускорения задач "классификации", как в этом видео весьма перспективно.
-
-
В 20.11.2018 в 10:09, AlexandrY сказал:
Для примера вот сколько мусора мы собрали за пару лет использования SD карт GoodRAM
Это из партии в пару сотен штук.
Чаще всего у них просто перестают прозваниваться ноги по питанию.
Но бывает рушиться вся файловая, но потом поддаются форматированию.У Kingston такого не замечали.
Так что на заметку.Да вы правы, Бывают проблемы с ними, увы умирают без видимой причины ...
-
2 часа назад, AlexandrY сказал:
Но WAL не решает проблему транзакций при записи на SD. Поэтому все тщетно.
Да и речь шла о файловой системе.
А это значит файловое API с символьными именами, поиском по именам, копированием, переносом, добавлением, директориями и проч. атрибутикой.
Файловые сами по себе базы данных.
Так что база данных поверх базы данных будет сильный оверхед.Автор топика не решает проблемы с физической деградацией карты памяти. Ему нужна транзактивная запись.
Overhead будет всегда, почти все СУБД хранят свои данные в виде файлов (данных и лога).
ЦитатаДобрый день, коллеги! В приборе, которому могут неожиданно отключить питание, необходимо сохранять логи (файлы длиной 50 - 150 кб). Допускается потеря лога в момент отключения питания (либо другого сбоя), но не разрушение ФС вместе с остальными данными. Прибор сделан на базе Cortex-M4F. Используем FreeRTOS. Из журналируемых "свободных" решений нашёл только uc/FS. Может быть есть какие-либо ещё доступные ФС с такими возможностями, пригодными для применения в embedded? В целом, не требуется совместимости с FAT, хотя и желательно.
Посоветуйте, пожалуйста, что-нибудь! Очень заранее благодарен!)))
-
1 час назад, Arlleex сказал:
То есть, если в процессе записи сплошного потока данных на SD-карту, выключить питание, при этом не обновить информацию о файле в ФС (не сделать fclose()), то при следующем включении целостность файла не потеряется? Как минимум, если повезет, сохранится информация о старой записи в ФС (размер файла, его начало, конец и т.д.). В худшем случае, (а это наиболее чаще происходит), следующее открытие файла приводит к фэйлу, где обнаруживается потеря данных всего файла. И я думаю, что это не из-за карт памяти.
Последствия зависят от типа FS. https://ru.wikipedia.org/wiki/Журналируемая_файловая_система
-
14 минут назад, Arlleex сказал:
Целостность данных в файловом представлении в момент выключения питания от качества карты не зависит ровно никак.
Именно. WAL решает как раз на уровне транзакций записи в БД.
Минус SQLite - желательно её использовать всё таки с одного потока ... :)
-
Тоже присматриваю себе PNP станок в лабу, пока больше всего заинтересовало вот это по цена / качество.
https://www.sparkfun.com/sparkx/blog/2586
https://mysku.ru/blog/taobao/66376.html
https://mysku.ru/blog/taobao/66380.html
-
Я бы присмотрелся на вашем месте к SQLite WAL. https://www.sqlite.org/wal.html
Мы активно используем под embedded Linux для задач, с возможной потерей данных (aka. power off)
-
Поддержу, xilinx zynq ваш выбор!
-
Большой точности вы не добьетесь, так вне зависимости от .NET CLR.
Задача выполняется в многозадачной среде.
Но как улучшения - посмотрите на Spin Lock (nop based active wait) и управляйте работой GC в период пока вы будете делать sleep.
-
ИМХО надо отталкиватся от спектра сигнала и смотреть на соотношение сигнал / шум на разных частотах.
Если нет обратной связи, вы можете попробовать ввести стартовый / конечный "калибровочный" фрейм, до начала передачи непосредственно данных, чтобы понимать noise / signal ratio.
С монотонным шумом может помочь. Так же посмотрите в сторону аппаратной фильтрации звуковых частот (RC цепочка в самом примитивном виде или narrow band).
Если у шума "плавающая" частота, например музыка - ищите схему помехоустойчивого / избыточного кодирования.
-
Для связи телефонов на близком расстоянии (без аутентификации) посомотрите на Bluetooth LE.
А так же реализован под Linux в пакете Bluez
-
Датчик холла для измерения тока,нужен ли RC фильтр на выходе.
в Схемотехника
Опубликовано · Пожаловаться
https://github.com/hologram-io/nova-hardware/blob/master/Hologram_Nova_Schematic_J.pdf
Вот вам хороший пример с разделением земли "на ножке" SMPS для USB.
http://www.ti.com/lit/ds/symlink/tps63020.pdf