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

 
 
> Загрузка адреса метки в регистр для STM32.
Omnicake
сообщение Apr 17 2014, 07:24
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 12-01-14
Из: Омск
Пользователь №: 80 002



Здравствуйте. Работаю в среде keil uvision 5.0 для процессора stm32f10x и пытаюсь написать простейший диспетчер (scheduler), который бы на основе статуса и текущего тика задачи, завершал её или переключал на другую с сохранением регистров. Сделал структуру дескрипторов под задачи, задал их в отдельном файле, а в асмовском файле организовал метку TaskTablePointer - указатель на начало таблицы дескрипторов, TaskTableStart и TaskTableEnd для начала и конца таблицы дескрипторов. Но потом столкнулся с проблемой: на TMSC55 в регистр можно было загрузить адрес метки (командой mov #TaskPointer, ar0), затем из адреса этой метки путем команды mov dbl(*ar0) ac0 можно извлекать определенные параметры дескриптора. А вот в cortex-m3 с его ассемблером запись mov r0, TaskPointer (и вариации с #) выдает ошибку, пишет что нужна константа. Отсюда два вопроса: есть ли возможность загрузки адреса метки в регистр? А также сразу в догонку: подскажите аналог обозначения dbl(*ar0)? Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Apr 17 2014, 08:12
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Omnicake @ Apr 17 2014, 10:24) *
А вот в cortex-m3 с его ассемблером запись mov r0, TaskPointer (и вариации с #) выдает ошибку, пишет что нужна константа.

А так?
mov r0,=TaskPointer
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 17 2014, 08:27
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(ViKo @ Apr 17 2014, 12:12) *
+1
Посмотрел в startup.S:
Цитата
;This file is part of the uVision/ARM development tools.
...
; Reset Handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT __main
LDR R0, =__main
BX R0
ENDP


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post



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

 


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


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