• Статическое распределение памяти в микроконтроллерах
    +1
    Кстати да — у самого в проекте стоит "-fstack-usage" и оптимизировал библиотечные реализации по стеку. В некоторых местах на одних только аргументах/переменных были функции, занимающие до 260 байт стека (ох уж этот HAL от ST...).
  • Статическое распределение памяти в микроконтроллерах
    0
    на запись убрал volatile — смотрите внимательнее ;)
    В чувствительных к этому местах (пины GPIO, например), оставил. Чтение же везде 100% volatile
  • Статическое распределение памяти в микроконтроллерах
    +2
    union'ы очень спасают и при обращении к регистрам.
    Вот пример:
            union PLLCFGR_t
            {
                struct
                {
                    uint32_t PLLM       : 6;
                    uint32_t PLLN       : 9;
                    bool     res0       : 1;
                    uint32_t PLLP       : 2;
                    uint32_t res1       : 4;
                    bool     PLLSRC     : 1;
                    bool     res2       : 1;
                    uint32_t PLLQ       : 4;
                    uint32_t res3       : 4;
                };
                uint32_t RAW;
            };

    static inline void set_PLL_N(uint32_t val) { reinterpret_cast<PLLCFGR_t*>(RCC_PLLCFGR_BASE)->PLLN= val; }

    Вызов данной функции разложится в 4 операции — загрузка адреса регистра, загрузка значения из регистра, модификация битовых полей и запись нового значения в регистр. Данную оптимизацию GCC умеет «из коробки», что избавляет от излишка операций с битовыми масками и сдвигами, если это значение — не константа. Всё выполнит операция BFI.
  • Статическое распределение памяти в микроконтроллерах
    0
    А то я уже решил, что никто не использует Синглтон и С++ в микроконтроллерах, как мне пишут.

    Почему же? Сам сейчас активно пилю на плюсах. github.com/andreili/STM32FX_FM
    Пока — перебиваю на чистые плюсы, с минимумом define'ов и прочего, все регистры прячу в классы-обёртки и т.п. В крайних коммитах это как раз заметно.
  • Новый Windows Terminal уже доступен в Microsoft Store
    0
    Пользуюсь XShell. Не на электроне, но под винду. Для дома/образования — бесплатно.
    Проблем ни разу не было замечено, выхлоп любых масштабов спокойно принимает — контролировал через него сборку Gentoo, там текста высирается неимоверное количество.
  • Новый Windows Terminal уже доступен в Microsoft Store
    –1
    Если вкратце, вот так вот вылетает:
    Имя сбойного приложения: WindowsTerminal.exe, версия: 0.0.0.0, метка времени: 0x5d0f34a5
    Имя сбойного модуля: Windows.UI.Xaml.dll, версия: 10.0.17763.592, метка времени: 0x6084c5a3
    Код исключения: 0xc0000005
    Смещение ошибки: 0x0000000000340ccc
    Идентификатор сбойного процесса: 0x2498
    Время запуска сбойного приложения: 0x01d5299bd04be6a1
    Путь сбойного приложения: D:\Projects\M$\terminal\src\cascadia\CascadiaPackage\bin\x64\Debug\AppX\WindowsTerminal.exe
    Путь сбойного модуля: C:\Windows\System32\Windows.UI.Xaml.dll
    Идентификатор отчета: 5eee70eb-6ab4-4c31-8933-3abe92cd950e
    Полное имя сбойного пакета: WindowsTerminalDev_0.0.1.0_x64__8wekyb3d8bbwe
    Код приложения, связанного со сбойным пакетом: App

    Ошибка начинается здесь:
    image
    Оно не получает объект и крашится.
  • Новый Windows Terminal уже доступен в Microsoft Store
    –1
    Попробовал собрать из сырцов — на SDK для Windows 10 1809 ругается:
    Серьезность Код Описание Проект Файл Строка Состояние подавления
    Ошибка MIDL2011 [msg]unresolved type declaration [context]: Windows.UI.Xaml.Markup.IXamlMetadataProvider [ RuntimeClass 'TerminalApp.XamlMetaDataProvider' ] TerminalApp D:\Projects\M$\terminal\src\cascadia\TerminalApp\x64\Release\XamlMetaDataProvider.idl 6

    Это было из-за сборки части проекта с другим SDK — почистил, собираю дальше.
    Позже отпишусь ;)
  • Новый Windows Terminal уже доступен в Microsoft Store
    +4
    Нет, его не было изначально в принципе, цитирую из Вики:
    Windows 10 «Корпоративная с долгосрочным обслуживанием» (англ. Enterprise LTSC, ранее — Enterprise LTSB)[97] — специальный вариант «Корпоративной», отличается от остальных редакций долгосрочной поддержкой одной версии и отсутствием Магазина и UWP приложений (кроме приложения «Параметры»).

    Если точнее, то у меня стоит Windows 10 Enterpise LTSC N — нет Media Player и Groove. Всё равно не пользуюсь ими, зачем систему захламлять?
  • Новый Windows Terminal уже доступен в Microsoft Store
    +3
    А если в моей системе нет магазина? Только ручками собирать придётся, видимо…
  • Удаление зубов мудрости: как это делается?
    0
    Спасибо, значит будем рвать.
    Вопрос тогда по оставшимся двум — они пока вроде бы целые, но имеют такие же проблемы с оголением шейки зуба. Ну и из-за них остальные зубы сдвинулись, почти полностью вытеснив по 1 резцу с каждой челюсти. Все зубы мудрости у меня — вылезли полностью и участвуют в прикусе. Самая большая проблема — плотно стоящие почти все зубы, из-за чего невозможно прочистить их полностью. В 2-х местах уже был кариес как раз в таких вот местах, сразу на 2 зуба.
  • Удаление зубов мудрости: как это делается?
    0
    Это было в государственной бесплатной клинике. Цена удаления зуба — ампула анестетика ;) И да — удалили качественно, даже не заметил. Но у меня там и корни прямые и зубы целые (пока что), никаких проблем с удалением и не должно было быть.
  • Удаление зубов мудрости: как это делается?
    0
    dashkovandrey подскажите, что делать с 8кой, если кариес пошел по шейке зуба с внутренней стороны? Сама шейка в той части открыта, десна не закрывает её полностью. По центру зуба уже есть одна пломба старая, стоматолог отказывается лечить в том месте — сильное слюновыделение, выход желез как раз неподалёку у меня получается, просто заливает всё сразу почти — 7-ку там с трудом лечили уже с отсосом даже.
  • Удаление зубов мудрости: как это делается?
    0
    У нас просто просят самим покупать ампулы с анестетиком в аптеке на первом этаже — как раз для проводниковой анестезии.
  • Зубы мудрости: удалить нельзя оставить
    +3
    У меня с зубочисткой/нитью практически так же, только причина чуть иная — из-за восьмёрок всё остальное настолько ужато, что в некоторых местах даже волосок не проходит. Пару таких мест уже залечивали — там был кариес сразу на оба зуба, поскольку вычистить там невозможно в принципе.
  • Зубы мудрости: удалить нельзя оставить
    0
    Не, у меня всё ровное, судя по снимкам :)
  • Зубы мудрости: удалить нельзя оставить
    0
    Иди на снимок и к врачу с ним. А там уже посмотрят. Лучше не доводить до гнойных полостей…
  • Зубы мудрости: удалить нельзя оставить
    0
    Мне, когда удаляли верхнюю восьмёрку, ассистент голову держал, ибо сам не справлялся с манипуляциями хирурга в челюсти :)
    А так — даже не понял, что зуб уже удалён, благо они у меня почти нормально вылезли — только по высоте ниже остальных, с внутренней стороны почти до верха десной закрыты. А снаружи аж шейка зуба у парочки торчит — не хватило десны :(
  • Зубы мудрости: удалить нельзя оставить
    +1
    У меня вот вылезли все 4 восьмёрки. Вроде бы и в прикусе учавствуют, но сдвинули остальные зубы, особенно спереди — один зуб вообще вперёд вылез. Ну и на обоих нижних периодически, раз в пару лет, нарастает «капюшон» на пару недель-месяц, пока не «сжуётся». Ещё на одной восьмёрке кариес уже на шейке зуба, которая десной почти не прикрыта. Собираюсь его удалять — до этого удалил зуб над ним, что бы «капюшон» не мешал.
    Ну и в будущем планирую исправление прикуса, чему они будут очень даже мешать.
  • ВИЧ – методы лечения от первых лекарств до сегодняшнего дня
    +1
    Так-то да — многие из них умерли, часть задумалась крепко.
    Посмотрим, что они ещё придумают :)
  • ВИЧ – методы лечения от первых лекарств до сегодняшнего дня
    +4
    Лично меня больше всего поражают сами ВИЧ-диссиденты — первые из них так и умерли от ВИЧ/СПИД, который они отрицали до конца своих дней. Но их пример никого не научил, а только раззадорил, судя по всему.
    Хотя, ныне очень популярно отрицать непреложные истины — взгляните на людей, идущих против прививок. Очень показателен в этом плане пример некоторых крупных городов, где из-за таких вот жителей были вынуждены объявлять ЧС…
  • Самый худший UI управления громкостью звука
    +9
    Подержите моё пиво!!!
  • Использование C++ и шаблонов с переменным количеством аргументов при программировании микроконтроллеров
    +1
    Хм, не знал. Спасибо за подсказку ;)
  • Использование C++ и шаблонов с переменным количеством аргументов при программировании микроконтроллеров
    0
    Ныне GCC ругается на такое старое приведение типов, требуя как раз таки cast'оов ;)
  • Использование C++ и шаблонов с переменным количеством аргументов при программировании микроконтроллеров
    0
    1) У меня нет поддержки USB Device как бы ;) Я пока что только Host делал, поскольку он был мне нужен.
    2) Постепенно ухожу от него;
    3) Есть, ещё как есть:
    #ifdef USE_MEMORY_ISR
    __attribute__((section(".isr_vector"))) const ISR::ShortVectors interruptsVectorTable =
    #else
    volatile __attribute__((section(".isr_vector"))) const ISR::Vectors interruptsVectorTable =
    #endif
    {
    #ifdef USE_MEMORY_ISR
       (uint32_t)&_estack,
       ISR::Reset
    };

    Ну и кусок из стандартного init'а:
        /* Configure the Vector Table location add offset address ------------------*/
        #ifdef VECT_TAB_SRAM
        SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
        #else
        SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
        #endif

    Опять-таки — данным функционалом не пользовался, потому не проверял пока…
  • Использование C++ и шаблонов с переменным количеством аргументов при программировании микроконтроллеров
    +2
    Вот что я для себя запилил на С++ для STM32: github.com/andreili/STM32FX_FM
    Уже есть очень многое, включая полную поддержку USB HOST (MSC + HID), scmRTOS, FATfs.
    Проект активно развивается, есть поддержка и STM32F103, но частичная — я в основном сосредоточился на STM32F407, для которого и начинал писать данный проект.
    Но подход с шаблонами возьму на заметку — может и обновлю свои классы в репе ;)
  • Где покупать радиодетали и компоненты? Часть I: Россия
    0
    Покупал. Цены не очень, даже за мелочь по доставке просят многовато…
    Вот, из заказа:
    image
  • Радиомодули для arduino JDY-40
    0
    Для такой мелочёви и 40 метров с небольшими препятствиями — уже неплохо. Тут мощности сигнала небольшие, антенна мелкая — особо не разгонишься по дальности, не та ниша.
  • Делаем ST-Link V2.1 из китайского ST-Link V2
    +1
    Самое главное — минимизация девайсов. Да и занят всего 1 USB.
    И как плюс — можно заливать прошивки без софта, работая как с флешкой.
  • STM32 fast start. Часть 1 ПО, материалы, Cube MX
    0
    Можно, но на стандартных библиотеках GCC оно отжирает просто фантастические объёмы RAM и ROM под свои нужды. Поэтому — лучше статическое определение классов и их методов.
    Вот, как пример такого использования (пока ещё очень сырой вариант, не допиленный до полной инкапсуляции констант и прочего в классы) — github.com/andreili/STM32FX_FM/blob/master/Examples/STM32F4DISCOVERY/src/main.cpp
  • freetype 2 и opengl пишем текст
    0
    Все просто, пока не возникает нужда во всяких там обводках и прочем ;)
    Вот мой пример реализации из игры: bitbucket.org/schooldaysteam/nice-boat/src/master/nice_boat/src/OpenGLFont.cpp
  • Где покупать радиодетали и компоненты? Часть I: Россия
    +1
    Ну, я территориально нахожусь в Беларуси, так что у меня выбор сразу ограничен али и lcsc ;)
  • Где покупать радиодетали и компоненты? Часть I: Россия
    0
    Вот кстати да. Цены не особо отличаются от Али, но есть гарантия качества компонентов и их упаковка всегда на высоте.
  • Что не так с Raspberry Pi
    +1
    я их использую с самособранной гентой — работает давно, проблемы со стабильностью только в сетевом напряжении 230В, буду сооружать бесперебойник на низкой стороне…
  • SMAA: улучшенное субпиксельное морфологическое сглаживание
    +1
    Что-то у меня демка по ссылке не запускается вообще — нагрузка на GPU при активном приложении есть, но на экране пусто.
    Win10 + RTX 2070.
  • Преодоление порога 32 КБ для данных в ПЗУ микроконтроллеров AVR
    +3
    Вот из-за таких костылей в коде я и пересел на STM32 — никаких раздельных адресных пространств, все указатели 32 бита…
  • Пессимизм насчёт многопоточности
    0
    Мсье знает толк в извращениях.
    Да и ноутбучные процессоры сильно кастрированы — заметна разница в производительности на тяжёлом софте. По работе использую Siemens TIA Portal — декстоп с HDD уделывает ноут с SSD даже по скорости открытия проекта и объектов в нём :)
  • Пессимизм насчёт многопоточности
    0
    Ну, у меня сейчас большую часть загрузки занимает POST, даже в FastBoot'е. Совсем от этого уйти нельзя. А сама винда грузится очень быстро. Тут уже упирается в процессор, как понимаю в загрузке Win.
  • Пессимизм насчёт многопоточности
    0
    Это частный случай, который относительно редок :)
  • Пессимизм насчёт многопоточности
    +1
    Ок. Запустил танки, открыл ProcessExplorer:
    Скрин
    image

    Итого — 30% от 6 ядер — ровно 2 ядра заняты. Играю в HD на ультре.
    Остальная нагрузка — у меня там идёт поиск по содержимому файлов + много тяжелого софта ждёт фоном.
    Я все игры так проверяю, максимум что пока что видел — 3 ядра реально забитых полностью.
  • Пессимизм насчёт многопоточности
    0
    Многопоточность полезна, я говорил о избыточности ядер в домашних ПК, куда «ради понтов» ставят i7, которые не будут утилизироваться в принципе. Или вы хотите сказать, что рядовой пользователь способен часами нагружать на 100% 8 ядер полезной нагрузкой? Игра (1-2 потока, редко 3 потока) + браузер (много потоков, но нагрузка мизерная) — рядовой случай дома.