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

 
 
> Начало работы with scmRTOS, Несколько вопросиков
URANst
сообщение Feb 20 2008, 14:56
Сообщение #1


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

Группа: Новичок
Сообщений: 83
Регистрация: 2-02-06
Пользователь №: 13 912



Хочется научиться работать с этой штукой - scmRTOS & AVR(Atmega8) & IAR 4.30A ! Почитал темы которые есть на форуме, почитал User's Manual v2. Возникло некторое количество вопросов:
1. Какая последовательность создания проекта: мои предположения - создаем в IAR новый проект, тискаем добавить файлы в проект и добавляем OS_Kernel.cpp , OS_Services.cpp , OS_Target_asm.s90 , OS_Target_cpp.cpp , usrlib.cpp. В maim.cpp пишем
Код
#include <scmRTOS.h>

. Затем каким то образом нужно создать самому как я понял scmRTOS_TARGET_CFG.h и scmRTOS_CONFIG.h, но как не ясно или их нужно тупо скопировать из примера автора и если что нада то менять.
2. Почему в примерах автор добавляет
Код
void OS::SystemTimerUserHook() { }
void OS::IdleProcessUserHook() { }


Так нужно делать всегда ?
3. Дальше >> понятно что для AVR передачу управления можно осуществить сгенерировав прерывание например от компоратора как описано в документации, но непонятно как нужно оформить функцию обработки этого прерывания, и чем она будет отличаться от функции обработки других прерываний.

О взаимодействии между потоками пока вроде понятно.

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

Мог написать что - нибудь глупое, потому как в круг моих понятий scmRTOS пока входит очень туманно или вообще не входит.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alux
сообщение Mar 4 2008, 14:13
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



При включении моих исходников проекта на Си в проект smcRTOS (пример 1-EventFlag)возникла проблема.
Код
Error[e18]: Range error,  
PC offset out of range. Valid range is -4096 (-0x1000) to 4094 (0x0FFE).
File: D:\...\scmRTOS\AVR\OS_Target_asm.s90, Line: 234  
Source:      xjmp ContextSwitcher_ISR
  Where $ = #no label found# + 0x5C  [0x5C]
            in module "scmRTOS_Asm" (D:\...\1-EventFlag\Release\Obj\OS_Target_asm.r90),
            offset 0x5C in segment part 1, segment INTVEC
  What: #no label found# - ($ + 2) [0x1388]
  Allowed range: 0xFFFFF000 - 0xFFF
  Operand: #no label found# [0x13e6]
           in module scmRTOS_Asm (D:\...\1-EventFlag\Release\Obj\OS_Target_asm.r90),
           Offset 0x0 in segment part 2, segment CODE

Мой проект пока состоит из последовательного вызовов функций инициализации различной переферии. Ошибка возникает при подключении lcd_Init(); Отдельно мой проект отлажен под Мега324P. Занимал около 20кБ ROM и около 500 байт RAM. Пробовал изменить на Мега 644P и изменить размеры CSTACK, RSTACK. Не помогло. Как решить эту проблему?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 4 2008, 16:02
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(alux @ Mar 4 2008, 16:13) *
Мой проект пока состоит из последовательного вызовов функций инициализации различной переферии.
Каким-то образом обработчик прерывания переключения контекста оказывается в месте, куда не "дотягивается" xjmp из области векторов. Судя по ограничению +/- 4К вместо макроса xjmp подставляется RJMP, хотя нужен JMP. Глянул в исходники:
Код
#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 1)
#define xcall   rcall
#define xjmp    rjmp
#else
#define xcall   call
#define xjmp    jmp
#endif
Где определяется A90_PROC_OPTION я не нашел - ни в исходниках, ни в описании ассемблера. Неопределенный символ считается равным нулю. Можно предположить, что перед этим должна быть (утерянная) строка
Код
#define A90_PROC_OPTION   ((__TID__ >> 4) & 0x0F)
dxp завтра разберется, откуда вылезла эта бага.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
dxp
сообщение Mar 5 2008, 04:55
Сообщение #4


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Сергей Борщ @ Mar 4 2008, 22:02) *
Где определяется A90_PROC_OPTION я не нашел - ни в исходниках, ни в описании ассемблера. Неопределенный символ считается равным нулю. Можно предположить, что перед этим должна быть (утерянная) строка
Код
#define A90_PROC_OPTION   ((__TID__ >> 4) & 0x0F)

