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

 
 
> Определение времени выполнения функции по симулятору IAR для STM32
Schulz_K
сообщение Aug 21 2011, 12:07
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 63
Регистрация: 25-05-10
Из: Киев
Пользователь №: 57 515



Как определить сколько по времени выполняется фукция? Симулятор IAR в режиме Trace показывает 51 цикл. Значит ли это, что время выполнения этой функции =51/120МГц=0,425мкс ?
Подобный вопрос на форуме недавно обсуждался, но в моем случае такие отличия: расчет нужен приблизительный, чтобы оценить, справится ли вообще STM32 на 120МГц с заданной задачей. Поэтому платы на которой все можно проверить осциллографом никто покупать на будет до получения положительного ответа. Есть результат подсчета на симуляторе - нужно теперь правильно его понять.
Есть дизассемблированный код - можно увидеть, например, что в Trace IAR считал что команды типа ADD, STR, BNE.N выполняются по времени один цикл.
Программа выполняется из Flash. (Кстати, возникают вопросы - а как отличаеся время, если работать из RAM и как влияет конвейер ?)
(Утилита Clock Configuration говорит что Flash Wait State = 3 - это значит, что при работе из Flash полученное время нужно умножать на 3 по сравнению с RAM, или так можно считать только при выполнении условных переходов, или условные переходы тоже отрабатываются конвейером за 1 цикл ?)
DMA и вложенных прерываний нету.
Главный вопрос - хватит ли 1мкс для выполнения данной, критичной ко времени, функции на данном кристалле при данной частоте.
Раньше я с STM32 не работал, поэтому прошу особо не ругаться.
(На AVR данный вопрос для меня решается просто, хочу теперь разобраться как делать подобные оценки производительности на ARM и на STM32 в частности.)

Пример:
Код
if (command & 0x40000000) GPIOG->BSRRL = GPIO_Pin_6;

выполняется так:
Код
LSLS      R3, R2, #1
BPL.N     ??tm1_0
LDR.N     R3, ??DataTable4_3
MOV.W     R12, #64
STRH.W    R12, [R3]
        ??tm1_0:

и соответственно, при выполнении условия, требует 5 циклов.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 18:05
Рейтинг@Mail.ru


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