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

 
 
> CortexM3, запись данных в Program Counter.
Danis
сообщение Nov 28 2011, 11:09
Сообщение #1


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Привет, коллеги по цеху!

Работаю в IAR, пишу на Си. Имеется надобность прочитать данные из ячейки flash по адресу 0x08000804 и записать их в регистр PC (R15). Походу тут без ассемблера не обойтись. Прошу помощи в реализации кода. Спасибо!


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Flexz
сообщение Nov 28 2011, 11:54
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Вам нужно сделать переход по адресу без модификации стека?
Если же на стек наплевать, то лучше сделать именно через указатель на фукнцию.
Go to the top of the page
 
+Quote Post
Danis
сообщение Nov 28 2011, 13:56
Сообщение #3


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Цитата(Flexz @ Nov 28 2011, 15:54) *
Вам нужно сделать переход по адресу без модификации стека?
Если же на стек наплевать, то лучше сделать именно через указатель на фукнцию.


Немного конкретизирую. У меня в микроконтроллере два проекта.
Первый – загрузчик, располагается на последних страницах flash.
Второй – обновляемая программа (рабочая), расположена выше загрузчика.
После старта контроллера, программа попадает сразу в загрузчик. Последний проверяет, если нет подключения к ПК по USB, то нужно перепрыгнуть наверх, где расположена рабочая программа.
Для этого мне нужно как минимум инициализировать регистр вершины стека и записать значение перехода в программный счетчик.
Под отладкой, вручную забивал эти регистры – все работает на ”ура”.


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post



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

 


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


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