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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> SDRAM + stm32f429, не хватило памяти
jcxz
сообщение Jun 27 2018, 13:24
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ Jun 27 2018, 16:20) *
Но я бы попробовал подрезать app_flash в пользу rom, уговорив разработчиков.

Ekka так и не показала образ памяти в 'app_flash'. У меня есть стойкое подозрение, что бОльшая часть того региона заполнена FF и проблема выеденного яйца не стОит.
Не представляю - чего такого можно написать на 1МБ на МК? Разве что картинок понасовать.....
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 27 2018, 14:21
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Jun 27 2018, 16:24) *
У меня есть стойкое подозрение, что бОльшая часть того региона заполнена FF и проблема выеденного яйца не стОит.

Возможно. Но у меня, к примеру, корректность прошивки контролируется путем подсчета CRC32 по всей отведенной для нее памяти.
Т.е. вполне могут быть FF, а в конце 4 байта CRC32.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 27 2018, 19:29
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ Jun 27 2018, 17:21) *
Возможно. Но у меня, к примеру, корректность прошивки контролируется путем подсчета CRC32 по всей отведенной для нее памяти.
Т.е. вполне могут быть FF, а в конце 4 байта CRC32.

Глупо считать CRC для мегабайта байтов заполнения. Умные люди CRC располагают в пределах образа прошивки или сразу за его концом. Хотя чудаки всякие бывают....
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 28 2018, 05:26
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Jun 27 2018, 22:29) *
Глупо считать CRC для мегабайта байтов заполнения. Умные люди CRC располагают в пределах образа прошивки или сразу за его концом. Хотя чудаки всякие бывают....

Для приложения я выделил 64кБ памяти. В самом конце 4 байта - это CRC32 всех 64кБ без 4 байт.
Сейчас прошивка весит 12кБ. Через месяц будет 56кБ. Где и как по вашему умный человек должен хранить CRC32,
чтобы загрузчик без проблем обновил приложение и проверил корректность прошивки?
Кста, файл с обновлением шифрованный вместе со всеми FF и имеет фиксированный размер и структуру.

На самом деле это не имеет никакого значения, т.к. нет никаких гарантий что сейчас образ имеет в конце FF,
и в будущем там ничего не появиться. Кста, ТС давно уже мог бы и прояснить что там в этом мегабайте?
FF-ы, CRC32 или данные? А то некоторые, вместо того, чтобы задать правильный вопрос, уже в какой раз включают
режим телепата и оскорбляют пользователей почем зря.

jcxz что-то вы в последнее время ведете себя как не профессионал. Опыт и знания чувствуются есть, но манера общения недружелюбная.
Люди на форум приходят за помощью, а не для того, чтобы их унижали, оскорбляли или воспитывали. Имхо.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 28 2018, 06:11
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ Jun 28 2018, 08:26) *
Для приложения я выделил 64кБ памяти. В самом конце 4 байта - это CRC32 всех 64кБ без 4 байт.
Сейчас прошивка весит 12кБ. Через месяц будет 56кБ. Где и как по вашему умный человек должен хранить CRC32,
чтобы загрузчик без проблем обновил приложение и проверил корректность прошивки?

У меня CRC хранится внутри образа прошивки (вместе с контролируемым ей размером образа) без всяких FF в конце. И загрузчик нормально её проверяет и расшифровывает и обновляет. Не вижу проблем.
И размер прошивки - переменный. У нас планируется в будущем добавить содержимое HTTP-сервера в образ прошивки, а это - до 2МБ. И что-ж мне и сейчас 2МБ файлы прошивок таскать? smile3009.gif
А если завтра Вам потребуется добавить какой-нить массив в прошивку на пару сотен КБ, а Вы уже себе все ходы обрезали - что будете делать?
А в некоторых проектах мне приходилось обновлять прошивки удалённо через GSM/спутник/ZigBee/PLC для пары сотен устройств в сети. Если-б я туда заложил образы прошивок на весь доступный объём флеша, то и счета за GSM/спутниковый_инет были бы хорошие такие у заказчиков и само обновление весь обмен по ZigBee/PLC вешало бы на день если не больше.

Цитата(adnega @ Jun 28 2018, 08:26) *
Люди на форум приходят за помощью, а не для того, чтобы их унижали, оскорбляли или воспитывали. Имхо.

