Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Файлы инициализации контролера для запуска scmRTOS
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > scmRTOS
abutorin
Добрый вечер.
Требуется ваша помощь.
Смог запустить scmRTOS на контроллере STM32F103xx с использованием инициализационных файлов (sysinit.cpp и startup.c) которые шли с примерами. Как я понял там устанавливается одна частота процессора и ее особо не поменаешь.
Теперь есть желание запустить тот же проект с использованием инициалиационных файлов поставляемых от ST (startup_stm32f10x_md.S и system_stm32f10x.c). Для начала как я понял нужно переименовать обработчики прерываний (названия из файлов поставляемых с scmRTOS): PendSVC_ISR и SystemTimer_ISR. Это сделал в startup файле. Проект компилируется но результата нет. Долгими поисками и выяснениями склонился к мысли что просто не выключены эти самые прерывания. В документации так и не смог найти как же все это включить. Прошу сильно не пинать, опыта пока в данной теме маловато. Подскажите в каком направлении копать.
К топику приложил все файлы в исходном состоянии.
P.S. Файлы смог прикрепить только в архиве все вместе.
AHTOXA
startup_stm32f10x_md.S не пойдёт, он не вызывает конструкторы.
Можете сделать так - добавьте в проект system_stm32f10x.c, а в sysinit.cpp добавьте
Код
#include "system_stm32f10x.h"

и исправьте функцию
Код
void init_HW(void)
{
  SystemInit();
}
abutorin
Спасибо за быстрый ответ. Попробую вечером сделать. Но в данном случае получится что сначала инициализируется тактовая частота из файла sysinit.cpp а потом она переопределяется вызовом SystemInit(); ?
Я догадываюсь что это будет занимат микросекунда, но всеже хочется не заставлять контроллер делать лишнюю работу.
AHTOXA
Нет, вы же удалите весь код инициализации из sysinit.cpp. Там останется только вызов SystemInit().


Или сделайте ещё проще - совсем удалите из проекта sysinit.cpp, а в startup.c замените init_HW() на SystemInit().
abutorin
Понял, спасибо за совет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.