Цитата(Acvarif @ Dec 27 2011, 16:35)

1. В файле scmRTOS_TARGET_CFG.h Как правильно выставить параметры если системная частота 120 мГц
Код
// Define SysTick clock frequency and its interrupt rate in Hz.
#define SYSTICKFREQ 8000000
#define SYSTICKINTRATE 500
2.Прерывания работают без участия ОС
Подключение (отключение) к проекту файла stm32f10x_vector.c никак на работе прерываний не сказывается
Похоже, что операционка вообще в этом не учавствует.
Правда для работы прерываний пришлось к проекту подключить startup_stm32f2xx.s
Вобщем основная непонятка с прерываниями.
Ведь они должны пропускаться через ОС. Или все не так?
1. По аналогии - указываете частоту процессора в герцах и желаемую частоту прерываний таймера, к примеру:
Код
#define SYSTICKFREQ 120000000
#define SYSTICKINTRATE 200
где частота процессора 120 МГц, частота прерывания системного таймера - 200 Гц.
2. С прерываниями, скорее, наоборот - ОС "пропускается" через нужные прерывания, точнее её сервисы.
Необходимо только одно прерывание - системного таймера, чтобы ОС могла отсчитывать временные промежутки и переключать процессы.
Для использования сервисов ОС в любых других прерываниях - нужно включить в код обработчика "обёртку" TISRW:
Код
void DMAC_IrqHandler(void)
{
OS::TISRW isr;
... code ...
dmac_cbtc_mci.signal_isr();
... code ...
}
Почитайте лучше мануал к ОС, там всё разжёвано.