Где я Вас оскорбил??? wacko.gif
Конечно - желающий оскорбиться, всегда найдёт повод, раз он того желает. Так что-ль?
И тут вроде форум электронщиков, а не кисейных барышень.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Jun 28 2018, 06:54
Сообщение #21


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(jcxz @ Jun 27 2018, 16:24) *
. . .Не представляю - чего такого можно написать на 1МБ на МК? Разве что картинок понасовать.....
При наличии TFT + тачскрина грузят .NET

Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 28 2018, 07:01
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Jun 28 2018, 09:11) *
Не вижу проблем.

А у меня образ под всю зарезервированную память. И тоже нет никаких проблем с расшифровкой и обновлением.

Цитата(jcxz @ Jun 28 2018, 09:11) *
У нас планируется в будущем добавить содержимое HTTP-сервера в образ прошивки, а это - до 2МБ. И что-ж мне и сейчас 2МБ файлы прошивок таскать?

А в чем проблема? В медленном и дорогом канале связи?
В моих задачах нет таких проблем, и обновление прошивки для меня скорее исключение, чем норма.
Можно и 2МБ залить по Ethernet за несколько секунд.
Если бы обновлялся с перфокарт, то подумал бы о каждом байте, но к великой радости - такое время давно прошло.

Цитата(jcxz @ Jun 28 2018, 09:11) *
Где я Вас оскорбил??? wacko.gif

Цитата
Умные люди CRC располагают в пределах образа прошивки или сразу за его концом. Хотя чудаки всякие бывают....

Меня - нигде. Но ходите по грани. Объясню импликацию "умные люди" "располагают за концом".
Но "располагают в конце 2МБ" не означает что "человек не умный". Вам это понятно.
Типа как "незнание закона" "не освобождает от ответственности". А "знание" что? "Освобождает" что ли?
Согласен. Можно под прошивку использовать только часть доступной памяти с резервом на будущее. И такой подход
может быть признаком умного человека. Но если ты используешь всю доступную память, то не во всех случаях это
доказывает отсутствие ума. В рамках логики это утверждение не может быть ни истинным, ни ложным.
Но вы решили, что это признак чудака.

Теперь по сути. Какой смысл ТСу вместо этих FF записывать туда свой код? Никакого.
Сегодня там FF, а завтра какой-нить HTTP-сервер. Т.е. вы с позиций умного человека советуете
эту область использовать по своему усмотрению? И всякий раз когда FF сместятся при каком-нить обновлении
заново собирать свое приложение с плясками по свободным местам?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 28 2018, 09:04
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ Jun 28 2018, 10:01) *
Согласен. Можно под прошивку использовать только часть доступной памяти с резервом на будущее. И такой подход
может быть признаком умного человека. Но если ты используешь всю доступную память, то не во всех случаях это
доказывает отсутствие ума.

Не согласен совершенно.
Если некто сделал что-то ногодрыгом, типа "и так сойдёт", "ведь работает". Хотя рядом был периферийный блок, на котором нормально можно было сделать.
Или написал программу, сожрав все ресурсы, хотя данная задача реализуется с гораздо меньшими ресурсами.
Я не буду считать такого человека профессионалом, пускай даже этот девайс и как-то работает.
Сделанное на "отвали" - это признак непрофессионала, а значит глупого человека.
То что "оно" сейчас как то работает, не означает ничего. Потому что завтра потребуется что-то добавить и будет облом. Или использовать в последующих разработках.
А пример почему большой образ прошивки плохо - я Вам привёл. И примеры эти - из реальной жизни, из моей практики.

Цитата(adnega @ Jun 28 2018, 10:01) *
Т.е. вы с позиций умного человека советуете
эту область использовать по своему усмотрению? И всякий раз когда FF сместятся при каком-нить обновлении
заново собирать свое приложение с плясками по свободным местам?

Вы похоже чего-то не поняли в моём сообщении.... wacko.gif
ТСу нужна память. Я написал что она может посмотреть в конец области add_flash, и если там FF, то скорей всего эту область можно урезать и использовать для себя.
И вот если написатели её ПО поступили как я, а не как Вы, и не считают CRC по всем этим FF, то никаких проблем урезать сегмент app_flash не будет. Вот Вам и ещё один аргумент в пользу моего подхода.
А если они поступили как Вы и даже не подумали, то теперь эта область как балласт - и сами не юзают и другие не могут. Вот это и есть глупый подход.
И куда там FF сместятся? Подходите, пожалуйста, опять с позиций умного человека: естественно надо урезать с конца регион app_flash и ничего никуда не сместится.
Если то чужое приложение может само обновляться (чего не следует из сообщений ТС), то отрезаемый регион стоит подровнять по границам блоков стирания флешь.
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 28 2018, 10:19
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Jun 28 2018, 12:04) *
И вот если написатели её ПО поступили как я, а не как Вы, и не считают CRC по всем этим FF, то никаких проблем урезать сегмент app_flash не будет.

