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

8 minutes ago, TTTTTTS said:

все заработало.

Так поделитесь, в чем был косяк?

Иначе тема не закончена :\

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


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

8 минут назад, Forger сказал:

Так поделитесь, в чем был косяк?

галку нашёл  :biggrin:

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


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

32 минуты назад, jcxz сказал:

галку нашёл

все куда банальнее, ноль лишний добавил в адрес перехода.. раз десять адрес проверял, как не заметил не пойму

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


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

36 minutes ago, TTTTTTS said:

все куда банальнее, ноль лишний добавил в адрес перехода.

2 hours ago, Forger said:

В 99.9999% подобных случаев проблема  в коде, а не в ядре проца, как ошибочно многим кажется ;)

Теперь стало 100% :D

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


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

Осталось разобраться, за что в адресе перехода отвечает младший бит и почему на ядре Cortex он должен быть всегда установлен. Чтобы не смотреть на него как на некое магическое число.

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


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

2 часа назад, Сергей Борщ сказал:

Осталось разобраться, за что в адресе перехода отвечает младший бит и почему на ядре Cortex он должен быть всегда установлен. Чтобы не смотреть на него как на некое магическое число.

с этим проблем небыло

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


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

1 hour ago, MasterElectric said:

Отвечает за переход в HardFault

За переключение в режимы Thumb/Arm.

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


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

1 hour ago, haker_fox said:

За переключение в режимы Thumb/Arm.

ага, от старого ARM7TDMI осталося

режима ARM нету уже, а бит остался :)

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


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

8 minutes ago, yes said:

режима ARM нету уже, а бит остался :)

Это если игнорировать все буквы, кроме 'M'.

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


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

интересно другое, почему в регистре LR для возврата используются такие странные значения, почему в нем нет просто адреса куда надо вернуться, для чего так было сделано. зачем это усложнение

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


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

1 hour ago, TTTTTTS said:

почему в регистре LR для возврата используются такие странные значения

Отображение этого бита зависит от используемой ID. У некоторых id этот бит автоматом прибавляется/удаляется, чтобы не мозолить глаза и не путать пользователя.

Интересно другое - в какой такой хитрой задаче потребовалось менять адрес возврата, там-же за всегда каша получается.

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


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

3 минуты назад, AVI-crak сказал:

Интересно другое - в какой такой хитрой задаче потребовалось менять адрес возврата, там-же за всегда каша получается

так в обработчике прерывания вы же уже не видите откуда произошел переход, у вас в LR вместо адреса значение EX RETURN.

или я чего-то незнаю? подскажите как узнать реальный адрес возврата

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


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

28 minutes ago, TTTTTTS said:

или я чего-то незнаю? подскажите как узнать реальный адрес возврата

Посмотреть, что в стеке лежит. Описание прерываний, в частности, сохраняемой информации и EXC_RETURN -- либо в документации на архитектуру (на англ, естественно), либо, например, здесь (на рус).

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


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

8 минут назад, SII сказал:

Посмотреть, что в стеке лежит.

а в стек запишется реальный адрес возврата?

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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