Проект Omsk: Память
Для снижения нагрузки на процессор я использую LUT — то есть вместо того чтобы использовать сложные формулы, я изначально просчитываю все варианты и записываю в таблицу, и затем микроконтроллер берет из памяти нужную ячейку. Проблема в том, что таких таблиц у меня очень много и они занимают несколько МБ. После сборки прошивка выходит за 4 доступных мне МБ. Распаять дополнительную флешку я не могу, потому что я уже использовал все пины RP2350 Zero. Вариант заменить флешку на самом МК я тоже рассматривал: на RP2350 Zero используются флешки в довольно редком и компактном корпусе, найти их довольно проблематично, да и не выпускают их объемом больше чем 4 МБ.
Я с этой проблемой сталкивался уже несколько раз, и каждый раз приходилось что-то выдумывать, где-то ужиматься. И вот я опять столкнулся с этой проблемой, и вроде как уже и ужиматься особо некуда. И тут я заметил, что *.uf2 весит 5.7 МБ, *.elf весит 2.7 МБ, *.bin весит 2.6 МБ. Я, конечно, подозревал, что *.uf2 требует заметно больше памяти, но не в два же раза! Я подумал, что, конечно, прошивать с помощью программатора не хотелось бы. Но оказывается, picotool, который умеет очень много чего полезного, в том числе и прошивать *.elf и *.bin через usb. По сути, между ними нет разницы для пользователя: в *.elf дополнительно хранятся имена переменных и функций, что может быть удобно для отладки, не более того. Ставится picotool буквально в два клика, так что не вижу особых проблем в отказе от *.uf2. И теперь у меня еще и 1.4 МБ свободно!
#Omsk
10April 11, 2026 788 1