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

 
 
> STM32 SysTick на Keil в ассемблере, Вопрос от новичка
Omnicake
сообщение Mar 17 2014, 03:58
Сообщение #1


Участник
*

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



Здравствуйте, в своем курсовом проекте изучаю возможности микропроцессоров ARM механики и сейчас остановился на таймере SysTick в процессоре STM32, а именно его реализации только на языке ассемблер (работаю в Keil mVision). Нашел в интернете цикл статей по STM32 в том числе по таймеру с примером (http://easyelectronics.ru/arm-uchebnyj-kurs-systick-sistemnyj-tajmer.html), пытаюсь его проанализировать но не могу понять несколько вещей:

- В составе проекта включена библиотека CMSIS, которая включает в себя настройки для всех видов STM процессоров и с помощью кучи условий if else в составе кода находит настройки под конкретный процессор и использует их. Отсюда вопрос: могу ли я, заведомо зная модель своего микропроцессора выкинуть из файла библиотеки все остальные настройки, оставив только нужную и избавится от кучи условий?

- Помимо CMSIS в проекте присутствуют также иные файлы, которые, как я понимаю, нужны для запуска процессора, при запуске дебаггера программа скачет между ними, выполняя некоторые строчки кода то в одном, то в другом. При этом, опять же, не используя весь файл. Возможно ли выбрать только те строки, что используются для инициализации таймера и объединить их в один фаил?

- И последний вопрос, могу ли я, используя дизассемблер, выписать все команды, написанные на C++, переделывая их в ассемблер, будет ли итоговая программа, состоящая из одного фаила и содержащая все необходимые команды на ассемблере работать?

Вопросы, возможно, очень глупые, но материала по подобным тонкостям я не нашел (быть может плохо искал). Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Mar 17 2014, 04:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Часто так и делают. Когда проект вылизывают по каким либо причинам библиотеки, особенно такие большие как у СТМ летят в утиль.

Всю инициализацию можно написать самому по мануалу, а если вы это делаете еще за каким то хреном на асме то вы обязаны это сделать именно так, сами и только то что вам нужно, а библиотеку выкинуть.

ну и стандартный подход который всем рекомендуют когда делают асм вставки, это писать кусочки на С, а потом дизассемблером смотреть что вышло и править если не так как хотелось.

так что все верно
Go to the top of the page
 
+Quote Post



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

 


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


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