Размер флешки в boards.txt ATmega 328p 32u4

Микроконтроллеры ATmega328p и ATmega32u4 имеют 32 КБ флэш-памяти (согласно техническому описанию). Загрузчик для каждого микроконтроллера имеет разный размер (около 512 байт для 328p и 4 кб для 32u4).

Почему в файле boards.txt параметр "upload.maximum_size" равен 32256 для 328p и 28672 для 32u4?

Я должен учитывать размер загрузчика, параметр «upload.maximum_size» для 328p должен быть около 31,5 КБ, а не 32 КБ. И, если нам не нужно учитывать размер загрузчика, как конфигурация по умолчанию boards.txt (выше) для 328p, параметр «upload.maximum_size» для 32u4 должен быть 32k, а не 28k. Верно?

Спасибо

, 👍0


1 ответ


Лучший ответ:

1

1 КБ – это 1024 байта, а не 1000 байт.

Поэтому 32 КБ = 32768 байт.

32768-512=32256, именно это значение используется для upload.maximum_size для 328p.

4 КБ = 4096 байт. 32768-4096=28672, что является значением для 32u4.

,

Ты прав @Gerben. Извините меня за мою ошибку внимания. Я нашел [эту](https://arduinoprosto.ru/q/20479/atmega32u4-leonardo-pro-micro-bootloader-8k-rather-than-4k) тему о размере флэш-памяти 32u4. Возможно ли, что доступная флэш-память (с загрузчиком) будет меньше ~ 28 КБ из-за стека USB (как задано в теме)?, @Mario J.

Да вы правы. Загрузчик 32u4 должен реализовать стек USB, а 328p — только UART, что намного проще., @Gerben