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

 
 
23 страниц V  « < 4 5 6 7 8 > »   
Closed TopicStart new topic
> ATxmega
MDD
сообщение May 6 2009, 04:03
Сообщение #76


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

Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862



Цитата(_Алексей_ @ May 6 2009, 05:32) *
Теперь и я стал счастливым обладателем ATXMEGA32A4:)

Где брали?
Меня "мелкие" кристаллы гораздо больше интересует, чем 128А1

Цитата
При программировании столкнулся со следующей ситуацией: в AVRStudio 4.16 запускаю оболочку для программирования, программирую, но контроллер не реагирует. Закрываю оболочку программирования и контроллер оживает! Такого на mega-x не было. После программирования (и с запущенной оболочкой) контроллер сразу начинал работать.
Как побороть мою проблему?


При программировании ATxmega128A1 через AVR ISP2 все как обычно. Контроллер стартует сразу после прошивки.
Может у Вас разъем программатора неправильно распаян?
Go to the top of the page
 
+Quote Post
_Алексей_
сообщение May 6 2009, 04:59
Сообщение #77





Группа: Новичок
Сообщений: 11
Регистрация: 16-02-09
Пользователь №: 44 925



>Где брали?
Rainbow

>При программировании ATxmega128A1 через AVR ISP2 все как обычно. Контроллер стартует сразу после прошивки.
Может у Вас разъем программатора неправильно распаян?

Программирую с помощью JTAG ICE MK2 по PDI.
Если бы было распаяно не правильно, то контроллер бы не программировался и не работала бы отладка.
Go to the top of the page
 
+Quote Post
MDD
сообщение May 6 2009, 05:13
Сообщение #78


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

Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862



Цитата(_Алексей_ @ May 6 2009, 07:59) *
Rainbow

Спасибо за наводку.

Цитата
Программирую с помощью JTAG ICE MK2 по PDI.


С ним дел не имел. Но попробую предположить - может он сразу после прошивки переводит чип в режим пошаговой отладки через PDI?
Go to the top of the page
 
+Quote Post
_Алексей_
сообщение May 6 2009, 05:51
Сообщение #79





Группа: Новичок
Сообщений: 11
Регистрация: 16-02-09
Пользователь №: 44 925



>Спасибо за наводку
Пожалуйстаsmile.gif

>С ним дел не имел. Но попробую предположить - может он сразу после прошивки переводит чип в режим пошаговой отладки через PDI?

Вряд ли. Посмотрел осциллографом состояние линий PDI_DATA и PDI_CLK и стало понятно. При запуске оболочки открывается сеанс связи с МК и не закрывается. А т.к. одна из эти линий совмещена с линией RST, то понятно почему МК не оживает.

MDD, Вы для программирования используете AVRStudio и PDI? Вроде 128A1 можно еще по JTAG шить, если не ошибаюсь.

В процессе изучения XMEGA возникает масса вопросов. FAQ еще никто не сделал?
Вот хочу изменить внутреннюю частоту с 2МГц на 32МГц, но не получается. Как я понял, надо активировать защиту защиту регистров (СРР регистр), изменить CLK_CTRL и OSC_CTRL, но не выходит. Запускаю отладчик и вижу, что регистр CLK_CTRL не изменяется.
В pdf не смог найти таблицы с описанием адресации всех регистров. Пишу на асме, надо знать к каким обращаться через out/sts.

Сообщение отредактировал _Алексей_ - May 6 2009, 05:51
Go to the top of the page
 
+Quote Post
MDD
сообщение May 6 2009, 06:47
Сообщение #80


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

Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862



Цитата(_Алексей_ @ May 6 2009, 08:51) *
MDD, Вы для программирования используете AVRStudio и PDI? Вроде 128A1 можно еще по JTAG шить, если не ошибаюсь.


Да, использую студию и AVR ISP2 через PDI. Через JTAG мне не чем шить.

Цитата
В процессе изучения XMEGA возникает масса вопросов. FAQ еще никто не сделал?
Вот хочу изменить внутреннюю частоту с 2МГц на 32МГц, но не получается. Как я понял, надо активировать защиту защиту регистров (СРР регистр), изменить CLK_CTRL и OSC_CTRL, но не выходит. Запускаю отладчик и вижу, что регистр CLK_CTRL не изменяется.
В pdf не смог найти таблицы с описанием адресации всех регистров. Пишу на асме, надо знать к каким обращаться через out/sts.


