QUOTE (aaarrr @ Mar 8 2016, 13:19)

Какой же регистр для глобальной переменной? Если речь о количестве выделенной памяти, то для такой переменной оно составит 1 байт.
Вообще-то 4 байта на этой платформе. Если не паковать в структуры.
QUOTE (aaarrr @ Mar 8 2016, 14:20)

Зависит от окружения:
CODE
struct
{
uint8_t v1;
uint32_t v2;
}
В этом случае v1 займет 4 байта.
CODE
struct
{
uint8_t v1;
uint8_t v2;
uint16_t v3;
}
А в этом - 1 байт.
Всегда по 4, если так или иначе не указывать компилятороу индивидуальные правила паковки, но и в этом случае структура без паковки будет кратна 4 байтам.
QUOTE (Jenya7 @ Mar 8 2016, 13:51)

а если мне нужно хранить несколько членов одновременно?
А если нет?
QUOTE (AlexandrY @ Mar 8 2016, 13:49)

Стеки ужать.
Обязательно.
QUOTE
Обнулить память для HEAP.
Ну так уж и обнулить, а если она нужна? А вот вместо тупого выделения статического куска, отдавать Heap всю оставшуюся нераспределеной память,
это дело святое. Общая тенденция прямо противоположная - ИСПОЛЬЗОВАТЬ Heap.
QUOTE
Перенести структуры в юнионы.
Ну не тупо и бездумно, конечно.
QUOTE
Заменить printf и sprintf на свои версии.
Да.
QUOTE
Укоротить циклические буфера.
Лобовой совет, но в общем да.
QUOTE
Заменить в операционке вытеснющие задачи на кооперативные.
Или да, или нет.
QUOTE
Использовать драйвера интерфейсов не одновременно, а с разделением во времени.
Это уже следствие совета структуры в юнионы сложить.