Например TDA7294

Форум РадиоКот • Просмотр темы - Запуск Phillips LPC2368FBD100
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 22:46:20

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 50 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Вс окт 22, 2017 01:45:29 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
Коллеги, мяу!

Заимел на руки LPC2368 для ознакомления...

Читал документацию, после мучений с AT91SAM7 она мне показалась более "взрослой" и полезной :)

Припаяв чип на плату и достав свой мостик на CP2103 радовался я недолго.

Наковырял в Keil'е нехитрый код:
Код:
#include <LPC23xx.h>

int main(void) {
   FIO2DIR |= (1<<12);
   CLKSRCSEL = 0x01;
   while(1) {
      FIO2SET |= (1<<12);
      FIO2CLR |= (1<<12);
   }
};

Прогнал симулятором - все ок, можно шиться, чем я и занялся посредством Flash Magic.

Прошивка заливается, но на экране осциллоскопа тишина!

Порт P2.12 молчит, осциллятор молчит. Пробовал переключаться на внутренний генератор (CLKSRCSEL = 0x00;) - результат тот же.

Долго курил теорию и лабы Бауманки по этому процу (где достал - сам не понял). Согласно им все должно работать.
Если глядеть в мануал - тактирование на GPIO по дефолту всегда, все пины GPIO после ребута никуда не замаплены.

Подскажите, что с ним (или со мной) не так? :roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Пн окт 23, 2017 03:00:23 
Первый раз сказал Мяу!

Карма: 7
Рейтинг сообщений: 7
Зарегистрирован: Ср ноя 27, 2013 21:28:40
Сообщений: 29
Откуда: Москва
Рейтинг сообщения: 0
Вывод BOOT подтянут к питанию?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Пн окт 23, 2017 09:54:52 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
AlphaLaiman писал(а):
Вывод BOOT подтянут к питанию?


А что это, простите, за вывод? Просмотрел весь UM10211 по линейке LPC236x, там про такой вывод ни слова...

На данный момент у меня служебные пины таковы:

Vss - GND
Vssa - GND
Vdd(3v3) - 3.3V
Dvv(dcdc) - 3.3V
Vdda - 3.3V
Vref - 3.3V

XTAL1, XTAL2 - кварц 12МГц + кондеры по 10пФ

RESET - через 10к на 3.3V

Ну и для обмена с CP2103 подключены пины P0[2]/TXD0 и P0[3]/RXD0.

Из не подключенных служебных остались только RTCX1, RTCX2 и VBAT, но они все, вроде как, относятся к часам реального времени (кварц + дежурная батарейка), которые мне и не нужны.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Пн окт 23, 2017 11:22:55 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Управление загрузчиком

upd. В этом камне оказывается используется пин P2[10]/EINT0


Вложения:
bootloader.PNG [175.63 KiB]
Скачиваний: 905
Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Пн окт 23, 2017 11:46:43 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
uk8amk писал(а):
В этом камне оказывается используется пин P2[10]/EINT0


Все верно. В режим программирования я захожу опустив пин P2[10] на GND. Прошиваюсь успешно. Снимаю питание, снимаю перемычку с P2[10].

После запуска МК вроде как должен уйти в обычный BOOT, так гласит и дока, и присланный Вами кусочек странички.

В реальности - контроллер молчит, читаю память (в режиме программирования) - все прошилось успещно.
Или же ему P2[10] после прошивки надо жестко подтянуть к +3.3V?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Пн окт 23, 2017 12:35:22 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Вы там по Редькину что ли изучаете?
На двух сразу попавшихся бордах.

Изображение Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Пн окт 23, 2017 12:55:52 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
dosikus писал(а):
Вы там по Редькину что ли изучаете?


Не, спасибо, изучал по нему AT91SAM7, плакал :))) :))) :)))

Но однако, здравствуйте! Вечером буду пытать!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Пн окт 23, 2017 23:54:34 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
Товарищи, мяу!

Все сделано... Подтяжка P2[10] на 3.3V есть.

Почитав про MEMMAP для 236x в user manual'е, вычитал, что режим запуска с флэша при коде b01 регистра.

Вот пытаюсь ему скормить:
Код:
#include <LPC23xx.h>

int main(void) {
   MEMMAP = 0x1;
   FIO2DIR |= (1<<12);
   CLKSRCSEL = 0x01;
   while(1) {
      FIO2SET |= (1<<12);
      FIO2CLR |= (1<<12);
   }
};

Пробовал MEMMAP 0x2. А ему хоть бы что, ничего нет на пине P2.12... Вообще ничего!

Добавлено after 12 minutes 44 seconds:
Заглянул в 2300.s, где нашел такие строки:
Код:
; *  REMAP: when set the startup code initializes the register MEMMAP
; *  which overwrites the settings of the CPU configuration pins. The
; *  startup and interrupt vectors are remapped from:
; *     0x00000000  [b]default setting (not remapped)[/b]
; *     0x40000000  when RAM_MODE is used
; *     0x80000000  when EXTMEM_MODE is used

Откуда я сделал вывод, что у 23хх так или иначе загрузка идет с адреса 0х00, где и лежит сам код (попытка чтения памяти в Flash Magic это подтверждает).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Вт окт 24, 2017 06:15:33 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Приведите код что ниже кАмментов...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Вт окт 24, 2017 11:30:50 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
Привожу...

Спойлер
Код:
; Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs

Mode_USR        EQU     0x10
Mode_FIQ        EQU     0x11
Mode_IRQ        EQU     0x12
Mode_SVC        EQU     0x13
Mode_ABT        EQU     0x17
Mode_UND        EQU     0x1B
Mode_SYS        EQU     0x1F

I_Bit           EQU     0x80            ; when I bit is set, IRQ is disabled
F_Bit           EQU     0x40            ; when F bit is set, FIQ is disabled


;---------- Memory Definitions ----------

; Internal Memory Base Addresses
FLASH_BASE      EQU     0x00000000   
RAM_BASE        EQU     0x40000000
EXTMEM_BASE     EQU     0x80000000

; External Memory Base Addresses
STA_MEM0_BASE   EQU     0x80000000
STA_MEM1_BASE   EQU     0x81000000


;---------- Stack and Heap Definitions ----------

;// <h> Stack Configuration (Stack Sizes in Bytes)
;//   <o0> Undefined Mode      <0x0-0xFFFFFFFF:8>
;//   <o1> Supervisor Mode     <0x0-0xFFFFFFFF:8>
;//   <o2> Abort Mode          <0x0-0xFFFFFFFF:8>
;//   <o3> Fast Interrupt Mode <0x0-0xFFFFFFFF:8>
;//   <o4> Interrupt Mode      <0x0-0xFFFFFFFF:8>
;//   <o5> User/System Mode    <0x0-0xFFFFFFFF:8>
;// </h>

UND_Stack_Size  EQU     0x00000000
SVC_Stack_Size  EQU     0x00000008
ABT_Stack_Size  EQU     0x00000000
FIQ_Stack_Size  EQU     0x00000000
IRQ_Stack_Size  EQU     0x00000100
USR_Stack_Size  EQU     0x00000400

ISR_Stack_Size  EQU     (UND_Stack_Size + SVC_Stack_Size + ABT_Stack_Size + \
                         FIQ_Stack_Size + IRQ_Stack_Size)

                AREA    STACK, NOINIT, READWRITE, ALIGN=3

Stack_Mem       SPACE   USR_Stack_Size
__initial_sp    SPACE   ISR_Stack_Size

Stack_Top


;// <h> Heap Configuration
;//   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF>
;// </h>

Heap_Size       EQU     0x00000000

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem        SPACE   Heap_Size
__heap_limit


;---------- System Control Block (SCB) Module Definitions ---------

