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

 
 
 
Reply to this topicStart new topic
> Performance analyzer, Keil c8051F411
Hellper
сообщение Sep 29 2009, 14:39
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 13-08-07
Из: Санкт-Петербург
Пользователь №: 29 745



Если кто-нибудь удачно использовал анализ производительности для 8051 семейство (желательно Silabs), то поясните как грамотно настроить и использовать.
При аппаратной отладке данная опция недоступна?
Счетчик тактов от начала выполнения не нашел, он есть ?
Программная отладка не дает возможность управлять периферией мк, так и должно быть или keil некорректно работает ?
Если глобально не верно все что описано выше, расскажите как производить программную и аппаратную отладку кода.


--------------------
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 29 2009, 15:25
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Hellper @ Sep 29 2009, 17:39) *
Если кто-нибудь удачно использовал анализ производительности для 8051 семейство (желательно Silabs), то поясните как грамотно настроить и использовать.
Анализ производительности - дело тонкое, и Performance Analyzer, имхо, для этого - вещь бесполезная.
Цитата(Hellper @ Sep 29 2009, 17:39) *
Счетчик тактов от начала выполнения не нашел, он есть ?
Project Workspace -> Regs -> states (ещё sec, если правильно указана тактовая частота).
Цитата(Hellper @ Sep 29 2009, 17:39) *
Программная отладка не дает возможность управлять периферией мк
Конкретизируйте. Что желаете? Что не получается?
Go to the top of the page
 
+Quote Post
Hellper
сообщение Sep 29 2009, 15:51
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 13-08-07
Из: Санкт-Петербург
Пользователь №: 29 745



Цитата(Палыч @ Sep 29 2009, 19:25) *
Анализ производительности - дело тонкое, и Performance Analyzer, имхо, для этого - вещь бесполезная.

как, посоветуете, анализировать производительность отдельных частей кода( например Ф. )? кроме, корректного написание непосредственно кода, подсчета тиков и прямых рук smile.gif .
Цитата(Палыч @ Sep 29 2009, 19:25) *
Project Workspace -> Regs -> states (ещё sec, если правильно указана тактовая частота).

спс. на железе, возможно, посчитать или излишне ?
Цитата(Палыч @ Sep 29 2009, 19:25) *
Конкретизируйте. Что желаете? Что не получается?

допустим, установка флагов прерываний, изменение содержимого регистров(результаты работы периферии).


--------------------
Go to the top of the page
 
+Quote Post
barabek
сообщение Sep 29 2009, 23:43
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(Hellper @ Sep 30 2009, 01:51) *
как, посоветуете, анализировать производительность отдельных частей кода( например Ф. )? кроме, корректного написание непосредственно кода, подсчета тиков и прямых рук smile.gif

допустим, установка флагов прерываний, изменение содержимого регистров(результаты работы периферии).

По первому - я анализирую по внешнему пину и осциллографом смотрю. При входе в критическую процедуру перевожу контрольный пин в 1, при выходе в 0. Как правильней - не знаю smile.gif
По второму - в keil IDE не знаю как, а в родной silabs IDE поменять содержимое регистров и памяти можно в соответствующих окнах и нажатием кнопки "refresh values" (alt-R)
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 30 2009, 05:44
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Hellper @ Sep 29 2009, 18:51) *
как, посоветуете, анализировать производительность отдельных частей кода( например Ф. )? кроме, корректного написание непосредственно кода, подсчета тиков и прямых рук.
Собственно, так и делаю. Ну, ещё представлять: как часто отдельные участки кода будут выполняться, т.е. имеет ли смысл улучшать отдельные части программы - даст ли это приращение производительности...

Цитата(Hellper @ Sep 29 2009, 18:51) *
на железе, возможно, посчитать или излишне ?
МК разных производителей имеют разное время выполнения команд. Не знаю - насколько Keil это учитывает. Нужно свериться как в симуляторе считается время выполнения - проконтролировать вручную (взяв данные из DS) отдельный кусок. Если результаты в симуляторе и руками - совпали, можно им довериться. В железе время выполнения должно быть таким же.

Цитата(Hellper @ Sep 29 2009, 18:51) *
допустим, установка флагов прерываний, изменение содержимого регистров(результаты работы периферии).
После старта Debug session: Menu -> Peripherals
Go to the top of the page
 
+Quote Post
Hellper
сообщение Sep 30 2009, 10:18
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 13-08-07
Из: Санкт-Петербург
Пользователь №: 29 745



Цитата(Палыч @ Sep 30 2009, 09:44) *
После старта Debug session: Menu -> Peripherals


ничего не отображается, кроме ресет.
если открывать проекты в примерах под другие мк, то доступно.
у меня некорректно работает иде или глобальная проблема с silabs?

IDE-Version:
µVision3 V3.60
Copyright © Keil Elektronik GmbH / Keil Software, Inc. 1995 - 2008

Tool Version Numbers:
Toolchain: PK51 Prof. Developers Kit Version: 8.12
Toolchain Path: C:\Keil\C51\BIN\
C Compiler: C51.Exe V8.12
Assembler: A51.Exe V8.01
Linker/Locator: BL51.Exe V6.11
Librarian: LIB51.Exe V4.24
Hex Converter: OH51.Exe V2.6
CPU DLL: S8051.DLL V3.60
Dialog DLL: DCYG.DLL V2.51
Target DLL: BIN\SiC8051F.dll V3.0.0.0
Dialog DLL: TCYG.DLL V2.51
Прикрепленные файлы
Прикрепленный файл  1.bmp ( 63.49 килобайт ) Кол-во скачиваний: 13
 


--------------------
Go to the top of the page
 
+Quote Post
AndreyS
сообщение Sep 30 2009, 11:22
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 28-01-05
Из: Санкт-Петербург
Пользователь №: 2 276



Цитата(Hellper @ Sep 30 2009, 14:18) *
ничего не отображается, кроме ресет.
если открывать проекты в примерах под другие мк, то доступно.
у меня некорректно работает иде или глобальная проблема с silabs?


Добрый день.
Было подобное, точно не вспомню как справлялся, но помоему:
1. переустановил dll под uVision 2 и 3 (в вашем случае вроде как последняя уже)
2. попробуйте в uVision2 со свежей установленной dll'кой (под uVision 2)
3. выбрать похожий по ресурсам контроллер в Keil.


--------------------
Удачи.
Go to the top of the page
 
+Quote Post

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

 


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


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