Действительно, косяк. Как он вкрался, не помню хоть убей. Пофиксено.

P.S. Лишний раз "порадовался" "красоте" иаровского подхода - поменял имя МК и началось... Регистра TIMSK там уже нет, вместо него есть TIMSK0 и т.д. Я понимаю, что одного регистра не хватает, но зачем было имя-то менять? Пусть бы для совместимости осталось. То же самое касается TCCR0, которого уже тоже нет, а есть два с буквами на конце. Почему бы было не оставить для совместимости старое имя? Не понимаю. И уж зачем вообще было менять имя вектора ANA_COMP_vect на ANALOG_COMP_vect? А если заменили, то и вставили бы код для совместимости. И такие косяки у них с незапамятных времен. Такое впечатление, что о портировании кода даже внутри семейства они вообще не думают, а заголовки для разных процов лабают разные люди, которые никак свои действия друг с другом не координируют. sad.gif

Про упомянутое

/* SREG */
#define I 7
#define T 6
#define H 5
#define S 4
#define V 3
#define N 2
#define Z 1
#define C 0

я вообще молчу - яркий образчик бездумного подхода и безответственности. Причем что интересно - это не у всех процов есть такое определение, а только у избранного круга:

iom164.h
iom324.h
iom644.h
iom644p.h
iopwm2.h
iopwm3.h

Т.е. больше похоже на чью-то личную инициативу, нежели на общий подход. Бардак, короче. sad.gif


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
alux
сообщение Mar 5 2008, 07:36
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Цитата(dxp @ Mar 5 2008, 08:55) *
Регистра TIMSK там уже нет, вместо него есть TIMSK0. Бардак, короче. sad.gif
Вот только мне не понятно для чего добавили 0 в имена битов SPI ?
Цитата
/* SPSR */
#define SPIF0 7
#define WCOL0 6
#define SPI2X0 0

/* SPCR */
#define SPIE0 7
#define SPE0 6
#define DORD0 5
#define MSTR0 4
#define CPOL0 3
#define CPHA0 2
#define SPR01 1
#define SPR00 0
Не может же быть несколько SPI-интерфейсов на борту... Или может? Мне кажется, что это они скорее сделали по привычке... Хотя в даташите указаны "правильные" имена. По поводу регистра TIMSK0... Почему не исправлено? Добавить то всего три строчки.
Цитата
#ifndef TIMSK0
#define TIMSK TIMSK0
#endif

Если гора не идет к Магомету, то Магомет идет к горе wink.gif
Цитата(dxp @ Mar 5 2008, 08:55) *
Действительно, косяк. Как он вкрался, не помню хоть убей.
Еще не начал работать с OS, а уже отлавливаю косяки. То ли еще будет wink.gif
Цитата(IgorKossak @ Mar 5 2008, 00:09) *
Сдаётся мне, что если откроете overview завтра, то там окажется завтрашнее число. cool.gif
Точно smile.gif
Цитата(alux @ Mar 4 2008, 20:09) *
Имеет ли значение уровень оптимизации компилятора для smcRTOS ?

Дело в том, что у jacOS есть примечание для IAR C/EC++ for AVR 4.11A/W32 :
Цитата
Вероятны проблемы при установке опций оптимизации Code motion (?) Cross Call (?)

И последнее. Рискну задать глупый вопрос. Если в проекте используется прерывание, но оно не является источником события для процессов, обязательно ли обработчик прерывания должен иметь тип OS_INTERRUPT и на входе ISR создавать объект OS::TISRW_SS ISRW ? И можно ли разрешать глобальные прерывания до OS::Run() ?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 5 2008, 10:49
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(alux @ Mar 5 2008, 09:36) *
Вот только мне не понятно для чего добавили 0 в имена битов SPI ?
Не может же быть несколько SPI-интерфейсов на борту... Или может?
Я думаю что может. И скорее всего добавление 0 вызвано тем, что они начали таки движение в сторону унификации. Для новых кристаллов биты и регистры будут "пронумерованы" а старые потихоньку вымрут. Процесс перехода всегда сложный, но что поделать...
Цитата(alux @ Mar 5 2008, 09:36) *
Еще не начал работать с OS, а уже отлавливаю косяки. То ли еще будет wink.gif
Вы же понимаете, что мы не можем проверить наши исходники на всех возможных процессорах sad.gif Мы можем только предполагать, что раз программа работает на ATmegaX (LPC2xxx, BFxxx и т.д.), то она будет работать и на ATmegaY (LPC2yyy, BFyyy и т.д.), потому что все AVR (LPC2, BF и т.д.) похожи. К сожалению, они похожи не во всем, отсюда и такие косяки. Чем больше их найдете вы - тем меньше их останется тем, кто будет использовать ее после вас. Кроме того, я, например, уже не работаю с ADuC70xx и STR71x, порты для которых написал. Для STR71x у меня не осталось железа, на котором я мог бы проверить вносимые изменения. Поэтому исправления найденных в других портах багов или улучшения переносятся в этот порт без проверки. Вы бы что предпочли - старую версию, в которой есть известные глюки или новую, в которой они исправлены, но, возможно, внесены новые? wink.gif

Цитата(alux @ Mar 5 2008, 09:36) *
Рискну задать глупый вопрос. Если в проекте используется прерывание, но оно не является источником события для процессов, обязательно ли обработчик прерывания должен иметь тип OS_INTERRUPT и на входе ISR создавать объект OS::TISRW_SS ISRW ?
При отсуствиии в этом прерывании разрешения вложенных - нет, не обязательно. Но помните о размере стека - прерывание будет работать на стеке текущего процесса, значит стеки всех процессов надо будет увеличить на размер, требуемый прерыванию. Если использовать ISRW_SS, то для прерываний организуется отдельный стек, но за это надо платить увеличением времени обработки прерывания.
Цитата(alux @ Mar 5 2008, 09:36) *
И можно ли разрешать глобальные прерывания до OS::Run() ?
Если в разрешаемых прерываниях не используются сервисы ОС, их обработчики не имеют OS::TISRW(__SS), то можно, но зачем?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Сергей С.
сообщение Mar 6 2008, 06:53
Сообщение #7





Группа: Новичок
Сообщений: 9
Регистрация: 15-02-08
Пользователь №: 35 076



Цитата(Сергей Борщ @ Mar 5 2008, 14:49) *
Но помните о размере стека - прерывание будет работать на стеке текущего процесса, значит стеки всех процессов надо будет увеличить на размер, требуемый прерыванию.


Как узнать максимальное потребление стека задачами? Можно ли проинициализировать все стеки каким-либо значением вроде 0xA5, как в FreeRTOS, и главное, как сделать это проще всего в scmRTOS? Или например в бутлоадере забить всю память байтами 0xA5, а затем прыгать на начало основной программы?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 6 2008, 13:26
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Сергей С. @ Mar 6 2008, 08:53) *
Как узнать максимальное потребление стека задачами? Можно ли проинициализировать все стеки каким-либо значением вроде 0xA5, как в FreeRTOS, и главное, как сделать это проще всего в scmRTOS?
Память стеков уже по умолчанию проинициализирована значением, только не 0xA5 а 0. В портах для ARM на верхушке контекста лежит содержимое CPSR, который не может быть равен нулю (конструкция у него такая). Поэтому я смотрю визуально (отладчиком или через терминал), где первый "не-ноль" - там было занято. Если есть желание забить каким-то своим значением - допишите memset в конструктор TProcess.
Цитата(Сергей С. @ Mar 6 2008, 08:53) *
Или например в бутлоадере забить всю память байтами 0xA5, а затем прыгать на начало основной программы?
Не пройдет - стеки попадают в область глобальных неинициализированных переменных и cstartup обнуляет эту область.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Сергей С.
сообщение Mar 6 2008, 20:14
Сообщение #9





