ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
21 июля
508261
Omnicake (17.04.2014 11:45, просмотров: 2586)
Здравствуйте. Работаю в среде keil uvision 5.0 для процессора stm32f10x и пытаюсь написать простейший диспетчер (scheduler), который бы на основе статуса и текущего тика задачи, завершал её или переключал на другую с сохранением регистров. Сделал структуру дескрипторов под задачи, задал их в отдельном файле, а в асмовском файле организовал метку TaskTablePointer - указатель на начало таблицы дескрипторов, TaskTableStart и TaskTableEnd для начала и конца таблицы дескрипторов. Но потом столкнулся с проблемой: на TMSC55 в регистр можно было загрузить адрес метки (командой mov #TaskPointer, ar0), затем из адреса этой метки путем команды mov dbl(*ar0) ac0 можно извлекать определенные параметры дескриптора. А вот в cortex-m3 с его ассемблером запись mov r0, TaskPointer (и вариации с #) выдает ошибку, пишет что нужна константа. Отсюда два вопроса: есть ли возможность загрузки адреса метки в регистр? А также сразу в догонку: подскажите аналог обозначения dbl(*ar0)? Заранее спасибо.