Сегодня не будет, а завтра будет.
Допустим половина области сплошные FF. ТС взял их под свои нужны. Завтра новая прошивка, но уже FF больше половины,
и все это налезает на прошивку ТСа. Ваше "скорей всего" и есть дилетантский подход к разработке.
У меня есть ТЗ, я по этому ТЗ все реализовал и выбрал соответствующие ресурсы. Разумеется профи не будет
ставить 2МБ чип, когда проша со всем ТЗ умещается в 64кБ.

И про ногодрыг непонятно. Это светодиодом по DMA управлять? Или UART ногодрыгом при свободных аппаратных UART?
Конечно, для светодиодов индикации я использую ногодрыг и софтовые таймеры, если нужно мигание (1Гц и т.п.).
Периферию гружу по максимуму, но только там где это надо.

Тут вопрос другой. Что делать с недостатком памяти? Либо ставить чип объемнее, либо согласовывать и утверждать новую карту памяти.
Можно навесить внешней памяти, но это затратнее толстого чипа. Все! Никаких других профессиональных, гарантированных,
законных вариантов я придумать не могу. А это ваше "скорее всего" очень модное "хайли лайкли" напоминает, но вы при этом не в лучшем
свете себя выставляете.

Лирика: более 10 лет назад я работал в одной компании. Там был свой софт и своя база данных. Дык, никакого способа добраться
до этой базы, кроме реверса не было. А автоматизировать работу хотелось. Пару вечеров, и я сделал утилитку, которая на основе
этой базы генерила отчеты очень упрощающие жизнь мне, представителю заказчика и проектировщикам. Причем, последние,
ну уж очень плотно на эту утилитку подсели, ибо исполнительную документацию можно было сделать гораздо точнее и быстрее.
Свою работу я закончил, про утилитку забыл, а проектировщики продолжали ее использовать.
Потом поменялась версия софта и чуть-чуть это затронуло базу. Я чуть-чуть поправил утилитку (по просьбе трудящихся),
но разбираться пришлось практически заново (реверс новой базы). После третьего по счету реверса пришлось объяснять,
проектировщикам про боль тленного мира, про варианты прямые и совсем неправильные.
Мораль: свою задачку я решил тем средством каким решил. Без реверса, а полностью легально было бы долго и не факт,
что руководство на это бы пошло. Сейчас всегда, когда просят какой-нить протокол интегрировать или что-то подобное,
рассказываю эту историю и предупреждаю, что сегодня может работать, а завтра нет. Кто хочет - тот рискует,
но я пути, не позволяющие гарантировать результат, стараюсь не выбирать.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 28 2018, 11:24
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ Jun 28 2018, 13:19) *
Ваше "скорей всего" и есть дилетантский подход к разработке.
У меня есть ТЗ, я по этому ТЗ все реализовал и выбрал соответствующие ресурсы. Разумеется профи не будет
ставить 2МБ чип, когда проша со всем ТЗ умещается в 64кБ.

Вы вообще исходное сообщение ТС читали? Про какой "выбор чипа" вообще говорите, какой "выбор ресурсов"??? У ТС - есть конкретная прошивка под конкретный чип, и она хочет кроме неё записать ещё что-нить.
"скорей всего" - потому что ни я ни Вы (думаю) не знаем от чего зависит работа той готовой прошивки у ТС. И от чего она перестанет работать. И потому что если бы эта задача стояла передо мной, то давно бы уже решилась за несколько минут. Но я не могу видеть что там у автора топика.
Да и каково ваше то предложение, "не дилетантское"? rolleyes.gif
Вы то что посоветуете в этой ситуации? Флешь трогать нельзя, а что тогда можно трогать?

Цитата(adnega @ Jun 28 2018, 13:19) *
Тут вопрос другой. Что делать с недостатком памяти? Либо ставить чип объемнее, либо согласовывать и утверждать новую карту памяти.
Можно навесить внешней памяти, но это затратнее толстого чипа. Все!

Ещё раз перечитайте исходное сообщение. Прошивка есть под конкретный МК и с большей памятью его видимо нет (иначе вопрос вообще не должен стоять). А может вообще - есть готовое устройство, в которое нужно что-то добавить?
Внешняя память? А грузить куда? Есть внешняя ОЗУ? А пины для подключения внешней памяти есть? А как подключение внешней памяти повлияет на существующую готовую прошивку? Не станет ли она глючить после этого? А если текущая версия не глючит, то не станут ли глючить последующие обновления? ...которые не знают как ТС подключил свои external RAM and FLASH.
Так что получается и ваше решение как Вы выразились - "хайли лайкли", а по-русски - как фишка ляжет. Только с гораздо большими сложностями и расходами biggrin.gif
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 28 2018, 12:17
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Jun 28 2018, 14:24) *
У ТС - есть конкретная прошивка под конкретный чип, и она хочет кроме неё записать ещё что-нить.

Получается, что ТСу нужно 40кБ прошивки превратить в 32кБ. Удачи.
Можно константные массивы (звуки, картинки, таблицы) вынести по внешнюю последовательную EEPROM,
если это сэкономит 10кБ памяти.

Цитата(jcxz @ Jun 28 2018, 14:24) *
Ещё раз перечитайте исходное сообщение

Вот вы и почитайте. Узнаете, что у ТС сначала 429, потом 407, какие-то discovery... но толком в первом посте ничего не объясняется.
Он попросил объяснить как SDRAM ему может помочь - ему объяснили.
Но если SDRAM подойдет, то и МК придется какой-нить STM32F427V использовать с FMC (но есть у меня подозрения, что SDRAM в V-корпусе не получится).
Дык, если уж докатились до смены МК, то проще взять STM32F427VI с 2МБ памяти и забыть про SDRAM и т.п.

jcxz, я, пожалуй, общение с вами прекращу, т.к. создается впечатление, что какой-нить Николай Семенович
взломал вашу учетку и публикует неадекватные сообщения на форуме с очевидным нарушением логики и базовых принципов.
Как отвоюете учетку назад - буду рад продолжить общение.
Go to the top of the page
 
+Quote Post
Ekka
сообщение Jul 2 2018, 12:35
Сообщение #27


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

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Привет, спасибо за ваши советы.
Я сейчас действительно роюсь в файлах разработчика и пытаюсь "оторвать" от приложения и добавить к своему проекту хотя бы еще 16К

Что делаю:
Перераспределяю память в обоих файлах линковщика (у моего проекта с дровами на все, и в файле на приложение разработчика - по совету самого разработчика)
Также по его совету меняю команды вызова загрузчика stm32flash, который вызывается из приложения разработчика YAPLC-IDE и пилит код по адресу,
0х08008000. Сколько я не меняю настройки в файлах разработчика...нифига, загрузчик упорно пишет в этот адрес.

Как распределить память для моего проекта и приложения разработчика - вродь разобралсЁ.
Теперь у меня стоит "глупый" вопрос... как заставить загрузчик пилить с другого адреса приложение разработчика, если я до
этого несчастного загрузчика достучаться не могу.

Вообще, что у меня происходит :
У меня есть некий проект (инит всего МК, к чему может обращаться YAPLC-IDE, некий проект yaplc-runtime для stm32f4disco)
В нем успешно настроены - модбас, входы/выходы, ацп, цап, canFestival - подгрузка которого много весит)

Этот рантайм хранится с 0х08000000 по 0х08008000, не включительно, занимает 32К, пару страниц ( это стандартно)
Но мне понадобилась третья страница для моей проги)

Приложение разработчика грузится в память из среды YAPLC-IDE через загрузчик stm32flash.
И теперь мой косяк в том, что я почему-то не могу изменить адрес, с которого этот загрузчик должен писать код.
нужно сменить с 0x08008000 на 0х0800С000...

Что такое...

Простите, если я некорректно задаю вопросы.
Если нужны какие-то уточнения - я уточню.


Код
Вопрос, наверное, так лучше задать...
После поднятия Boot, вызывается загрузчик и появляется его консоль, где я вижу, с какого адреса
этот загрузчик пилит...

Как мне изменить этот адрес, как понять, откуда именно он его берет?


Сообщение отредактировал Ekka - Jul 2 2018, 12:36
Go to the top of the page
 
+Quote Post
k155la3
сообщение Jul 2 2018, 15:43
Сообщение #28


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(Ekka @ Jul 2 2018, 15:35) *
Приложение разработчика грузится в память из среды YAPLC-IDE через загрузчик stm32flash.
И теперь мой косяк в том, что я почему-то не могу изменить адрес, с которого этот загрузчик должен писать код.
нужно сменить с 0x08008000 на 0х0800С000...

