-
- Наброшу. framer(546 знак., 06.12.2021 17:47, картинка, картинка)
- РАЗБОР предложенного случая framer klen(3302 знак., 06.12.2021 19:25)
- Вот интересное замечание. Да действительно, где объекты только с пустым конструктором и не используются то прироста кода нет. Оптимизатор их чикает. Но если вызвать со списком инициализации тогда прирост кода есть. Есть разница между: framer(602 знак., 06.12.2021 21:33, картинка)
- Был такой проект - uSTL. Да сплыл. This library is obsolete. Please
use the official gcc C++ standard library. Evgeny_CD(1 знак., 06.12.2021 20:39, ссылка)
- ETL - Embedded Template Library Evgeny_CD(2 знак., 06.12.2021 20:50, ссылка, ссылка)
- EASTL - Electronic Arts Standard Template Library, (старая 2007)
для встроенных систем, игровых приставок и т.д. и исходники. Costic(50 знак., 14.01.2022 17:26, ссылка, ссылка)
- Спасибо! - Evgeny_CD(14.01.2022 17:35)
- Смотрите на гитхабе ustring и uvector - альтернатива std::string и std::vector, для embedded решений без проблем с фрагментацией кучи. Totoro(2 знак., 03.01.2022 01:26, , ссылка, ссылка)
- EASTL - Electronic Arts Standard Template Library, (старая 2007)
для встроенных систем, игровых приставок и т.д. и исходники. Costic(50 знак., 14.01.2022 17:26, ссылка, ссылка)
- ETL - Embedded Template Library Evgeny_CD(2 знак., 06.12.2021 20:50, ссылка, ссылка)
- Написание собственного аллокатора - задача не тривиальная, а
алгоритмами аллкокации могут заниматься целые кафедры вузов. Часто
достаточно обычного placement new, например, для буферов
приёмопередатчиков его хватает с головой. Да и в std-контейнерах
особой нужды нет, для своих проектов я реализовал stl-совместимые
кольцевой буфер, связный список и кое-чего ещё по мелочи. - evgeniy1294(06.12.2021 20:35)
- ничего страшного, писали используем, летает и не падает тежеде
воздуха. скоро выложу - удивитесь как это просто. да - там наука
глубокая. . потому и реализация красивая. сложность выборки O1. а
на кафедрах мы и есть :) - klen(06.12.2021 20:57)
- Покажите пример аллокатора своего. Costic(301 знак., 06.12.2021 21:34)
- Выкладывайте, покопаюсь с удовольствием. - evgeniy1294(06.12.2021 20:59)
- ничего страшного, писали используем, летает и не падает тежеде
воздуха. скоро выложу - удивитесь как это просто. да - там наука
глубокая. . потому и реализация красивая. сложность выборки O1. а
на кафедрах мы и есть :) - klen(06.12.2021 20:57)
- Спасибо! Однако страшно стало. Если "newlib" каждый раз под новый
MCU переписывать, пусть даже с 10го раза будет навык это делать, то
затраты времени будут велики. А можно какой-нибудь "HAL",
средствами C++20, конечно, выделить, чтобы все остальное было
архитектурно независимо. Evgeny_CD(103 знак., 06.12.2021 20:30)
- Не надо ничего переписывать, просто не пользуйтесь тем, чему нет
места в эмбеддете. Впихивание невпихуемого - занятие крайне
интересное, но бизнес на это денег не даёт. - evgeniy1294(06.12.2021 20:39 - 21:00)
- nanolib оттуда же вполне рабочий огрызок. - Vit(06.12.2021 20:46)
- Вот мы и пришли к дзену. Берем голый C++20, выбираем концепцию кода
целевой системы, и быстренько пишем все части кода в рамках
концепции. В принципе, выглядит цельно. Главное, чтобы пенсия не
наступила раньше, чем завершится проект. - Evgeny_CD(06.12.2021 20:42)
- Я бы сказал по другому: на плюсах пишем реализацию минимального
окружения в виде софтовых таймеров, облегченных(не требующих
аллокации) контейнеров, математики (фильтров, например) и всякой
мелочевки. BSP пишем на HAL от вендора, то, что трахает мозг,
переписаваем сами или пишем в техподдержку. Этого достаточно как
для реализации логики, так и для написания синтетического порта,
основная идея - бизнес логика как библиотека. evgeniy1294(85 знак., 06.12.2021 20:54)
- ход мысли вроде да, но я и HAL переписал.... так получилось и не
желею, времени конечно много, но всегда есть премия за старание -
реф мануал для stm32f4 stm32f7 stm32h7 почти наизусть познал,
многое только с микроскопом видно становится. - klen(06.12.2021 21:14)
- А потом у вас появляется камень от TI с их знаменитым "Use TI
library". - evgeniy1294(06.12.2021 21:29)
- почему появится, был и наверно будет. я кейстоун все помучить
хотел.. - klen(06.12.2021 21:45)
- Да да! 66AK2G12 наше будущее все! Индустриальный +125°С даже сейчас лежит DigiKey. Evgeny_CD(1 знак., 06.12.2021 22:34, ссылка)
- почему появится, был и наверно будет. я кейстоун все помучить
хотел.. - klen(06.12.2021 21:45)
- А потом у вас появляется камень от TI с их знаменитым "Use TI
library". - evgeniy1294(06.12.2021 21:29)
- ход мысли вроде да, но я и HAL переписал.... так получилось и не
желею, времени конечно много, но всегда есть премия за старание -
реф мануал для stm32f4 stm32f7 stm32h7 почти наизусть познал,
многое только с микроскопом видно становится. - klen(06.12.2021 21:14)
- Я бы сказал по другому: на плюсах пишем реализацию минимального
окружения в виде софтовых таймеров, облегченных(не требующих
аллокации) контейнеров, математики (фильтров, например) и всякой
мелочевки. BSP пишем на HAL от вендора, то, что трахает мозг,
переписаваем сами или пишем в техподдержку. Этого достаточно как
для реализации логики, так и для написания синтетического порта,
основная идея - бизнес логика как библиотека. evgeniy1294(85 знак., 06.12.2021 20:54)
- как то не так все страшно. это от непонимания и от того что Вы еще этого не делали. попробуете - понравится. и прибудет с Вами СИЛА! ну не боги же libc писал, gcc не они писали - мы - люди этой планеты, простые, но очень желающие двигаться вперед а не назад :) - klen(06.12.2021 20:59)
- Не надо ничего переписывать, просто не пользуйтесь тем, чему нет
места в эмбеддете. Впихивание невпихуемого - занятие крайне
интересное, но бизнес на это денег не даёт. - evgeniy1294(06.12.2021 20:39 - 21:00)
- Большое спасибо за детальный разбор. - framer(06.12.2021 19:53)
- Еще если бы карта этих зависимостей была бы доступна...тогда можно было бы построить пространство фич С++, и в нем жить в проекте. - Evgeny_CD(06.12.2021 18:02)
- Какой компилер? - Evgeny_CD(06.12.2021 17:59)
- arm-none-eabi-gcc (GNU Tools for STM32 9-2020-q2-update.20201001-1621) 9.3.1 20200408 (release) Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - framer(06.12.2021 18:08)
- Это с LTO? - Nikolay_Po(06.12.2021 17:50)
- Библиотека собрана без LTO, поэтому это неважно. - SciFi(06.12.2021 18:04)
- Вот так с LTO framer(1 знак., 06.12.2021 17:58, картинка)
- РАЗБОР предложенного случая framer klen(3302 знак., 06.12.2021 19:25)
- Наброшу. framer(546 знак., 06.12.2021 17:47, картинка, картинка)