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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> PIT на AT91SAM9G45
DmitryM
сообщение Nov 18 2011, 03:42
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(savt @ Nov 17 2011, 13:03) *
Пробовал размещать инструкцию (ldr pc, [pc, #-0xF20]) - не помогло.
Замаскировал все прерывания кроме SYS (AIC_IDCR = 0xFFFFFFFD). Результат тот же - из прерывания не выходит. Ниче понять не могу.

Jtag emulator может как-то влиять на ситуацию?

Ну если только лезет в регистры AIC, например тот же IVR, для этого и предусмотрен Protect Mode AIC_DCR, чтобы чтение под отладчиком не сбрасывало автоматом IVR. По шагам смотрели что у Вас творится с регистрами?
Например, чтение отладчиком PIT приведет с потере прерываний от PIT.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Nov 18 2011, 08:31
Сообщение #17


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
Если убрать aicregs->AIC_EOICR = 0; либо атрибут __attribute__((interrupt("IRQ"))) - прерывания происходят

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


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
savt
сообщение Nov 22 2011, 08:51
Сообщение #18





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



Цитата(DpInRock @ Nov 18 2011, 12:31) *
Они происходят независимо от этого.
Ваша фраза означает то, что вы не в курсе - что на самом деле происходит.
Причины "не в курсе" могут быть разными.
Самое простое решение "быть в курсе" - припаять на свободную (или не свободную) ногу светодиод, а лучше несколько и отмечать прохождение программы по ним.
А если есть осциллограф, можно и без светодиодов.


Я в курсе, что на самом деле происходит. При обработке прерывания вывожу значения счетчика pit в порт usart и фиксирую с помощью терминала.
Go to the top of the page
 
+Quote Post
savt
сообщение Nov 23 2011, 06:47
Сообщение #19





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



Мне вот интересно. Я взял пример кода с официального сайта atmel конкретно для своего контроллера. Получается они не тестировали примеры на нем перед размещением?
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Nov 23 2011, 08:56
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(savt @ Nov 23 2011, 09:47) *
Мне вот интересно. Я взял пример кода с официального сайта atmel конкретно для своего контроллера. Получается они не тестировали примеры на нем перед размещением?

Версия GCC??? У Atmel может отличаться. Вы же хотите добавить PIT в свой проект, а не оригинальный брали. Ну и ошибки не исключены ни у кого. wink.gif
Go to the top of the page
 
+Quote Post
savt
сообщение Nov 24 2011, 02:11
Сообщение #21





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



GCC 4.6.0. Пробовал строить их оригинальный проект с PIT - те же проблемы. От среды разработки тоже не зависит, пробовал собирать проект в GNU, Keil, IAR. Кстати в Keil и IAR интегрированы свои компиляторы, так что думаю версия в данном случае ни при чем. Буду писать в службу поддержки atmel.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:07
Рейтинг@Mail.ru


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