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

 
 
 
Reply to this topicStart new topic
> Cortex M3 и таймеры, Настройка таймера на Cortex M3 процессорах
Omnicake
сообщение Feb 16 2014, 07:03
Сообщение #1


Участник
*

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



Здравствуйте, уважаемые. В данный момент занимаюсь переделкой простейшей ОСРВ под Cortex M3 процессоры. Возникло несколько вопросов, подскажите, пожалуйста:
- Как выглядит начальная инициализация для Cortex M3 процессоров, и как, используя IAR, правильно настроив его, запустить эту самую инициализацию?
- Если я буду использовать IAR, есть ли в нем возможность реализовать симуляцию работы с таймером для Cortex M3?
- Если возможно, скиньте пожалуйста проект с таймером для Cortex M3, в котором можно посмотреть распределение памяти и расположение векторов прерываний.
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Feb 16 2014, 13:22
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(Omnicake @ Feb 16 2014, 08:03) *
Здравствуйте, уважаемые. В данный момент занимаюсь переделкой простейшей ОСРВ под Cortex M3 процессоры. Возникло несколько вопросов, подскажите, пожалуйста:
- Как выглядит начальная инициализация для Cortex M3 процессоров, и как, используя IAR, правильно настроив его, запустить эту самую инициализацию?
- Если я буду использовать IAR, есть ли в нем возможность реализовать симуляцию работы с таймером для Cortex M3?
- Если возможно, скиньте пожалуйста проект с таймером для Cortex M3, в котором можно посмотреть распределение памяти и расположение векторов прерываний.

Зависит от конкретного процессора.

Согласно стандарту CMSIS каждый производитель предоставляет к процессору два файла: описания таблицы векторов startup_xxxx.s (ассемблер) и system_xxxx.c, который содержит функции начальной базовой инициализации ядра. При создании проекта под IAR или KEIL с использованием конкретного процессора оболочка автоматически предлагает скопировать вышеуказаные файлы из репозитория в рабочий каталог проекта и включить их в него. К моменту вызова main() процессор будет уже проинициализирован (см. startup_xxxx.s, код вектора Reset_Handler).

Базовым, общим для всех Cortex Mx, таймером является SysTick. Необходимо реализовать (объявить функцию и написать необходимый код) обработчика прерывания от SysTick со стандартным именем SysTick_Handler(void), а в собственной инициализации в main() установить частоту для SysTick функцией Systick_Config() (находится в core_cm3.h).

На этом стандарт заканчивается. Процессоры могут (и содержат), как правило, массу других таймеров и иную периферию. Их использование описано в документации конкретного процессора.
Go to the top of the page
 
+Quote Post
kan35
сообщение Feb 16 2014, 13:26
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Freertos.org - качайте дистрибутив, там есть примеры для IAR под разные М3, с инициализацией таймера, тактирования и всем, что нужно.
Go to the top of the page
 
+Quote Post
Omnicake
сообщение Feb 16 2014, 15:49
Сообщение #4


Участник
*

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



Спасибо большое.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:22
Рейтинг@Mail.ru


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