Да, я вот тоже привык по FAQ новые контроллеры изучать. А здесь похоже придется поучаствовать в его написании smile.gif
Прежде всего не лишним будет напомнить, что при изучении Xmega нужно пользоваться двумя документами - непосредственно даташитом на контроллер и общим мануалом. Мануал лежит здесь http://www.atmel.com/dyn/resources/prod_do...nts/doc8077.pdf
Теперь по тактированию. Для этого следует изучить апноту AVR1003: Using the XMEGA Clock System . Там есть пример кода, правда на С. Но есть и критическая секция, написанная на асме. Непосредственно переключение нужно делать быстро, за четыре такта, иначе не переключится.
Просмотр сишного листинга показывает, что теперь (по понятным причинам) к большинству регистров доступ идет через команды работы с памятью . Ниже пример тактирования от PLL (кварц 16МГц с умножением на 2) Привожу фрагмент листинга, чтобы был виден "ассемблер".


Код
   58          //Настраиваем тактирование
     59          //Кварц 16МГц, умножение на 2
     60          OSC.XOSCCTRL=0xcb; //Кварц(12-16),16К циклов
   \   00000000   EC0B               LDI     R16, 203
   \   00000002   93000052           STS     82, R16
     61          OSC.CTRL|=0x08; //Включаем кварцевый генератор
   \   00000006   E5E0               LDI     R30, 80
   \   00000008   E0F0               LDI     R31, 0
   \   0000000A   BFFB               OUT     0x3B, R31
   \   0000000C   8100               LD      R16, Z
   \   0000000E   6008               ORI     R16, 0x08
   \   00000010   8300               ST      Z, R16
   \   00000012   E5E1               LDI     R30, 81
     62          do{} while ((OSC.STATUS & 0x08)==0); //ожидаем готовности кв. генератора
   \                     ??main_0:
   \   00000014   8100               LD      R16, Z
   \   00000016   FF03               SBRS    R16, 3
   \   00000018   CFFD               RJMP    ??main_0
     63          OSC.PLLCTRL=0xc2;// PLL от кварца, К=2
   \   0000001A   EC02               LDI     R16, 194
   \   0000001C   8304               STD     Z+4, R16
     64          OSC.CTRL|=0x10;//Включаем PLL
   \   0000001E   E5E0               LDI     R30, 80
   \   00000020   8100               LD      R16, Z
   \   00000022   6100               ORI     R16, 0x10
   \   00000024   8300               ST      Z, R16
   \   00000026   E5E1               LDI     R30, 81
     65          do{} while ((OSC.STATUS & 0x10)==0); //Ожидаем готовности PLL
   \                     ??main_1:
   \   00000028   8100               LD      R16, Z
   \   0000002A   FF04               SBRS    R16, 4
   \   0000002C   CFFD               RJMP    ??main_1
     66          CCPwriteCLKtoPLL(); //переключаемся на тактирование от PLL
   \   0000002E   ....               RCALL   CCPwriteCLKtoPLL
     67          OSC.CTRL=0x18; //выключаем все генераторы, кроме кварца и PLL
   \   00000030   E108               LDI     R16, 24
   \   00000032   93000050           STS     80, R16

................................

226          //критическая секция для переключения источника тактирования
   CCPwriteCLKtoPLL:

   \   00000000   ED08               ldi r16,0xd8
   \   00000002   E014               ldi r17,0x04
   \   00000004   BF04               out 0x34,r16
   \   00000006   93100040         sts 64,r17
       0000000A   9508               RET


Сообщение отредактировал MDD - May 6 2009, 06:48
Go to the top of the page
 
+Quote Post
Зайцев Иван
сообщение May 6 2009, 07:03
Сообщение #81


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

Группа: Участник
Сообщений: 92
Регистрация: 23-07-08
Из: Екатеринбург
Пользователь №: 39 153



Цитата(_Алексей_ @ May 6 2009, 10:59) *
Программирую с помощью JTAG ICE MK2 по PDI.
Если бы было распаяно не правильно, то контроллер бы не программировался и не работала бы отладка.


Схему подключения МКII выложить можете?
Go to the top of the page
 