Утилита управляется из командной строки, если ЭТО, ключами, в том числе адресация что-куда.
Может есть заблокированные самой утилитой "служебные" диапазоны адресов, куда запрещена запись.
Если есть возможность, посмотрите с какими опциями стартуется stm32flash.
Если грузится формат hex, то адресация забита в нем, и изменить это может перекомпиляция на другие адреса.
ps
Вот, вроде этого, в FAQ здесь
Go to the top of the page
 
+Quote Post
Ekka
сообщение Jul 3 2018, 12:39
Сообщение #29


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

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Привет всем. Как писать с другого адреса от загрузчика - сделано.


Возникла проблема - может кто-то с таким сталкивался, или проблема типичная для новичком или пробелы в моем знании

организации памяти в stm32f4...НО

Может, кто-то в курсе, почему при указании адреса начала записи 0х08008000 все пишет, куда и указано
Но стоит указать адрес 0х0800С000, и я получаю код, записанный по адресу на сектор позже, 0х08010000?
опять же, если укажу адрес 0х08020000 (начало 5 сектора), получу код, начиная с адреса 0х08028000
Может быть проблема в разных размерах секторов памяти?

Подскажите, что я делаю не так...??? smile3046.gif

память в моем коде
Код
MEMORY
{
    rom       (rx)  : ORIGIN = 0x08000000, LENGTH = 128K
    app_flash (rx)  : ORIGIN = 0x08020000, LENGTH = 896K
    ram       (rwx) : ORIGIN = 0x20000000, LENGTH = 8K
    appram    (rwx) : ORIGIN = 0x20002000, LENGTH = 120K
}


Приложение разработчика
Код
MEMORY
{
  flash (rx)  : ORIGIN = 0x08020000, LENGTH = 896K
  ram (rwx)   : ORIGIN = 0x20002000, LENGTH = 120K
  ccm (rwx)   : ORIGIN = 0x10000000, LENGTH = 64K
}


Правда, из каких соображений в ccm 64K, я без понятия...
было вообще так
Код
MEMORY
{
  flash (rx)  : ORIGIN = 0x08008000, LENGTH = 992K
  ram (rwx)   : ORIGIN = 0x20002000, LENGTH = 120K
  ccm (rwx)   : ORIGIN = 0x10000000, LENGTH = 64K
}


Сообщение отредактировал Ekka - Jul 3 2018, 13:02
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 4 2018, 08:58
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Вам трудно что-то советовать, так как непонятно ни кто именно "пишет":
Цитата(Ekka @ Jul 3 2018, 15:39) *
почему при указании адреса начала записи 0х08008000 все пишет, куда и указано

про кого разговор?

Ни что означает:
Цитата(Ekka @ Jul 3 2018, 15:39) *
память в моем коде

и
Цитата(Ekka @ Jul 3 2018, 15:39) *
Приложение разработчика

У Вас есть некий "разработчик" который совместно с Вами пишет код в этот кристалл? wacko.gif
Вы вроде совмещали своё приложение с неким готовым кодом, но из вышеуказанных фраз неясно - где говорится про ваш код, а где - про сторонний?
Понимаете: Вашу задачу знаете только Вы, и только Вы видите ваши исходники. А остальным Вы даже не пытаетесь обрисовать картинку, а ваш вопрос больше похож на причитания, а не на просьбу консультации. crying.gif
Или как тут принято говорить: "Телепаты в отпуске!"

Цитата(Ekka @ Jul 3 2018, 15:39) *
Правда, из каких соображений в ccm 64K, я без понятия...

Может потому, что в данном МК она имеет размер 64К, кэп? laughing.gif

PS: При задавании вопроса, перечитайте ваш вопрос ещё раз, с позиции стороннего человека, не знающего что там у вас да как. И подумайте - поняли ли Вы сами о чём вопрос? smile3046.gif
А то многие вопросы тут звучат как: "Я что-то делаю (не скажу что) с чем-то (не скажу с чем) с помощью чего-то (не скажу с помощью чего) и у меня что-то получается (не скажу что). Подскажите как мне быть, если я хочу другого (не скажу чего)?"
Этот совет не только к Вам относится, но и ко многим другим вопрошающим......
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th April 2024 - 15:10
Рейтинг@Mail.ru


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