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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ALTERA USB BLASTER use as JTAG programmer, научить ALTERA USB BLASTER зашивать по JTAG AT91SAM7S*
Genadi Zawidowsk...
сообщение Nov 29 2009, 17:34
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Кто-нибудь знает, как научить ALTERA USB BLASTER зашивать по JTAG AT91SAM7S*

Никаких функций отладки не требуется, просто залить HEX или BIN во флэш.

Сообщение отредактировал Genadi Zawidowski - Nov 29 2009, 17:36
Go to the top of the page
 
+Quote Post
KRS
сообщение Nov 29 2009, 17:42
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Посмотрите OpenOCD
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Nov 29 2009, 18:20
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(KRS @ Nov 29 2009, 20:42) *
Посмотрите OpenOCD

Скачал, поставил. В хелпе на 128 страницах слов ALTERA или BLASTER не нашлось. Куда примерно смотреть?
Go to the top of the page
 
+Quote Post
KRS
сообщение Nov 29 2009, 20:17
Сообщение #4


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Genadi Zawidowski @ Nov 29 2009, 21:20) *
Скачал, поставил. В хелпе на 128 страницах слов ALTERA или BLASTER не нашлось. Куда примерно смотреть?

надо настроить примерно так
вот только decs и layout vid pid надо в инете поискать
interface ft2232
ft2232_device_desc "..."
ft2232_layout "..."
ft2232_vid_pid ...
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Nov 29 2009, 21:16
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Спасибо, со всеми параметрами кроме ft2232_layout я разберусь.
Кто-нибудь знает, как выглядит ft2232_layout для ALTERA USB BLASTER? Не найти.
Go to the top of the page
 
+Quote Post
msalov
сообщение Nov 30 2009, 07:19
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



 На сайте http://www.ixo.de/info/usb_jtag/ есть патч для openocd что б он умел общаться с altera usb blaster. Если будете пробовать - напишите о результатах, пожалуйста. Ещё проект UrJTAG поддерживает usb-blaster из коробки, но можно ли при помощи него зашивать SAMы не в курсе.
Go to the top of the page
 
+Quote Post
Terminator
сообщение Nov 30 2009, 07:26
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



В ALTERA USB BLASTER нет ft2232. С openocd ничего не получится.
Go to the top of the page
 
+Quote Post
KRS
сообщение Nov 30 2009, 09:31
Сообщение #8


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Terminator @ Nov 30 2009, 10:26) *
В ALTERA USB BLASTER нет ft2232. С openocd ничего не получится.

там стоит ftdi только vid pid другие!
и с openocd работать будет!
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 30 2009, 10:35
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



там ft245 а не 2232, и еще сердес на CPLD.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 1 2009, 04:48
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



UrJTAG с ALTERA USB BLASTER сконнектился - светодиод на адапетере загорелся.
Пока к плате не подключал, посему команды диагностики пока возвращают ошибку.
Осталось только разобраться, куда там hex/bin "засовывать".
Go to the top of the page
 
+Quote Post
KRS
сообщение Dec 1 2009, 09:28
Сообщение #11


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Genadi Zawidowski @ Dec 1 2009, 07:48) *
UrJTAG

IMHO это немного не тот тулз - он же вроде для работы с BSDL.
Что бы SAM7S прошить надо именно отладчик - загружается код в ОЗУ потом ему данные передаются он пишет их во флеш. OpenOCD имеет таку программу и умеет писать флеш сам - через телнет ему задается команда и имя файла.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 1 2009, 20:39
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Вот, при попытке сказать discover выдаёт вот это:

Код
jtag> cable usbblaster
Connected to libftd2xx driver.
jtag> detect
IR length: 4
Chain length: 1
Device Id: 00111111000011110000111100001111 (0x000000003F0F0F0F)
  Manufacturer: ARM
Cannot open c:\u\data/arm/PARTS
  Unknown part!
chain.c(149) Part 0 without active instruction
chain.c(200) Part 0 without active instruction
chain.c(149) Part 0 without active instruction
jtag> discover
Detecting IR length ... 4
Detecting DR length for IR 1111 ... 1
Detecting DR length for IR 0000 ... Warning: TDO seems to be stuck at 0
-1
Detecting DR length for IR 0001 ... 1
Detecting DR length for IR 0010 ... 4
Detecting DR length for IR 0011 ... Warning: TDO seems to be stuck at 0
-1
Detecting DR length for IR 0100 ... 1
Detecting DR length for IR 0101 ... 1
Detecting DR length for IR 0110 ... 1
Detecting DR length for IR 0111 ... 1
Detecting DR length for IR 1000 ... 1
Detecting DR length for IR 1001 ... 1
Detecting DR length for IR 1010 ... 1
Detecting DR length for IR 1011 ... 1
Detecting DR length for IR 1100 ... Warning: TDO seems to be stuck at 0
-1
Detecting DR length for IR 1101 ... 1
Detecting DR length for IR 1110 ... 32
jtag>


Соответственно, все файлы и каталоги на месте. Может, cygwin что-то не нравится?
Я об пропущеном
Цитата
ioperm package (a part of the standard Cygwin net installation)

It may be necessary to run the command "ioperm -i" to install the IOPERM.SYS driver in the system.


add: не помогло, перестановка urjtag при инсталированном cygwin & ioperm не помогло тоже...

Сообщение отредактировал Genadi Zawidowski - Dec 1 2009, 21:01
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 1 2009, 22:12
Сообщение #13


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



add2: с таким же выводом уже сталкивался писавший тут http://www.koka-in.org/~kensyu/handicraft/...y/20081110.html человек. Прочёл через гугль.
Что делать?
ps: с невозможностью прямой пршивки флеш через jtag согласен... Но как-то h-jtag это делает? Хотя, кажется, от помещает в память инструкции для прошивки... Наверное, скриптом придётся делать то же самое?

Сообщение отредактировал Genadi Zawidowski - Dec 1 2009, 22:33
Go to the top of the page
 
+Quote Post
KRS
сообщение Dec 3 2009, 14:10
Сообщение #14


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Genadi Zawidowski @ Dec 2 2009, 01:12) *
ps: с невозможностью прямой пршивки флеш через jtag согласен... Но как-то h-jtag это делает?

H-JTAG грузит в RAM программку и передает ей данные и комнады через DCC.
IAR - гурзит в рам программку и она с помощью специального API считывает данные с компа ( IAR записывает их в память обычным образом по брекпоинту) и пишет флеш
как шьет OpenOCD не смотрел, но думаю что грузит кусками флеш в ОЗУ и выполняет код записи..

В любом случае нужены функции именно отладчика! И программа записи флеша!
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 3 2009, 19:17
Сообщение #15


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



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

в даташите на процессор упоминается о двух режимах работы jtag - ICE и "стандартный" режим. hjtag только в режиме ICE работает (и у меня JTAGMODE наглухо на земле).
Как я понял, программирование "как микросхемы памяти" внутреннего flash процессора возможно во втором режиме.
Небольшая "непонятка" с тем, что после reset при единице на JTAGMODE - написано, что в режим serialprogramming через jtag процессор входит только при определённых состояниях ножек pgm modexxx. Никто не программировал процессор как "просто память"?

Сообщение отредактировал Genadi Zawidowski - Dec 3 2009, 19:18
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 3 2009, 21:29
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Кажется, начало находиться... Это оно? (кусочек инициализации от openocd):

Код
        soft_reset_halt
        # RSTC_CR : Reset peripherals
        mww 0xfffffd00 0xa5000004
        # disable watchdog
        mww 0xfffffd44 0x00008000
        # enable user reset
        mww 0xfffffd08 0xa5000001
        # CKGR_MOR : enable the main oscillator
        mww 0xfffffc20 0x00000601
        sleep 10
        # CKGR_PLLR: 96.1097 MHz
        mww 0xfffffc2c 0x00481c0e
        sleep 10
        # PMC_MCKR : MCK = PLL / 2 ~= 48 MHz
        mww 0xfffffc30 0x00000007
        sleep 10
        # MC_FMR: flash mode (FWS=1,FMCN=73)
        mww 0xffffff60 0x00490100
        sleep 100


То есть, мне надо писать в регистры так, как это делал бы процессор?
Go to the top of the page
 
+Quote Post
KRS
сообщение Dec 3 2009, 22:49
Сообщение #17


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Genadi Zawidowski @ Dec 4 2009, 00:29) *
То есть, мне надо писать в регистры так, как это делал бы процессор?

Это список команд которые дают на выполнение процессору.
Да насколько я помню у ARM7 можно прямо через JTAG заставить выполнить команду не записывая ее в память и результат так же считать ( т.е. шина ARM ядра просто в scan chain выведена) - так что можно и скрипт написать для urjtag на основе этого от openocd. Только Вам тогда надо на сайте ARM документацию на ARM Embeddedice, например ARM7TDMI Debug Architecture
http://infocenter.arm.com/help/topic/com.a...ug_appsnote.pdf
Но это такая - серьезная работа!
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Feb 23 2010, 18:44
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Кажется, скоро появится возможность исользовать Altera USB Blaster.
Сконфигурировать UrJtag для записи в мне так и не удалось...
Но новый openocd 0.4.0 теперь имеет поддержку адаптера Altera USB Blaster.
Пока тренируюсь на плате с at91sam7s32 и Raisonance USB JTAG.
Конфигурирование проходит, но для любой операции с flash требуется процессор приостановить... а в ответ получаю:

Цитата
Open On-Chip Debugger 0.3.1 (2009-11-13-16:13)
$URL$
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
30 kHz
srst_only srst_pulls_trst srst_gates_jtag srst_open_drain
Warn : use 'sam7s32.cpu' as target identifier, not '0'
Warn : The lowest supported JTAG speed is 375 KHz
Warn : The lowest supported JTAG speed is 375 KHz
Info : clock speed 375 kHz
Info : JTAG tap: sam7s32.cpu tap/device found: 0x3f0f0f0f (mfg: 0x787, part: 0xf0f0, ver: 0x3)
Info : Embedded ICE version 1
Warn : The lowest supported JTAG speed is 375 KHz
Warn : The lowest supported JTAG speed is 375 KHz
375 kHz
Info : JTAG tap: sam7s32.cpu tap/device found: 0x3f0f0f0f (mfg: 0x787, part: 0xf0f0, ver: 0x3)
Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
Error: invalid mode value encountered 1
Error: cpsr contains invalid mode value - communication failureexpected return code but got 'TARGET: sam7s32.cpu - Not halted'
Runtime error, file "openocd.cfg", line 78:


Может кто-нибудь поделиться скриптом для openocd, который бы просто записывал во внутренний flash процессора файл? Отладка через jtag не интересует.

Сообщение отредактировал Genadi Zawidowski - Feb 23 2010, 18:48
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 23 2010, 18:59
Сообщение #19


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Genadi Zawidowski @ Feb 23 2010, 23:44) *
Может кто-нибудь поделиться скриптом для openocd, который бы просто записывал во внутренний flash процессора файл?

prog-elf.bat:
Код
@echo off
set PATH=C:\tools\OpenOcd\bin;%PATH%
set INTERFACE=jlink.cfg
set TARGET=stm32f10x_128k_eval.cfg
@openocd -d0 -f interface/%INTERFACE% -f target/%TARGET% -c init -c targets -c "halt" -c "flash write_image erase %1" -c "verify_image %1" -c "reset run" -c shutdown


INTERFACE и TARGET подправьте под себя.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Feb 23 2010, 19:20
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Сообщение об ошибке не изменилось... Как и в ручном режиме (через telnet) - после выдачи halt получаю сообщение о том, что с cpsr не то значение и так далее...

Код
C:\user\dds2\TC1>openocd -d0 -f interface/rlink.cfg -f target/at91sam7sx.cfg -c init -c targets -c "halt" -c "flash write_image erase " -c "verify_image .\at91sam7s\tc1.elf" -c "reset run" -c shutdown
Open On-Chip Debugger 0.3.1 (2009-11-13-16:13)
$URL$
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
debug_level: 0
30 kHz
srst_only srst_pulls_trst srst_gates_jtag srst_open_drain
Error: invalid mode value encountered 1
Error: cpsr contains invalid mode value - communication failure
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
0* at91sam7s.cpu      arm7tdmi   little at91sam7s.cpu      unknown
Error: invalid mode value encountered 1
Error: cpsr contains invalid mode value - communication failure
Error: invalid mode value encountered 1
Error: cpsr contains invalid mode value - communication failure
Runtime error, file "command.c", line 473:


Да, эта же плата через тот же 20-пин разъём шъётся wiggler-ом через h-jtag без проблем.

Сообщение отредактировал Genadi Zawidowski - Feb 23 2010, 19:34
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 23 2010, 19:34
Сообщение #21


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Genadi Zawidowski @ Feb 24 2010, 00:20) *
Сообщение об ошибке не изменилось...

Значит не работаетsmile.gif Насколько я в курсе, поддержка rlink там в зачаточном состоянии. У меня есть плата с rlink, но там stm32, и прицеплен он по SWD (альтенратива JTAG), а его (SWD) openocd точно не поддерживает. Откуда вы взяли, что оно вообще заработает?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Feb 23 2010, 20:08
Сообщение #22


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(AHTOXA @ Feb 23 2010, 22:34) *
Откуда вы взяли, что оно вообще заработает?

Исходя из того, что reset из j-tag адаптера выходит (тестовая плата перезапускается) и остальные команды выполняются - о чём сообщает всякая диагностика подключёного к j-tag процессора. То есть, нижний уровень работает.

Да, openocd + wiggler тоже не грузят программу. Только hjtag + wiggler.

Вывод - я как-то не так обращаюсь с openocd. Но что ещё, кроме конфигурационных файлов, может влиять?

Сообщение отредактировал Genadi Zawidowski - Feb 23 2010, 20:20
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Feb 28 2010, 22:55
Сообщение #23


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Коллеги, ничего не сдвинулось с места...
Инсталирован openocd 0.3.1 _без каких_либо_изменений_в _конфигах (кроме адреса порта в parport.cfg).

Запуск командной строки приведённой ниже что с rlink, что с parport с классическим wiggler выдяёт практически одинаковые сообщения:
Код
C:\user\dds2\TC1>openocd -d1 -f interface/rlink.cfg -f target/at91sam7sx.cfg -c init -c targets -c "halt" -c "flash write_image erase " -c "verify_image .\at91sam7s\tc1.elf" -c "reset run" -c shutdown
Open On-Chip Debugger 0.3.1 (2009-11-13-16:13)
$URL$
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
debug_level: 1
srst_only srst_pulls_trst srst_gates_jtag srst_open_drain
Warn : use 'at91sam7s.cpu' as target identifier, not '0'
Error: 0 is not a supported speed
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
0* at91sam7s.cpu      arm7tdmi   little at91sam7s.cpu      running
Error: invalid mode value encountered 1
Error: cpsr contains invalid mode value - communication failure
Runtime error, file "command.c", line 473:

jtag_speed или jtag_khz ставил разные... При других debug level видно, что всё начинается после init.
Тот же wiggler при работе из-под hjtag без проблем делает всё что надо и плата программируется. (не аппаратура виновата, похоже).
Кто-нибудь может прислать работающий вариант конфигов и командного файла, прошивающего flash контроллера at91sam7s-какогоугодно или at91sam9xe512 ? Кроме того, будет интересно узнать с какой версией openocd идёт успешное программирование.

Сообщение отредактировал Genadi Zawidowski - Feb 28 2010, 22:59
Go to the top of the page
 
+Quote Post
A.P.
сообщение Oct 7 2012, 16:06
Сообщение #24


Участник
*

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



Три года прошло - сдвиги какие-нибудь есть?
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 7 2012, 21:16
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(A.P. @ Oct 7 2012, 20:06) *
Три года прошло - сдвиги какие-нибудь есть?

На следующий день я научил работать STK-200 с h-jtag (http://electronix.ru/forum/index.php?showtopic=60978), потом купил sam-ice (http://electronix.ru/forum/index.php?showtopic=77054) (потому, что это сразу пошёл и купил), потом купил стартеркитовский девайс в чёрной котробочке (пара недель почтой). С тех пор и по сей день прошиваю флэши процессоров через j-flash arm, хотелось бы конечно командную строку, но как-то интерес к openocd и альтеровскому байтбластеру поутих. К стати, работающего скрипта для прошивки внутреннего флэша через тот же segger j-tag тоже не попалось.
АНТОХА, Ваш скрипт у меня и с сеггером не работает.

Сообщение отредактировал Genadi Zawidowski - Oct 7 2012, 21:23
Go to the top of the page
 
+Quote Post
ReAl
сообщение Oct 8 2012, 05:40
Сообщение #26


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

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



Странно.
Вот таким J-Link в вот такую плату SK-MLPC1768 для проверки иногда зашиваю исходное содержимое флеша такой командой.
Код
openocd -f interface/jlink.cfg -f ./lpc1766.cfg -c init -c targets -c "reset_config srst_only" -c "reset init"\
-c halt -c "flash write_image erase original.bin" -c "reset run" -c shutdown

При работе шьётся из редактора через Makefile, но там то же самое набирается из настроек проекта.
Собственно, из Makefile от AHTOXA для scmRTOS/Cortex-M3 и было ©тырено, только управление сбросом добавил.

p.s. Это всё в линуксе (убунты 10.04/64 и 12.04/32) самосборным OpenOCD (время от времени git pull и пересобираю).


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
A.P.
сообщение Nov 28 2012, 13:56
Сообщение #27


Участник
*

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



Я таки заставил работать связку altera usb_blaster + openocd + stm32
Если кому интересно вот мой конфиг:
Код
telnet_port 4444
interface usb_blaster
usb_blaster_vid_pid 0x09fb 0x6001
usb_blaster_device_desc "USB-JTAG-IF"
source [find target/stm32f1x.cfg]
adapter_khz 3000

А вот команды для gdb
Код
target remote :3333
monitor reset init
load Debug/test.elf

Все отлично работает без сбоев. Только скорость удручает. Зато решение универсальное. 08.gif

P.S. openocd 0.6.1


Сообщение отредактировал A.P. - Nov 28 2012, 13:59
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:59
Рейтинг@Mail.ru


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