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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> STM32H7+DCMI+DMA+обработка
Forger
сообщение Sep 18 2018, 14:08
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Tanya @ Sep 18 2018, 16:59) *
Или нет?

Как правильно заметил jcxz, все будет зависеть от того, насколько часто будет выполняться условие ветвление, а это зависит от набора самих данных.
Скажем, если все данные идут "по нарастающей", то время всего сравнения будет одно, а если "спадающей", то уже совсем другое.
Чтобы этого не было, нужно "выровнять" время отработки в одном и другом условии (например, банальными NOP-ами).


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 18 2018, 14:10
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Tanya @ Sep 18 2018, 16:59) *
Так ведь исходник будет независимо от чисел, которые должны быть перемолоты, оттранслирован при прочих равных условиях. Или нет?

Исходник независимо - ну и что? Выполняться он будет за разное число тактов, в зависимости от данных. Я говорил о том, что тест проведённый ТС-ом для его исходника - некорректен, так как выполнение его исходника будет зависеть от данных. А значит нужно указывать - на каком наборе данных тестировать, или тестировать для самого худшего случая.

PS: Код, который я привёл - он для CM4. Возможно на CM7 появились ещё какие-то новые команды, с помощью которых можно ещё оптимизировать. Не знаю. Всё в руках ТС-а. cool.gif
Go to the top of the page
 
+Quote Post
Obam
сообщение Sep 18 2018, 19:38
Сообщение #18


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



У вас в "LDMIA R0, {R3-R9, R12}" одни и те же 8 слов грузятся всю дорогу. R0 c "!" должон быть, чтоб по массиву двигаться wink.gif


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 18 2018, 19:58
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Obam @ Sep 18 2018, 22:38) *
У вас в "LDMIA R0, {R3-R9, R12}" одни и те же 8 слов грузятся всю дорогу. R0 c "!" должон быть, чтоб по массиву двигаться wink.gif

Да, Вы правы, забыл. Исправил. Проверял поверхностно, на скорую руку. laughing.gif
Go to the top of the page
 
+Quote Post
Eros
сообщение Sep 19 2018, 05:38
Сообщение #20





Группа: Участник
Сообщений: 7
Регистрация: 10-04-17
Пользователь №: 96 446



Цитата(jcxz @ Sep 18 2018, 17:10) *
Исходник независимо - ну и что? Выполняться он будет за разное число тактов, в зависимости от данных. Я говорил о том, что тест проведённый ТС-ом для его исходника - некорректен, так как выполнение его исходника будет зависеть от данных. А значит нужно указывать - на каком наборе данных тестировать, или тестировать для самого худшего случая.

PS: Код, который я привёл - он для CM4. Возможно на CM7 появились ещё какие-то новые команды, с помощью которых можно ещё оптимизировать. Не знаю. Всё в руках ТС-а. cool.gif

Я указывал, что изначально массив заполняется по возрастанию, т.е. это и будет по сути самый худший случай. Еще что у меня получилось: собрал с максимальной оптимизации (мой косяк, не заметил) получилось 65 мкс, и потом попробовал запретить прерывания получилось 50 мкс. Спасибо за совет, сейчас попробую ради интереса на ассемблере и использовать TCM RAM.

Сообщение отредактировал Eros - Sep 19 2018, 05:44
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 19 2018, 05:52
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Eros @ Sep 19 2018, 08:38) *
Спасибо за совет, сейчас попробую ради интереса на ассемблере и использовать TCM RAM.

А за сколько у Вас мой ассемблерный вариант выполняется?
PS: Мерить время лучше в отладчике по отладочному таймеру (в ядре).
Go to the top of the page
 
+Quote Post
Eros
сообщение Sep 19 2018, 05:55
Сообщение #22





Группа: Участник
Сообщений: 7
Регистрация: 10-04-17
Пользователь №: 96 446



Цитата(jcxz @ Sep 19 2018, 08:52) *
А за сколько у Вас мой ассемблерный вариант выполняется?
PS: Мерить время лучше в отладчике по отладочному таймеру (в ядре).

Да, я так и измеряю smile3046.gif
Сейчас буду пробовать ассемблерный вариант
Go to the top of the page
 
+Quote Post
klen
сообщение Sep 19 2018, 13:49
Сообщение #23


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



здравсвуйте!
а частота семплирования ацп какая?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th April 2024 - 08:08
Рейтинг@Mail.ru


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