GetSmart 0 5 ноября, 2015 Опубликовано 5 ноября, 2015 (изменено) · Жалоба По поводу "чистокровности" стартовых/большинства процессоров NXP M0 может быть погорячился. Т.к. требуется проверка у других производителей. Может эта фича самого производителя - NXP. Ещё одно отличие в растактовке M0 и M0+, кроме переходов, существует - команды MSR/MRS, которые, что очень хорошо, не связаны с обращением к шинам. В LPC122x MSR/MRS = 4 тактам. В LPC81x MSR/MRS = 3 тактам. Т.о. LPC122x = M0 без плюса. В M0 есть Usage-fault? Не работал с ними. Если есть - делаете обработчик этого исключения и пробуете выполнять команды поддерживаемые во всё более и более старших ядрах, пока не поймаете соответствующее исключение. Так сможете сориентироваться где вы находитесь внутри линейки Cortex-M. Вопрос не тот задал. Цель была защитить какой-то асм-исходник от изменений растактовки инструкций, например ARMv6-M для M0. Гипотетически, даже в новой ревизии камня. При этом классифицировать ядро по терминологии ARM будет даже лишним. И ответ скорее всего очевиден - написать измерялку растактовки под свои требования. Т.к. кроме ядер от ARM могут быть ещё фичи производителей. что говорит нам производитель сиих МК: Цель темы - объяснить отличие обозначенных отличий растактовок процессоров с ядрами M0 производителя NXP. А так же, отличие от "официальных" растактовок ARM. Это работа посложнее чтения. Так же встречал опечатку, которая по этой причине попала в название этой темы. Изменено 5 ноября, 2015 пользователем GetSmart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 5 ноября, 2015 Опубликовано 5 ноября, 2015 · Жалоба Цель была защитить какой-то асм-исходник от изменений растактовки инструкций Накой? Есть кусок, выполняющийся за 100 тактов. На новом камне он выполняется за 110 тактов. Как вы сможете защититься от этого и вернуть былые 100 тактов? Добить и там, и там пустышками до 120 тактов? Сомнительный выход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 5 ноября, 2015 Опубликовано 5 ноября, 2015 (изменено) · Жалоба Накой? Есть кусок, выполняющийся за 100 тактов. На новом камне он выполняется за 110 тактов. Защита, если таковая нужна, заключается в блокировке работы устройства, "наблюдаемая невооружённым взглядом". Или части его алгоритма. Но можно сделать несколько ветвей одного алгоритма, если допускается работа на нескольких отличающихся камнях. Выбираемых по результатам измерялки. Последний вариант чисто гипотетический. По мотивам x86. Практической пользы в ARM в нём пока сам не вижу. Изменено 5 ноября, 2015 пользователем GetSmart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 8 6 ноября, 2015 Опубликовано 6 ноября, 2015 · Жалоба если допускается работа на нескольких отличающихся камнях. Выбираемых по результатам измерялки б-р-р-р, вообще то в NXP/LPC программно можно узнать не только тип ядра, но и тип контроллера и сколько Flash на борту Device ID register и Read Part Identification number Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться