Hatred's Log Place

DON'T PANIC!

Nov 18, 2014 - 1 minute read - Comments - programming c++

Practical Guide to Bare Metal C++

Недавно наткнулся на эту книжку на GitBook: http://arobenko.gitbooks.io/bare_metal_cpp/

Доступна для онлайн-чтения, в виде форматов ePUB, MOBI и PDF. Рассматриваются вопросы уменьшения размера приложений, написания своих реализаций ABI функций, что позволяет более детально понимать, а что там вообще внутри происходит, что бывает полезно и обычных приложениях. Вместе с ней обязательно ознакомиться с post/2013/03/28/scott_meyers._effective_c_in_an_embedded_environment.

Книга больше ориентирована на ARM, в частности Raspberry PI, но идеи адаптировать к другим платформам труда не составит.

Дополнительные ссылки: * http://elegantinvention.com/blog/information/smaller-binary-size-with-c-on-baremetal-g/ * http://www.webalice.it/fede.tft/cpp_on_microcontrollers_tricks/cpp_on_microcontrollers_tricks.html * http://www.state-machine.com/arm/Building_bare-metal_ARM_with_GNU.pdf или

UPD: * STM32F4 – Code Optimization хорошая заметка в блоге (блог вообще стоит почитать: http://istarc.wordpress.com/category/embedded-systems/stm32f4/) по поводу оптимизации кода по размеру, информация о дополнительных опциях -fno-builtin (не включать встроенные функции gcc) и -flto (использовать link-time optimization и тыц), а так же дополнительную литературу по теме использования C++ в embedded: * анализ производительности (в т.ч. STL): * Technical Report on C++ Performance - мегадока! Must Read. * The Inefficiency of C++. Fact or Fiction? от IAR Systems. * Link time dead code and data elimination using GNU toolchain - про то, что может поломать -Wl,-gc-sections