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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Кто-нибудь пользовался логическим анализатором в KEIL? Как посмотреть состояние пина?
Salamander
сообщение Jun 17 2014, 15:33
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



Гугление на эту тему выдало несколько статеек, советующх ввести в командную строку "la porta&0x01"
ВВожу как полагается, мне отладчик выдает "*** error 34: undefined identifier"

Что я делаю не так?
Контроллер - STM32F103RET6, включать пробовал и при работе через отладчик с железкой, и через симулятор.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 17 2014, 16:27
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Вот так я делал, а с портами - не помню... Нужны регистры, известные отладчику, а не porta, оставшиеся с прошлых времен...
LA DAC->DHR12L1
Можно и просто по указателю на известный адрес.
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 17 2014, 16:37
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



ViKo спасибо, уже что-то, но в ответ пишет error 129: trace is disabled
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 17 2014, 16:46
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Трассировку разрешить надо в свойствах проекта. Есть документы, расписывающие по-шагам, как это делается. Иногда они называются ...Labs.
Типа такого.
Прикрепленные файлы
Прикрепленный файл  labst.pdf ( 1.1 мегабайт ) Кол-во скачиваний: 60
 
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 17 2014, 17:04
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



вроде получилось. Но на ножке, на которой полюбому должен быть меандр ничего нет.
добавлял так
la GPIOB->BSRR&GPIO_Pin_0
Я лажу написал?

Сообщение отредактировал Salamander - Jun 17 2014, 17:09
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 17 2014, 17:10
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Salamander @ Jun 17 2014, 20:04) *
la GPIOB->BSRR&GPIO_Pin_0

BSRR - это регистр для установки и сброса выводов порта. Примерно, как R и S у триггера. Посмотрите регистр ODR.
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 17 2014, 17:20
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



простите, а если я введу
la some_var, причем some_var в программе каждую секунду увеличивается на единицу и в окне watch я это вижу, то что должно быть в анализаторе? Анализатор такую команду проглатывает, но ничего не происходит.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 17 2014, 17:23
Сообщение #8


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Salamander @ Jun 17 2014, 20:20) *
простите, а если я введу
la some_var, причем some_var в программе каждую секунду увеличивается на единицу и в окне watch я это вижу, то что должно быть в анализаторе? Анализатор такую команду проглатывает, но ничего не происходит.

Там в окне ЛА нужно отредактировать свойства сигнала. Правой кнопкой мыши по названию сигнала...
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 17 2014, 17:32
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



Ковыряю...
Настроил 10 пин порта С на мигание в 1 Гц
Дальше сделал так:
la GPIOC->ODR&GPIO_Pin_10
в Logik Analyzer ничего не происходит. Далее, непосредственно из анализатора по правой кнопке мыши перебросил это в окно watch. В окне watch с частотой 1 Гц происходит смена нуля и 0x0000400. То есть работает пин и отладчик это видит.
По правой кнопе мыши настраивал этот сигнал и на analog и на bit и на state - ноль реакции.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 17 2014, 18:12
Сообщение #10


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Перезапустите Кейл. А время в ЛА бежит?
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 17 2014, 18:17
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



не бежит...


хм...
правильно ли я узнаю состояние 10-й ножки порта С?
la GPIOC->ODR&(1<<10)
Если я запихиваю в Watch GPIOC->ODR&(1<<10), то значение не меняется.

Сообщение отредактировал Salamander - Jun 17 2014, 18:18
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 17 2014, 18:34
Сообщение #12


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Salamander @ Jun 17 2014, 21:17) *
не бежит...

А у вас какой отладчик-железо? До вкладки Trace добрались? Галочки установили? Частоту?
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 17 2014, 18:55
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



Отладчик - STLink на плате Stm32f4DIscovery. Контроллер - STM32F103RET6
Вкладка Trace в аттаче


Обратило на себя внимание - MInTime и MaxTime равны нулю. В чем причина?

Сообщение отредактировал Salamander - Jun 17 2014, 18:56
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 18 2014, 05:04
Сообщение #14


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Частоту Core Clock задайте правильную. 72 МГц?
Цепь SWO используется при трассировке. У вас она разведена на плате?
Go to the top of the page
 
+Quote Post
zheka
сообщение Jun 18 2014, 10:32
Сообщение #15


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Частоту задавал правильную - фигвам.
Отключил ST-Link, подключил Китаёзу-линк - вкладка Trace видоизменилась.

А вот SWO - вы правы, не разведена.
Приду домой попробую.
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 18 2014, 12:58
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



ээээ... а как отключить SWO?
Точнее, поменять Trace Port

Сообщение отредактировал Salamander - Jun 18 2014, 13:23
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 18 2014, 17:17
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



Удалил галку "Load Application at startup" и время затикало, но... дальше бред какой-то - в логический анализатор ничего не добавить, а уже добавленные в окно watch переменные не отбражаются - пишет <cannot evaluate>.
Время тикает только во время одного запуска. ДЛя того чтобы при последующем запуске тикало, нужно запустить в режиме сиулятора, а затем снова в режиме отладчика... ЧТо за бредятина?
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 19 2014, 17:35
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



Вот... для чистоты эксперимента создал проект заново, добавил самое необоходимое.
Включил в режим симулятора. Время бежит, но переменные в окно логического анализатора не добавляются.
Может кто глянет, кому нетрудно?
Прикрепленные файлы
Прикрепленный файл  WheelLights.rar ( 3.65 мегабайт ) Кол-во скачиваний: 5
 
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 19 2014, 18:58
Сообщение #19


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



В симуляторе выскакивают сообщения вида
*** error 65: access violation at 0x40021000 : no 'read' permission
*** error 65: access violation at 0x40021000 : no 'write' permission
Для устранения нужно разрешить командой map обращаться в нужные диапазоны памяти. Я задаю ее в ini файле, который подключаю в настройках симулятора, но можно и каждый раз при входе в симулятор с клавиатуры.
MAP 0x40000000, 0x4002FFFF read write

Чтобы переменная была видна в симуляторе, она должна быть глобальной.

Вроде, всё. laughing.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 20 2014, 02:43
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



Все хорошо, спасибо. Время бежит, переменная дает в анализаторе меандр.
Не получается с ножкой. Делаю так:
la GPIOC->ODR&GPIO_Pin_10
Потом, для верности, то что поглотил анализатор, отправляю в окно Watch.
Ни в Watch, ни в анализаторе ничего не происходит.
В железе ножка дергается, а в окне Watch состояние регистра меняется с 0x0000000 на 0x00000400

Сообщение отредактировал Salamander - Jun 20 2014, 03:37
Go to the top of the page
 
+Quote Post
Salamander
сообщение Jun 25 2014, 06:27
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 466
Регистрация: 17-11-12
Пользователь №: 74 443



Да... сформулирую вопрос по-другому - кто-нибудь когда-нибудь видел в окне этого логического анализатора дрыгающийся пин?
Go to the top of the page
 
+Quote Post

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

 


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


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