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

 
 
 
Reply to this topicStart new topic
> Изсенрить загрузку микроконтроллера, при работе uOS
Kris2007
сообщение Jul 6 2007, 10:01
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 15-03-07
Пользователь №: 26 193



У кого-нибудь есть соображения по этому поводу?
Go to the top of the page
 
+Quote Post
Igor26
сообщение Jul 6 2007, 10:07
Сообщение #2


Знающий
****

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



Цитата(Kris2007 @ Jul 6 2007, 14:01) *
У кого-нибудь есть соображения по этому поводу?

Ничего не понял в вопросе.
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Jul 6 2007, 10:25
Сообщение #3


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



если uOS это uCOS-II то там есть дефайн OS_TASK_STAT_EN который подключает отдельную задачу статистики, где все уже за вас сделано. Почитайте по этому делу хелп
Go to the top of the page
 
+Quote Post
ig_z
сообщение Jul 6 2007, 12:32
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



Цитата(jorikdima @ Jul 6 2007, 13:25) *
если uOS это uCOS-II то там есть дефайн OS_TASK_STAT_EN который подключает отдельную задачу статистики, где все уже за вас сделано. Почитайте по этому делу хелп


Дополню, что там же имеется дефайн для юкосвью. Статистику можно рассматривать на красивых графиках.
На директорат и мененеджмент действует, как консервная банка на папуасов smile.gif
Go to the top of the page
 
+Quote Post
Kris2007
сообщение Jul 6 2007, 13:47
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 15-03-07
Пользователь №: 26 193



uOS это не uOS-II. uOS-это другая ось. www.uos.vak.ru
И там ничего такого нет.

А вопрос вот в чем. Требуется знать загрузку процессора при определенной частоте опроса внешних устройсв и.т.п.. Т.е. "успеет ли?"

Предполагаю сделать задачу с минимальным приоритетом и счетчиков, в случае "простоя" будет инкрементироваться этот счетчик. По его значению можно по идее судить о загрузке. А в процентах как сие сделать?. Зная время выполнения в тактах это задачи (по коду асемблера).
Вроде и на поверхости лежит - но как именно,чтобы достаточно точно, пока не доходит.

Сообщение отредактировал Kris2007 - Jul 6 2007, 13:48
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Jul 6 2007, 14:24
Сообщение #6


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



В оС должна быть IDLE TASK. И должны быть хуки входа и выхода в нее. Так же должен быть доступ к счетчику системных тиков. При входе в IDLE смотрите на счетчик - запоминаете. При выходе из IDLE опять смотрите - запоминаете. Разность - это есть "время" простоя. При следующем входе в IDLE вспоминаете значение системного тика, которое было при выходе в прошлый раз. Разность - время работы. И так суммируете, суммируете времена эти... а загрузка это

1 - t(idle)/(t(idle) + t(work))
Go to the top of the page
 
+Quote Post
Kris2007
сообщение Jul 6 2007, 14:39
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 15-03-07
Пользователь №: 26 193



Никаких средсв работы с задачей idle тут,как я понимаю, нету. Поэтому немного подругому нужно.
А счетчик тиков есть разумеется.

Сообщение отредактировал Kris2007 - Jul 6 2007, 14:42
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 6 2007, 22:14
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



В принципе такое обычно нужно чтобы одна конкретная задача успевала отработать за счёт других. Обычно она синхронная. То есть привязана ко времени.

Я поступаю следующим образом. Выделяю аппаратный таймер. По нужной задаче его обнуляю. По концу считываю значение и сохраняю. Период - высчитываю. В проге рассчитываю два значения - пиковую загрузку и среднюю. Так как порой важна пиковая загрузка (иначе пролёт цикла), а иногда нужно знать среднюю (чтобы оценить время необходимое для остальных процессов). Можно, конечно это расчитывать и для каждой задачи (чтение-вычитание). Но как правило - важна только одна.
Go to the top of the page
 
+Quote Post
arttab
сообщение Jul 8 2007, 05:12
Сообщение #9


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



у меня способ простой:
например оценка времени обработки прерываний:
в начале прерывания свободный вывод в "0", а перед выходом в "1". чуп
осциллографа на этот выход и смотрю


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 8 2007, 19:33
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(arttab @ Jul 8 2007, 08:12) *
у меня способ простой:
например оценка времени обработки прерываний:
в начале прерывания свободный вывод в "0", а перед выходом в "1". чуп
осциллографа на этот выход и смотрю


Это нормальный, но оценочный способ. Иногда, когда оптимизируешь программу, не совсем очевидно дадут вносимые изменения положительный или отрицательный эффект и если дадут, то какие. И тут важно зать численное значение. Потому, что результат может быть равен 1-2%, а на глаз это не заметишь.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 8 2007, 19:51
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SasaVitebsk @ Jul 8 2007, 22:33) *
Потому, что результат может быть равен 1-2%, а на глаз это не заметишь.

Осциллографы разные бывают smile.gif. Приличный и наносекунды измерит, и разброс зафиксирует и кореляцию посчитает...


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th June 2025 - 22:26
Рейтинг@Mail.ru


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