leoniv (leoniv) wrote,
leoniv
leoniv

Category:

Требуется грузчик

DSC_9402_s

На младших STM32F100 начало смущать то, что malloc так много весит - около 4 кило кода и почти 0.5 кило RAM. Был уже в полушаге от того, чтобы глобально перегрузить оператор new. Начал присматриваться к самодельным легким аллокаторам памяти, например, в исходниках FreeRTOS их нашлось три разных. На Электроникс нашел ссылку на еще один. Но мне-то вообще примитив нужен, все созданные объекты живут в памяти до конца жизни устройства, delete (и, соответственно, free) нигде не используется. Взялся было сам писать, но что-то дернуло заглянуть в документацию по компилятору от IAR. Оказывается, достаточно добавить опцию линкера --basic_heap, как всё становится так, как мне надо. На этом месте можно меня упрекнуть в том, что не прочел документацию. Да, не прочел. Потому что прочитать столько всего просто невозможно. Будешь все знать, но дело делать будет некогда. Вот так и балансируешь на грани минимальных знаний, отдавая время работе, а не обучению. Получается, что хорошие вещи - это совсем не те, которые хорошо документированы. Тонны документации нужно рассматривать как некий патч ущербности конструкции. Время - вот камень преткновения.

По случаю пятницы история на тему памяти, идею которой предложил коллега-эмбеддер Vladimir:

"Программист, находясь в нетрезвом состоянии, не справился с управлением памятью, в результате чего был совершен наезд heap-a на stack. К счастью, heap остановился всего в двух байтах от последнего сохраненного адреса возврата. Ни одна локальная переменная не пострадала. В настоящее время идет разбирательство, а программист находится под домашним арестом".
Tags: electronics, программирование
Subscribe

  • Измеритель уровня V0.1

    Сделал первую версию прошивки нового измерителя уровня для магнитофона "Электроника-004". Все еще очень-очень сырое, но уже полоски как-то…

  • Sharp GF-777

    Попал тут ко мне Sharp GF-777. Без преувеличения можно сказать, что это легенда. Обладать таким аппаратом могли лишь избранные. Стоил он когда-то…

  • JVC TD-V662

    Когда просят посмотреть кассетную деку, говорят удивительные вещи. Что не могут найти мастера, который за это бы взялся. Но ведь аналоговая…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 15 comments

  • Измеритель уровня V0.1

    Сделал первую версию прошивки нового измерителя уровня для магнитофона "Электроника-004". Все еще очень-очень сырое, но уже полоски как-то…

  • Sharp GF-777

    Попал тут ко мне Sharp GF-777. Без преувеличения можно сказать, что это легенда. Обладать таким аппаратом могли лишь избранные. Стоил он когда-то…

  • JVC TD-V662

    Когда просят посмотреть кассетную деку, говорят удивительные вещи. Что не могут найти мастера, который за это бы взялся. Но ведь аналоговая…