+Quote Post
_Алексей_
сообщение May 6 2009, 08:35
Сообщение #82





Группа: Новичок
Сообщений: 11
Регистрация: 16-02-09
Пользователь №: 44 925



MDD, спасибо за пример!
Действительно, надо было заглянуть в Application.

Рабочий пример на асме переключения на встроенный генератор 32МГц

;32 MHz Internal RC Oscillator Enable
ldi A,OSC_RC32MEN_bm
sts OSC_CTRL,A
;32 MHz Internal RC Oscillator Ready?
lds A,OSC_STATUS
sbrs A,1 ;OSC_RC32MRDY_bm
rjmp PC-3
;Configuration Change Protection Register. Protected IO register
ldi A,CCP_IOREG_gc
out CPU_CCP,A
;System Clock Selection. 32 MHz Internal RC Oscillator.
ldi A,CLK_SCLKSEL_RC32M_gc
sts CLK_CTRL,A

Не понятно как сейчас пользоваться командами SBRS и SBRС при использовании ATxmega32A4def.inc, т.к. SBRS и SBRС используют номер бита, а в ATxmega32A4def.inc биты преобразованы в hex-значения.

>Схему подключения МКII выложить можете?
Какая там схема... 2 проводка: RESET/PDI_CLK и PDI_DATA.
Go to the top of the page
 
+Quote Post
MDD
сообщение May 6 2009, 08:57
Сообщение #83


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

Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862



Цитата
>Схему подключения МКII выложить можете?
Какая там схема... 2 проводка: RESET/PDI_CLK и PDI_DATA.


Распайку разъема нужно смотреть в Студии: Help->AVR Tools User Guide
Хочу заметить, что на данный момент там цоколевка разъема именно под PDI для AVR ISP2 не приведена.
Ее нужно брать в разделе для JTAGICE mkII. Атмеловцы сделали распайку одинаковой с прицелом под STK600.
Go to the top of the page
 
+Quote Post
Зайцев Иван
сообщение May 6 2009, 09:07
Сообщение #84


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

Группа: Участник
Сообщений: 92
Регистрация: 23-07-08
Из: Екатеринбург
Пользователь №: 39 153



Спасибо
уже нашел и посмотрел
Go to the top of the page
 
+Quote Post
ReAl
сообщение May 13 2009, 19:30
Сообщение #85


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(MDD @ May 6 2009, 11:57) *
Хочу заметить, что на данный момент там цоколевка разъема именно под PDI для AVR ISP2 не приведена.

AVR studio 4.16 Build 628
Help/AVR Tools user guide -> AVRISP mkII User Guide/2:Hardware Description/2.5:Target Interface/2.5.2 PDI Interface

__________________________

Этой ATxmega128A1 чего нехватает, так это простейшего ремаппинга хотя бы SPI да UART-ы (дерущиеся по ногам между собой да с таймерами) хотя бы с пары портов на эти EBI-ческие, свободные при отсутствии внешней памяти, порты. Или хотя бы пару SPI бросить на порт К, который в режиме LPC2 свободен. А то всего много, а использовать в полный рост проблематично.

Ну ничего, про запрет прерывания на пару тактов после записи в SPL (отсутствие чего я лет пять назад в обсуждениях AVR записывал в их недостаток) сделали, может и это допатчат.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Огурцов
сообщение May 13 2009, 20:24
Сообщение #86


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Этого нехватало еще at90s1200. Вообще, матрица нужна, чтобы коммутировать любую фичу на любой пин. Не торопятся - еще лет десять потребуется.
Go to the top of the page
 
+Quote Post
Spider
сообщение Jun 22 2009, 10:07
Сообщение #87


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Ребят, а кто знает как заставить avr-gcc собирать код с 32х битными указателями? Ведь ATXMega потдерживает >64k памяти...
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jun 22 2009, 10:08
Сообщение #88


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
как заставить avr-gcc собирать код с 32х битными указателями?


Дык вроде пока никак.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Spider
сообщение Jun 22 2009, 11:03
Сообщение #89


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



А кто-нить знает как в ATXMega использовать внешнюю память больше 64к? AVR-gcc не знает ничего о поинтерах больше 16 бит sad.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jun 22 2009, 11:07
Сообщение #90


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Пользуйте IAR. Тот знает.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

23 страниц V  « < 4 5 6 7 8 > » 
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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