Группа: Новичок
Сообщений: 9
Регистрация: 15-02-08
Пользователь №: 35 076



Цитата(Сергей Борщ @ Mar 6 2008, 17:26) *
Если есть желание забить каким-то своим значением - допишите memset в конструктор TProcess.


Всего одна строчка кода - а сколько пользы! Вся память как на ладони. Спасибо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- URANst   Начало работы with scmRTOS   Feb 20 2008, 14:56
- - dxp   Цитата(URANst @ Feb 20 2008, 20:56) . Зат...   Feb 21 2008, 04:11
- - URANst   Вот взял из примера , это обработчик прерывания, к...   Feb 21 2008, 06:50
- - URANst   С предыдущим вроде разобрался, все оказалось проще...   Feb 21 2008, 11:55
- - IgorKossak   ENABLE_NESTED_INTERRUPTS(); - разрешить вложенные ...   Feb 21 2008, 12:14
- - URANst   Так получается что 1 прерывание сис таймера - это ...   Feb 21 2008, 12:36
|- - spf   Цитата(URANst @ Feb 21 2008, 17:36) Так п...   Feb 21 2008, 14:14
- - alux   Тоже решил попробовать эту ОС. Долго не мог решитс...   Mar 2 2008, 17:02
|- - dxp   Цитата(alux @ Mar 2 2008, 23:02) Выдает п...   Mar 3 2008, 04:55
- - alux   Так что же мне делать в этом конкретном случае кро...   Mar 3 2008, 06:53
|- - IgorKossak   Цитата(alux @ Mar 3 2008, 08:53) Может не...   Mar 3 2008, 11:53
|- - alux   Цитата(IgorKossak @ Mar 3 2008, 15:53) Су...   Mar 4 2008, 15:43
|- - IgorKossak   Цитата(alux @ Mar 4 2008, 17:43) В overvi...   Mar 4 2008, 20:09
|- - dxp   Цитата(alux @ Mar 5 2008, 13:36) Почему н...   Mar 5 2008, 11:14
|- - Stas633   И снова "уровень оптимизации".. / см....   Jul 30 2008, 18:42
- - alux   Имеет ли значение уровень оптимизации компилятора ...   Mar 4 2008, 16:09
- - alux   Мне не понятно, почему для генерации программного ...   Mar 9 2008, 21:15
|- - Сергей Борщ   Цитата(alux @ Mar 9 2008, 23:15) Мне не п...   Mar 10 2008, 01:42
|- - alux   Цитата(Сергей Борщ @ Mar 10 2008, 05:42) ...   Mar 10 2008, 04:40
|- - ReAl   Цитата(alux @ Mar 10 2008, 06:40) Почему?...   Mar 10 2008, 09:08
|- - alux   Спасибо за разъяснение. Маленькое уточнение: sbi P...   Mar 10 2008, 09:56
|- - ReAl   Цитата(alux @ Mar 10 2008, 11:56) Маленьк...   Mar 10 2008, 15:36
|- - alux   Цитата(ReAl @ Mar 10 2008, 19:36) Глянул ...   Mar 10 2008, 16:00
|- - Сергей Борщ   Цитата(alux @ Mar 10 2008, 18:00) Но это ...   Mar 10 2008, 16:52
- - alux   Возникло пару вопросов. Допустим, есть три процесс...   Mar 11 2008, 12:37
|- - dxp   Цитата(alux @ Mar 11 2008, 18:37) И второ...   Mar 11 2008, 14:03
|- - Сергей Борщ   Цитата(alux @ Mar 11 2008, 14:37) 3) Посл...   Mar 11 2008, 16:48
|- - alux   Цитата(Сергей Борщ @ Mar 11 2008, 20:48) ...   Mar 11 2008, 20:31
|- - Сергей Борщ   Цитата(alux @ Mar 11 2008, 22:31) Так изн...   Mar 11 2008, 22:31
|- - alux   Цитата(Сергей Борщ @ Mar 12 2008, 02:31) ...   Mar 12 2008, 06:48
|- - Сергей Борщ   Цитата(alux @ Mar 12 2008, 08:48) Как бы ...   Mar 12 2008, 08:06
|- - dxp   Цитата(alux @ Mar 12 2008, 12:48) Согласе...   Mar 12 2008, 09:06
- - alux   Реализация меню - это отдельная тема для разговора...   Mar 12 2008, 10:45
|- - Сергей Борщ   Цитата(alux @ Mar 12 2008, 12:45) PS. Нич...   Mar 12 2008, 12:30
|- - alux   Спасибо, Сергей. Сам бы до этого не додумался. ...   Mar 12 2008, 13:24
|- - Сергей Борщ   Цитата(alux @ Mar 12 2008, 15:24) В конст...   Mar 12 2008, 16:26
- - alux   Сделал так как Сергей сказал. За исключением того,...   Mar 12 2008, 16:57
- - alux   Проблема с повтором решена. Спасибо Сергею Борщу. ...   Mar 14 2008, 08:55
- - alux   Как узнать точное использование стека процессами? ...   Mar 18 2008, 07:50
|- - dxp   Цитата(alux @ Mar 18 2008, 13:50) Как узн...   Mar 18 2008, 09:02
|- - alux   Цитата(dxp @ Mar 18 2008, 13:02) Сергей Б...   Mar 18 2008, 09:38
||- - dxp   Цитата(alux @ Mar 18 2008, 15:38) Что так...   Mar 18 2008, 13:13
|- - alux   Цитата(dxp @ Mar 18 2008, 13:02) После эт...   Mar 18 2008, 15:19
|- - dxp   Цитата(alux @ Mar 18 2008, 21:19) Уж изви...   Mar 19 2008, 04:32
|- - alux   Цитата(dxp @ Mar 19 2008, 08:32) В данном...   Mar 19 2008, 07:26
|- - dxp   Цитата(alux @ Mar 19 2008, 13:26) Что зна...   Mar 19 2008, 09:42
|- - alux   Цитата(dxp @ Mar 19 2008, 12:42) Там все ...   Jun 28 2008, 08:38
|- - Сергей Борщ   Цитата(alux @ Jun 28 2008, 11:38) Можно х...   Jun 28 2008, 12:29
|- - alux   Цитата(Сергей Борщ @ Jun 28 2008, 15:29) ...   Jun 28 2008, 18:11
|- - alux   Как определить размеры потребления RSTACK процесса...   Apr 14 2009, 03:03
|- - dxp   Цитата(alux @ Apr 14 2009, 10:03) Как опр...   Apr 14 2009, 06:04
|- - alux   Цитата(dxp @ Apr 14 2009, 09:04) Иначе (е...   Apr 14 2009, 11:09
|- - dxp   Цитата(alux @ Apr 14 2009, 18:09) Не рабо...   Apr 15 2009, 06:41
- - alux   Обнаружил такую проблему. Если два процесса ждут о...   Mar 19 2008, 13:15
|- - dxp   Цитата(alux @ Mar 19 2008, 19:15) Обнаруж...   Mar 20 2008, 07:17
|- - alux   Цитата(dxp @ Mar 20 2008, 11:17) Возможно...   Mar 21 2008, 09:07
|- - dxp   Цитата(alux @ Mar 21 2008, 15:07) Заменил...   Mar 21 2008, 09:27
- - alux   Попробовал создать отдельный ef2 для TProc2 и Код...   Mar 21 2008, 10:39
|- - dxp   Цитата(alux @ Mar 21 2008, 16:39) Попробо...   Mar 21 2008, 13:58
- - alux   Отладчиком (JTAG) не пользуюсь по причине отсутств...   Mar 21 2008, 14:46
|- - dxp   Цитата(alux @ Mar 21 2008, 20:46) Отладчи...   Mar 22 2008, 07:38
- - alux   Вроде нашел еще один свой прокол : Скорость поступ...   Mar 22 2008, 11:28
- - alux   Прошу прощения за невнимательность. Проблема с обн...   Mar 23 2008, 15:25
|- - IgorKossak   Цитата(alux @ Mar 23 2008, 17:25) ... в р...   Mar 25 2008, 09:50
- - sevstels   Хочу поинтересоваться, это только у меня не запуск...   Mar 25 2008, 09:11
- - sevstels   Тестировал на примерах scmRTOS v3 AVR. Изменил тол...   Mar 25 2008, 10:43
- - IgorKossak   sevstels, приложите к сообщению файл проекта (.ewp...   Mar 25 2008, 11:49
- - sevstels   Пока пытаюсь найти причину сам. Вот нашёл вот тут:...   Mar 26 2008, 05:27
|- - IgorKossak   Цитата(sevstels @ Mar 26 2008, 07:27) DEN...   Mar 26 2008, 06:23
- - Ykidia   Здравствуйте! Есть небольшой проектик под scmR...   Mar 26 2008, 10:33
|- - spf   Цитата(Ykidia @ Mar 26 2008, 15:33) Что н...   Mar 26 2008, 10:42
- - Ykidia   Хорошо-хорошо, уже создал. Зачем кричать-то?   Mar 26 2008, 11:38
- - sevstels   Игорь, в общем, ничего к сожалению не получается. ...   Mar 27 2008, 03:48
|- - IgorKossak   Цитата(sevstels @ Mar 27 2008, 05:48) Иго...   Mar 27 2008, 06:45
|- - sevstels   Цитата(IgorKossak @ Mar 27 2008, 15:45) Е...   Apr 1 2008, 04:55
- - Stas633   Прошу прощения за предыдущий пост! (стыдно, н...   Jul 30 2008, 20:30
- - Copypaster   При отладке демо-приложения в IAREW v 4.11b для MS...   Jul 28 2009, 11:16
|- - IgorKossak   Цитата(Copypaster @ Jul 28 2009, 14:16) П...   Jul 28 2009, 12:36
- - Embedder74   Начал разбираться с scmRTOS.3.10. Ответьте, плз. н...   Mar 24 2010, 10:09
|- - AHTOXA   Цитата(Embedder74 @ Mar 24 2010, 15:09) Н...   Mar 24 2010, 12:51
|- - dxp   Цитата(Embedder74 @ Mar 24 2010, 16:09) Н...   Mar 24 2010, 15:04
|- - Embedder74   Цитата(dxp @ Mar 24 2010, 18:04) Как это ...   Mar 25 2010, 06:50
- - Embedder74   Пользуясь случаем, хочу спросить у DXP. Когда прим...   Mar 25 2010, 09:03
|- - dxp   Цитата(Embedder74 @ Mar 25 2010, 15:03) П...   Mar 26 2010, 07:21
- - jorikdima   Ну и я что ли спрошу. Почему в проекте, написанном...   Mar 26 2010, 08:46
- - dxp   Цитата(jorikdima @ Mar 26 2010, 14:46) По...   Mar 26 2010, 12:54
- - jorikdima   Цитата(dxp @ Mar 26 2010, 15:54) Потому, ...   Mar 26 2010, 13:24
- - Сергей Борщ   Цитата(jorikdima @ Mar 26 2010, 15:24) По...   Mar 26 2010, 13:40
- - dxp   Цитата(jorikdima @ Mar 26 2010, 19:24) Со...   Mar 26 2010, 14:48
- - jorikdima   Цитата(dxp @ Mar 26 2010, 17:48) Кстати, ...   Mar 27 2010, 06:51
- - dxp   Цитата(jorikdima @ Mar 27 2010, 12:51) Пр...   Mar 27 2010, 13:31
- - jorikdima   Цитата(dxp @ Mar 27 2010, 16:31) А что, у...   Mar 28 2010, 10:45
3 страниц V   1 2 3 >


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

 


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


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