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

Обновление ПО с удаленного сервера.

Спасибо за ответы!

 

Проблема несколько модифицировалась, но не буду создавать отдельной темы.

Итак: перенес основное ПО в верхние адреса, перенес туда же вектора прерываний (временно убрав полностью использование прерываний: только ResetVector и начальное значение SP). Если в начальных адресах ставлю такие же значения для ResetVector и SP, как в векторах прерываний - все отлично работает.

Но если - в ResetVector - указать адрес функции, где стоит тупо

asm("B ххх")

(где xxx - тот же адрес, что и в ResetVector) - ничего не работает.

 

 

Скажу по-другому:

Изначально ПО и вектора прерываний - лежат в 0x0800'0000. Переношу ПО и вектора в 0x0800'8000, а в 0x0800'0000 - ставлю константами те же значения, что и в 0x0800'8000 - 8 байт (SP и указатель Reset-а = 0x0800'8E41). Все работает.

Добавляю функцию в 0x0800'0100, которая состоит из одной команды "

B 0x0800'8E41

". Заменяю указатель Reset-а - на 0x0800'0100. Ничего не работает.

 

В чем дело? Я ведь добавил-то только безусловный переход...

 

 

P.S. Да, оказывается у меня Cortex-M3 и соответственно VTOR - есть. Только от этого пока не легче.

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


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

Проблема решена.

 

"указатель Reset-а - на 0x0800'0100." - должно быть 0x0800'0101. У кортекса все адреса почему-то сдвинуты на один байт вперед.

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


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

Проблема решена.

 

"указатель Reset-а - на 0x0800'0100." - должно быть 0x0800'0101. У кортекса все адреса почему-то сдвинуты на один байт вперед.

 

Это не сдвижка, а признак системы команд Thumb. Для Cortex M3 он всегда "1"

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


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

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

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

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

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

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

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

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

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

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