Александр Терентьев (aterentiev) wrote,
Александр Терентьев
aterentiev

Category:

Ардуинистые (да и не только) библиотеки

Давно меня гложет мысль, примерно, с того момента, как я пару раз уперся в верхнюю границу доступной RAM на меге с 32К флеша и 2К оперативки на борту, что было бы неплохо знать, сколько того, другого и третьего "кушает" минимально та или иная библиотека, еще до ее использования в программе.

Например, теперь я знаю, что ардуинистая библиотека для работы с SD картой просит около 4К флеша и около 200 байт RAM просто после подключения заголовочника, еще до создания каких-либо обьектов. А еще там реализованы пара функций вывода в последовательный порт (типа консоли, да, ls всякий). То есть, эта библиотека по умолчанию хочет реализованного HardwareSerial. Очень великолепно.

В такой информации, по идее, нет ничего сложного. Нужно проанализировать worst-case (так как он может, теоретически, быть соптимизирован оптимизирующим оптимизатором) памяти на глобальные переменные и константы. И на локальные, в каждой функции, чтобы узнать динамическую составляющую (чтобы не упереться лбом в рантайме).

В идеале, это надо сделать как-то автоматически. Но как? Неохота тестовые программы писать :)

Вроде же из avr-gcc вылезает что-то подобное?
Tags: arduino, Программизмы
Subscribe

  • Это какое-то сумасшествие

    Цена в соседнем Баухаусе. В евро.

  • 802.1q trunk через WiFi

    Гуглил, гуглил, недогуглил. Есть свичи с кучей разных VLAN-ов, соединенные на данный момент гигабит-транками. Пришла разнарядка поместить все на…

  • Ложные воспоминания?

    Попался сейчас во время поездки в машине по радио трек "You" группы Ten Sharp. Известнейшая песня 1991 года. Так вот, у меня точные воспоминания,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments