реклама на сайте
подробности

 
 
> LPC122x это Cortex-M0 или M0+?
GetSmart
сообщение Nov 2 2015, 20:08
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



LPC122x это Cortex-M0 или M0+?
Вопрос к специалистам.
Растактовка инструкций у него отличается от M0 (LPC11Xxx, LPC43xx_M0).

Каким способом программно/аппаратно можно определить тип ядра? Если набор инструкций у них одинаковый.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3  
Start new topic
Ответов (30 - 33)
GetSmart
сообщение Nov 5 2015, 10:41
Сообщение #31


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



По поводу "чистокровности" стартовых/большинства процессоров NXP M0 может быть погорячился. Т.к. требуется проверка у других производителей. Может эта фича самого производителя - NXP.

Ещё одно отличие в растактовке M0 и M0+, кроме переходов, существует - команды MSR/MRS, которые, что очень хорошо, не связаны с обращением к шинам. В LPC122x MSR/MRS = 4 тактам. В LPC81x MSR/MRS = 3 тактам. Т.о. LPC122x = M0 без плюса.

Цитата(jcxz)
В M0 есть Usage-fault? Не работал с ними. Если есть - делаете обработчик этого исключения и пробуете выполнять команды поддерживаемые во всё более и более старших ядрах, пока не поймаете соответствующее исключение. Так сможете сориентироваться где вы находитесь внутри линейки Cortex-M.

Вопрос не тот задал. Цель была защитить какой-то асм-исходник от изменений растактовки инструкций, например ARMv6-M для M0. Гипотетически, даже в новой ревизии камня. При этом классифицировать ядро по терминологии ARM будет даже лишним. И ответ скорее всего очевиден - написать измерялку растактовки под свои требования. Т.к. кроме ядер от ARM могут быть ещё фичи производителей.

Цитата(smalcom)
что говорит нам производитель сиих МК:

Цель темы - объяснить отличие обозначенных отличий растактовок процессоров с ядрами M0 производителя NXP. А так же, отличие от "официальных" растактовок ARM. Это работа посложнее чтения. Так же встречал опечатку, которая по этой причине попала в название этой темы.

Сообщение отредактировал GetSmart - Nov 5 2015, 17:07


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
adnega
сообщение Nov 5 2015, 12:48
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(GetSmart @ Nov 5 2015, 13:41) *
Цель была защитить какой-то асм-исходник от изменений растактовки инструкций

Накой? Есть кусок, выполняющийся за 100 тактов. На новом камне он выполняется за 110 тактов.
Как вы сможете защититься от этого и вернуть былые 100 тактов?
Добить и там, и там пустышками до 120 тактов? Сомнительный выход.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 5 2015, 17:12
Сообщение #33


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(adnega @ Nov 5 2015, 16:48) *
Накой? Есть кусок, выполняющийся за 100 тактов. На новом камне он выполняется за 110 тактов.

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

Сообщение отредактировал GetSmart - Nov 5 2015, 17:15


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
megajohn
сообщение Nov 6 2015, 05:45
Сообщение #34


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(GetSmart @ Nov 5 2015, 20:12) *
если допускается работа на нескольких отличающихся камнях. Выбираемых по результатам измерялки


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


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01408 секунд с 7
ELECTRONIX ©2004-2016