SCB_BASE        EQU     0xE01FC000      ; SCB Base Address
PLLCON_OFS      EQU     0x80            ; PLL Control Offset
PLLCFG_OFS      EQU     0x84            ; PLL Configuration Offset
PLLSTAT_OFS     EQU     0x88            ; PLL Status Offset
PLLFEED_OFS     EQU     0x8C            ; PLL Feed Offset
CCLKCFG_OFS     EQU     0x104           ; CPU Clock Divider Reg Offset
USBCLKCFG_OFS   EQU     0x108           ; USB Clock Divider Reg Offset
CLKSRCSEL_OFS   EQU     0x10C           ; Clock Source Select Reg Offset
SCS_OFS         EQU     0x1A0           ; System Control and Status Reg Offset
PCLKSEL0_OFS    EQU     0x1A8           ; Peripheral Clock Select Reg 0 Offset
PCLKSEL1_OFS    EQU     0x1AC           ; Peripheral Clock Select Reg 1 Offset

PCON_OFS        EQU     0x0C0           ; Power Mode Control Reg Offset
PCONP_OFS       EQU     0x0C4           ; Power Control for Periphs Reg Offset

; Constants
OSCRANGE        EQU     (1<<4)          ; Oscillator Range Select
OSCEN           EQU     (1<<5)          ; Main oscillator Enable
OSCSTAT         EQU     (1<<6)          ; Main Oscillator Status
PLLCON_PLLE     EQU     (1<<0)          ; PLL Enable
PLLCON_PLLC     EQU     (1<<1)          ; PLL Connect
PLLSTAT_M       EQU     (0x7FFF<<0)     ; PLL M Value
PLLSTAT_N       EQU     (0xFF<<16)      ; PLL N Value
PLLSTAT_PLOCK   EQU     (1<<26)         ; PLL Lock Status


И еще кусок
Спойлер
Код:
; Memory Mapping (when Interrupt Vectors are in RAM) ----------

MEMMAP          EQU     0xE01FC040          ; Memory Mapping Control
                IF      :DEF:REMAP
                LDR     R0, =MEMMAP
                IF      :DEF:EXTMEM_MODE
                MOV     R1, #3
                ELIF    :DEF:RAM_MODE
                MOV     R1, #2
                ELSE
                MOV     R1, #1
                ENDIF
                STR     R1, [R0]
                ENDIF

Вот как-то так :oops:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Вт окт 24, 2017 17:13:41 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1150
Рейтинг сообщения: 0
Коллеги, мяу!
Подскажите, что с ним (или со мной) не так? :roll:

"не так" - отсутствует JTAG.

Если у вас при пине BOOT установленном на выполнение кода из флеша, при этом входит в код ISP (так как к МК может подключиться FlashMagic), то получается что управление похоже вообще почему-то не передаётся на код во флешь.
Уверены что правильно скомпилили исходник? Симулятор - не аргумент.
Чем компилили? IAR? При компиляции выставили тип МК?
Как вариант: в LPC ROM-стартап-код проверяет контрольную сумму нескольких первых векторов прерываний (находящуюся в одном из векторов), если она неверна или недопустимое значение каких-то векторов, то управление останется в ISP-коде и не будет передано на код во флешь.

Не, спасибо, изучал по нему AT91SAM7, плакал :))) :))) :)))

Чтобы не плакать, изучать надо по даташиту и с эмулятором под рукой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Вт окт 24, 2017 18:34:38 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
Так никто и не плакал :kill:

Даташит читан. Если бы читан не был - не задавал бы и вопросов :)))

По коду - компилировано в Keil 4. Тип МК выставлен, выставлена компиляция под ISP, а не под Ethernet.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Ср окт 25, 2017 15:00:30 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
Мяу!

Ознакомился с Редькиным по LPC2000... Прочитал про переотображение памяти, про чудесный MEMMAP... Результатов пока нет...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Чт ноя 02, 2017 13:43:09 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
Коллеги, мяу!
Заимел на руки LPC2368 для ознакомления...
Читал документацию, после мучений с AT91SAM7 она мне показалась более "взрослой" и полезной :)

Зачем ??? Эта серия LPC23xx/24xx фигня уж лет 7 как замененая на LPC16xx/LPC17xxx, да и эти уже барахло устарелое.
Не жалко собственного времени ?

