Сообщение от stmfaq
|
Вот как раз, поэтому и подумал что больше памяти занять однозначно не может, думал что там все покруче , другая система команд и тд и тп.
|
У АВР 1 байт - 8 бит, у стм32 - 32 бита, то есть расход памяти в несколько раз больше (если не нужны 32-битные вычисления). А 8-битные операции на 32-битнике настолько ресурсоемки, что проще работать в родных 32 битах. И битовых операций (установка, сброс, проверка) во всех АРМах включая стм32 почти нет, поэтому с точки зрения скорости и размера кода выгодней вместо битов увеличивать/обнулять переменную, то есть 8 флагов будут занимать не 1 байт в памяти, как у АВР, а 8*4=32 байта... Ну и в системе команд большинство команд 4-байтные, а работающие с константами - 8 байтные, у АВР в 2 раза меньше