AlexandrY (30.10.2008 16:31, просмотров: 172) ответил Mahagam на стопстопстоп. я про невыровненные обращения к данным. а не про код.
Мда..., диалог суровых эмбеддеров, за гранью разума. Счас на HitFM пошла такая передачка "за гранью разума".
Там тетка сидит и без тормозов отвечает на любые вопросы по предсказанию будущего, раскрытию причин и следствий и вообще по жизни чисто по телефонным звонкам.
Этот диалог мне ее напомнил.
В нормальных ARM-ах нет никаких проблем взять данные с невыровненного адреса, исключения это не вызовет.
В ARM-ах одновременно с пересылкой можно сдвигать туда-сюда на любое количество бит в пределах слова. (Эт вооще для HDLC оптимизация и всяких ATM)
Компилер в ARM-ах даже байтовые переменные во фрейме стека распологает выровненными и вообще все переменные выравнивает автоматом.
Ethernet пакет в эффективных решениях никто уже не собирает целиком в одном месте. Для этого MAC контроллеры подерживают цепочки дескрипторов по DMA. Поэтому хидеры и данные всех слоев/протоколов пакета могут лежать совершенно выровненные в разных местах памяти.
INDEMSYS