аковырял в Keil&#39;е нехитрый код:
Код:
#include <LPC23xx.h>

int main(void) {
   FIO2DIR |= (1<<12);
   CLKSRCSEL = 0x01;
   while(1) {
      FIO2SET |= (1<<12);
      FIO2CLR |= (1<<12);
   }
};

Прогнал симулятором - все ок, можно шиться, чем я и занялся посредством Flash Magic.

Прошивка заливается, но на экране осциллоскопа тишина!

Порт P2.12 молчит, осциллятор молчит. Пробовал переключаться на внутренний генератор (CLKSRCSEL = 0x00;) - результат тот же.


Осциллятор чтоб не молчал, его включить сначала надо. и не помню точно про LPC24xx, очень давно делал, но LPC17xx помнится мне, надо еще GPIO колнтроллер сначала включить, а потом к его ногам лезить

Добавлено after 44 minutes 25 seconds:
Зачем вам ARM7TDMI с мозголомными десятью стеками и кучей режимов ? Оно уж в бесконечно далеком прошлом.
На кортексах все куда проще, очевидней и шустрее.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Чт ноя 02, 2017 19:13:56 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
Satyr писал(а):
Зачем вам ARM7TDMI


Satyr, ну вот что с извращенца возьмешь? :)))

Все это время я тоже вечерами времени даром не терял и завел его. Работает и внутренний генератор, и внешний кварц, и PLL. :tea:

Сейчас не могу понять вот что... имею код в main:
Код:
while(1) {
      FIO2SET |= (1<<12);
      FIO2CLR |= (1<<12);
   }

При кварце 12 МГц нога "дрыгается" с частотой 1.92(!!!)МГц. Та же историй с PLL, настроенным на 72МГц - частота "дрыганий" - 2,4 МГц. При внутреннем генераторе -640 кГц. :shock:

Проверил предделитель процессора - 1, периферии - 1.

Есть ли у него какой-то вариант посмотреть тактовую частоту осциллографом, не замаплен ли выход PLL на какую ногу для таких целей? :roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Чт ноя 02, 2017 19:32:58 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: -1
Мда, что ни нуб то первое что делает -мерянье частоты ногодрыга.
Заразная гадость однако...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Чт ноя 02, 2017 19:36:29 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
При кварце 12 МГц нога "дрыгается" с частотой 1.92(!!!)МГц. Та же историй с PLL, настроенным на 72МГц - частота "дрыганий" - 2,4 МГц. При внутреннем генераторе -640 кГц. :shock:

Кварц, плл - вторично. как и частота ядра. важна частота переферийной шины и собственный делитель на конкретной переферии.
А так же латентность шины между яжром и периферией.

Не стоит думать, что ногой можно будет дрыгать с частотой ядра.

тактов за 5-7 ядра между записью от ядра и сменой состояния ноги - нормальный показатель.

кстати, елси ногами дергать, битбанговые алиасы на регистры в этом антикваре есть ? очень помогает в ногодрыге -))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Чт ноя 02, 2017 19:43:31 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
dosikus писал(а):
Мда, что ни нуб то первое что делает

Радует Ваша неполиткорректность. Хорошо у меня кэш большой, на долго хватает.

Satyr писал(а):
битбанговые алиасы на регистры в этом антикваре есть

За них пока не вчитывался :dont_know:

Satyr писал(а):
Не стоит думать, что ногой можно будет дрыгать с частотой ядра.

тактов за 5-7 ядра между записью от ядра и сменой состояния ноги - нормальный показатель.

Да это понятно :)) Непонятен показатель 2,4МГц при частоте ядра 72МГц...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Чт ноя 02, 2017 20:29:14 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Осознайте, ногодрочерство не прерогатива арм.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Запуск Phillips LPC2368FBD100
СообщениеДобавлено: Чт ноя 02, 2017 21:34:21 
Открыл глаза

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Вт сен 19, 2017 18:15:40
Сообщений: 46
Рейтинг сообщения: 0
Вы название темы видели? Запуск. Мне попросить его вывести по HDMI "Hello World!" на панель 42"?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 50 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y