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

 
 
5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> XMEGA программатор
dimka76
сообщение Jan 11 2010, 09:40
Сообщение #1


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Исходники тут ( схемы нет )

http://www.fourwalledcubicle.com/files/MyU...FA%20091223.zip


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 11 2010, 10:07
Сообщение #2


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

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



Я так понимаю, в качестве железяки используется AT90USB1287 (или чего-там), которая стоит на плате XPlain. Это судя по define'ам в исходнике.


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


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

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



Железка - любая USB AVR.
http://www.fourwalledcubicle.com/AVRISP.php
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 11 2010, 11:22
Сообщение #4


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

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



Гыгы...

Цитата
For device pinout information, build the Doxygen documentation from the source by executing "make doxygen". The resulting documentation will be located in the /Documentation/html/ directory of the source folder.


У кого под рукой есть подходящий тулчейн? Соберите под AT90USB162, а?


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


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

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



Оно под WinAVR, да и схемка платы нужна же...
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 11 2010, 11:47
Сообщение #6


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

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



Цитата
Оно под WinAVR


Если быть точным, то собирается гнутым тулчейном. Я не держу таких, потому и прошу.

Цитата
да и схемка платы нужна же...


make doxygen создаст .html-файл с документацией. Там будет написано назначение пинов. Выкапывать их из мейкфайла мне лень.


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


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

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



Нихрена там не написано 8)

Сообщение отредактировал Dx! - Jan 11 2010, 12:06
Прикрепленные файлы
Прикрепленный файл  main.html ( 9.08 килобайт ) Кол-во скачиваний: 2393
 
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 11 2010, 12:17
Сообщение #8


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

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



Цитата
Нихрена там не написано 8)


Все понятно (ибо все написано). Конфиги таки надо править. Ладно, выпадет свободный вечер, соберу.


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


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



В режиме PDI обмен похоже по USART осуществляется

Код
void PDITarget_SendByte(const uint8_t Byte)
{
#if defined(PDI_VIA_HARDWARE_USART)
    /* Switch to Tx mode if currently in Rx mode */
    if (!(IsSending))
    {
        PORTD  |=  (1 << 3);
        DDRD   |=  (1 << 3);

        UCSR1B |=  (1 << TXEN1);
        UCSR1B &= ~(1 << RXEN1);
        
        IsSending = true;
    }
    
    /* Wait until there is space in the hardware Tx buffer before writing */
    while (!(UCSR1A & (1 << UDRE1)));
    UCSR1A |= (1 << TXC1);
    UDR1    = Byte;
#else ....................

а в режиме ISP аппаратный SPI, в качестве выходной ножки ресет - ножка PB4

файл LUFA 091223\Projects\AVRISP\makefile

Код
# Place -D or -U options here for C sources
CDEFS  = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS)
CDEFS += -DRESET_LINE_PORT=PORTB
CDEFS += -DRESET_LINE_PIN=PINB
CDEFS += -DRESET_LINE_DDR=DDRB
CDEFS += -DRESET_LINE_MASK="(1 << 4)"
CDEFS += -DVTARGET_ADC_CHANNEL=2
CDEFS += -DENABLE_ISP_PROTOCOL
CDEFS += -DENABLE_PDI_PROTOCOL


в этом же файле и контроллер прописан

Код
# MCU name
MCU = at90usb1287


А в файле LUFA 091223\LUFA\Drivers\USB\LowLevel\LowLevel.h
целый букет поддерживаемых контроллеров
Код
/* Preprocessor Checks and Defines: */
        #if !defined(F_CLOCK)
            #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled input clock in your project makefile.
        #endif
    
        #if (F_CLOCK == 8000000)
            #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \
                 defined(__AVR_ATMEGA8U2__) || defined(__AVR_ATMEGA16U2__))
                #define USB_PLL_PSC                0
            #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
                #define USB_PLL_PSC                0
            #elif (defined(__AVR_AT90USB646__)  || defined(__AVR_AT90USB1286__) || defined(__AVR_ATmega32U6__))
                #define USB_PLL_PSC                ((1 << PLLP1) | (1 << PLLP0))
            #elif (defined(__AVR_AT90USB647__)  || defined(__AVR_AT90USB1287__))
                #define USB_PLL_PSC                ((1 << PLLP1) | (1 << PLLP0))
            #endif
        #elif (F_CLOCK == 16000000)
            #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \
                 defined(__AVR_ATMEGA8U2__) || defined(__AVR_ATMEGA16U2__))
                #define USB_PLL_PSC                (1 << PLLP0)
            #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
                #define USB_PLL_PSC                (1 << PINDIV)
            #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_ATmega32U6__))
                #define USB_PLL_PSC                ((1 << PLLP2) | (1 << PLLP1))
            #elif (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__))
                #define USB_PLL_PSC                ((1 << PLLP2) | (1 << PLLP0))
            #endif
        #endif
        
        #if !defined(USB_PLL_PSC)
            #error No PLL prescale value available for chosen F_CPU value and AVR model.
        #endif


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 11 2010, 12:54
Сообщение #10


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

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



Да это все понятно. Контроллер - заменить на 90USB162, порт выбрать подходящий и все, зашибись smile.gif

Цитата
В режиме PDI обмен похоже по USART осуществляется


Ну видимо есть и второй способ, судя по #ifdef.


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


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(Rst7 @ Jan 11 2010, 15:54) *
Ну видимо есть и второй способ, судя по #ifdef.


А второй способ это программный ногодрыг UARTовскими ногами ))).

На мой взгляд, удобнее было бы использовать USART в обоих случаях (PDI & ISP), только в режиме ISP USART переключить в SPI mode.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 11 2010, 13:06
Сообщение #12


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

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



Цитата
На мой взгляд, удобнее было бы использовать USART в обоих случаях (PDI & ISP), только в режиме ISP USART переключить в SPI mode.


Мне - пофиг. Абы работало smile.gif


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


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(Rst7 @ Jan 11 2010, 16:06) *
Мне - пофиг. Абы работало smile.gif


И путаться в двух разъемах


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 11 2010, 13:13
Сообщение #14


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

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



Цитата
И путаться в двух разъемах


Не поверите smile.gif В одном разъеме 5 ножек, в другом - 3 smile.gif


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


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(Rst7 @ Jan 11 2010, 16:13) *
Не поверите smile.gif В одном разъеме 5 ножек, в другом - 3 smile.gif


Один разъем лучше двух biggrin.gif

Цитата
Так оставьте ненужные споры! Я себе уже все доказал


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post

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

 


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


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