-
- Странно, у меня такого желания не возникало. Определяешь массив
нужного размера с атрибутом aligned=4. И везде используешь
адресацию на основе указателя на этот массив. При необходимости, с
приведением типа. Можно даже задефайнить приведение типа. Дальше
компилятор сам справится. По идее, даже ассемблер справится. - Nikolay_Po(27.03.2024 11:51)
- Так если определить массив слишком маленького размера, приличная
часть ОЗУ будет неиспользована. Если слишком большого - не взлетит…
А хочется же все 100% выжать из ОЗУ - как и из флеша. - Eddy_Em(27.03.2024 11:56)
- Если ОЗУ и так мало, то баловаться с аллокаторами чревато. Коль уж
буфер такого-то размера рано или поздно будет нужен - надо под него
сразу заложить место. Тем же массивом... POV(350 знак., 27.03.2024 12:03)
- Да мне не аллокаторы, а под входные-выходные буферы более-менее
распределить память. Т.е. если есть возможность - делаем кольцевой
буфер на тот же USB размером с килобайт (и тогда оно весело в
прерываниях "прозрачно" по кускам в 64 байта данные выплевывает),
если нет - сделать поменьше (тогда будет не так весело, и длинные
тексты - скажем, вывод справки - будут блокирующими, что иногда
може быть чревато).. - Eddy_Em(27.03.2024 12:05)
- Делайте так, чтобы блокирующий вывод не создавал проблем. А то
задумка напоминает ардуино-стайл. - Nikolay_Po(27.03.2024 14:39)
- Поэтому и делаю большой кольцевой буфер обычно. Eddy_Em(585 знак., 27.03.2024 14:49)
- Делайте так, чтобы блокирующий вывод не создавал проблем. А то
задумка напоминает ардуино-стайл. - Nikolay_Po(27.03.2024 14:39)
- Да мне не аллокаторы, а под входные-выходные буферы более-менее
распределить память. Т.е. если есть возможность - делаем кольцевой
буфер на тот же USB размером с килобайт (и тогда оно весело в
прерываниях "прозрачно" по кускам в 64 байта данные выплевывает),
если нет - сделать поменьше (тогда будет не так весело, и длинные
тексты - скажем, вывод справки - будут блокирующими, что иногда
може быть чревато).. - Eddy_Em(27.03.2024 12:05)
- Если ОЗУ и так мало, то баловаться с аллокаторами чревато. Коль уж
буфер такого-то размера рано или поздно будет нужен - надо под него
сразу заложить место. Тем же массивом... POV(350 знак., 27.03.2024 12:03)
- Так если определить массив слишком маленького размера, приличная
часть ОЗУ будет неиспользована. Если слишком большого - не взлетит…
А хочется же все 100% выжать из ОЗУ - как и из флеша. - Eddy_Em(27.03.2024 11:56)
- Странно, у меня такого желания не возникало. Определяешь массив
нужного размера с атрибутом aligned=4. И везде используешь
адресацию на основе указателя на этот массив. При необходимости, с
приведением типа. Можно даже задефайнить приведение типа. Дальше
компилятор сам справится. По идее, даже ассемблер справится. - Nikolay_Po(27.03.2024 11:51)