Перейти к содержанию
    

LPC122x это Cortex-M0 или M0+?

По поводу "чистокровности" стартовых/большинства процессоров 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. Это работа посложнее чтения. Так же встречал опечатку, которая по этой причине попала в название этой темы.

Изменено пользователем GetSmart

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цель была защитить какой-то асм-исходник от изменений растактовки инструкций

Накой? Есть кусок, выполняющийся за 100 тактов. На новом камне он выполняется за 110 тактов.

Как вы сможете защититься от этого и вернуть былые 100 тактов?

Добить и там, и там пустышками до 120 тактов? Сомнительный выход.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Накой? Есть кусок, выполняющийся за 100 тактов. На новом камне он выполняется за 110 тактов.

Защита, если таковая нужна, заключается в блокировке работы устройства, "наблюдаемая невооружённым взглядом". Или части его алгоритма. Но можно сделать несколько ветвей одного алгоритма, если допускается работа на нескольких отличающихся камнях. Выбираемых по результатам измерялки. Последний вариант чисто гипотетический. По мотивам x86. Практической пользы в ARM в нём пока сам не вижу.

Изменено пользователем GetSmart

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если допускается работа на нескольких отличающихся камнях. Выбираемых по результатам измерялки

 

б-р-р-р, вообще то в NXP/LPC программно можно узнать не только тип ядра, но и тип контроллера и сколько Flash на борту

Device ID register и Read Part Identification number

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...