Отговори на тема  [ 45 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
Freescale Kinetis K серия... 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Мар 16, 2006 9:42 am
Мнения: 12097
Местоположение: Гьотеборг
Мнение Re: Freescale Kinetis K серия...
следващата седмица ще разбера коя серия е предпочитана от
тукашния клон на ABB, поне искат опит с Кинетис
http://www.abb.com/product/us/9AAC17012 ... country=00


Сря Май 14, 2014 8:53 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: Freescale Kinetis K серия...
Просто в движение, да споделя...

1. Това отдолу е кода за една тривиална задача - инициализация на таймер за PWM с два комплиментарни изхода и малко деттайм. Ужас и безумие :) Естествено генериран с PE (че и работи), на мен сигурно ще ми трябва седмица кълване в чаршафа да разбера кой бит съм пропуснал да сетна.
2. Компилация на MQX + пренаписан борд леър за моя хардуер (последното отне седмица пулене)... Без USB, FFS и TCP... 100 килобайта. С включени на максимум оптимизации 50 килобайта.

Иначе като цяло MQX е доста развита система откъм кърнел. Като драйвери обаче... засега впечатленията ми са двусмислени. На високо ниво върви доста готов код. Например серийно I/O - POSIX, върху UART, файн тръгва за 15 минути... обаче само пулинг или интеръпт. DMA... ама друг път. SPI - пулинг или интеръпт. DMA... има, ама не е ясно колко работи. Което не е учутващо предвид "странната" имплементация на самия SPI :) Следва GPIO .... през POSIX интерфейс. Е нема такава дивотия. От последния релиз вече имате вместо POSIX, lightweight драйвери за GPIO... ама като им отвориш кода и установяваш че тия имат много странна представа за lightweight... според мен са си бая тежки.

Като цяло тромавичка е. Малко ме е страх да и измеря превключването на контекста за колко го прави... ама ще е нещо което няма да ми хареса особенно. Иначе добре се връзва се дебъгера и еклипса (j-link), дава бая информация за стекове, нишки и ала бала.

Код:
void hal_enable_PWM( void )
{
   
   /* TM - created with PE */
   /* SIM_SCGC6: FTM1=1 */
        SIM_SCGC6 |= SIM_SCGC6_FTM1_MASK;
        (void)(FTM1_SC == 0U);               /* Dummy read of the FTM1_SC register to clear the interrupt flag */
        /* FTM1_SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,TOF=0,TOIE=0,CPWMS=0,CLKS=0,PS=0 */
        FTM1_SC = (FTM_SC_CLKS(0x00) | FTM_SC_PS(0x00)); /* Stop the counter */
          (void)(FTM1_C0SC == 0U);           /* Dummy read of the FTM1_C0SC register to clear the interrupt flag */
          (void)(FTM1_C1SC == 0U);           /* Dummy read of the FTM1_C1SC register to clear the interrupt flag */
        /* FTM1_MODE: WPDIS=1 */
        FTM1_MODE |= FTM_MODE_WPDIS_MASK;    /* Disable write protection */
        /* FTM1_C0SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,MSB=0,MSA=0,ELSB=0,ELSA=0,??=0,DMA=0 */
        FTM1_C0SC = 0x00U;
        /* FTM1_C1SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,MSB=0,MSA=0,ELSB=0,ELSA=0,??=0,DMA=0 */
        FTM1_C1SC = 0x00U;
        /* FTM1_SC: TOF=0,CPWMS=0 */
        FTM1_SC &= (uint32_t)~(uint32_t)((FTM_SC_TOF_MASK | FTM_SC_CPWMS_MASK));
        /* FTM1_MODE: FTMEN=1 */
        FTM1_MODE |= FTM_MODE_FTMEN_MASK;
        /* FTM1_INVCTRL: INV0EN=0 */
        FTM1_INVCTRL &= (uint32_t)~(uint32_t)(FTM_INVCTRL_INV0EN_MASK);
        /* FTM1_COMBINE: FAULTEN0=0,SYNCEN0=0,DTEN0=1,DECAPEN0=0,COMP0=1,COMBINE0=1 */
        FTM1_COMBINE = (uint32_t)((FTM1_COMBINE & (uint32_t)~(uint32_t)(
                        FTM_COMBINE_FAULTEN0_MASK |
                        FTM_COMBINE_SYNCEN0_MASK |
                        FTM_COMBINE_DECAPEN0_MASK
                       )) | (uint32_t)(
                        FTM_COMBINE_DTEN0_MASK |
                        FTM_COMBINE_COMP0_MASK |
                        FTM_COMBINE_COMBINE0_MASK
                       ));
        /* FTM1_C0SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,ELSB=1,ELSA=0,??=0,DMA=0 */
        FTM1_C0SC = (uint32_t)((FTM1_C0SC & (uint32_t)~(uint32_t)(
                     FTM_CnSC_CHF_MASK |
                     FTM_CnSC_CHIE_MASK |
                     FTM_CnSC_ELSA_MASK |
                     FTM_CnSC_DMA_MASK |
                     0xFFFFFF02U
                    )) | (uint32_t)(
                     FTM_CnSC_ELSB_MASK
                    ));
        /* FTM1_C1SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,ELSB=1,ELSA=0,??=0,DMA=0 */
        FTM1_C1SC = (uint32_t)((FTM1_C1SC & (uint32_t)~(uint32_t)(
                     FTM_CnSC_CHF_MASK |
                     FTM_CnSC_CHIE_MASK |
                     FTM_CnSC_ELSA_MASK |
                     FTM_CnSC_DMA_MASK |
                     0xFFFFFF02U
                    )) | (uint32_t)(
                     FTM_CnSC_ELSB_MASK
                    ));
        /* FTM1_C0V: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,VAL=0 */
        FTM1_C0V = FTM_CnV_VAL(0x00);
        /* FTM1_C1V: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,VAL=0x96 */
        FTM1_C1V = FTM_CnV_VAL(0x96);
        /* FTM1_POL: POL1=0,POL0=0 */
        FTM1_POL &= (uint32_t)~(uint32_t)((FTM_POL_POL1_MASK | FTM_POL_POL0_MASK));
        /* FTM1_FILTER: CH1FVAL=0,CH0FVAL=0 */
        FTM1_FILTER &= (uint32_t)~(uint32_t)(
                        FTM_FILTER_CH1FVAL(0x0F) |
                        FTM_FILTER_CH0FVAL(0x0F)
                       );
        /* FTM1_OUTINIT: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CH1OI=0,CH0OI=0 */
        FTM1_OUTINIT &= (uint32_t)~(uint32_t)(
                         FTM_OUTINIT_CH1OI_MASK |
                         FTM_OUTINIT_CH0OI_MASK |
                         0xFFFFFF00U
                        );
        /* FTM1_OUTMASK: CH1OM=0,CH0OM=0 */
        FTM1_OUTMASK &= (uint32_t)~(uint32_t)(
                         FTM_OUTMASK_CH1OM_MASK |
                         FTM_OUTMASK_CH0OM_MASK
                        );
        /* FTM1_FLTCTRL: FFVAL=0 */
        FTM1_FLTCTRL &= (uint32_t)~(uint32_t)(FTM_FLTCTRL_FFVAL(0x0F));
        /* FTM1_FLTPOL: FLT2POL=0,FLT1POL=0,FLT0POL=0 */
        FTM1_FLTPOL &= (uint32_t)~(uint32_t)(
                        FTM_FLTPOL_FLT2POL_MASK |
                        FTM_FLTPOL_FLT1POL_MASK |
                        FTM_FLTPOL_FLT0POL_MASK
                       );
        /* FTM1_FLTCTRL: FFLTR2EN=0,FFLTR1EN=0,FFLTR0EN=0,FAULT2EN=0,FAULT1EN=0,FAULT0EN=0 */
        FTM1_FLTCTRL &= (uint32_t)~(uint32_t)(
                         FTM_FLTCTRL_FFLTR2EN_MASK |
                         FTM_FLTCTRL_FFLTR1EN_MASK |
                         FTM_FLTCTRL_FFLTR0EN_MASK |
                         FTM_FLTCTRL_FAULT2EN_MASK |
                         FTM_FLTCTRL_FAULT1EN_MASK |
                         FTM_FLTCTRL_FAULT0EN_MASK
                        );
        /* FTM1_SYNC: SWSYNC=0,TRIG2=0,TRIG1=0,TRIG0=0,SYNCHOM=0,REINIT=0,CNTMAX=0,CNTMIN=0 */
        FTM1_SYNC &= (uint32_t)~(uint32_t)(
                      FTM_SYNC_SWSYNC_MASK |
                      FTM_SYNC_TRIG2_MASK |
                      FTM_SYNC_TRIG1_MASK |
                      FTM_SYNC_TRIG0_MASK |
                      FTM_SYNC_SYNCHOM_MASK |
                      FTM_SYNC_REINIT_MASK |
                      FTM_SYNC_CNTMAX_MASK |
                      FTM_SYNC_CNTMIN_MASK
                     );
        /* FTM1_EXTTRIG: INITTRIGEN=0,CH1TRIG=0,CH0TRIG=0 */
        FTM1_EXTTRIG &= (uint32_t)~(uint32_t)(
                         FTM_EXTTRIG_INITTRIGEN_MASK |
                         FTM_EXTTRIG_CH1TRIG_MASK |
                         FTM_EXTTRIG_CH0TRIG_MASK
                        );
        /* FTM1_MOD: MOD=0x012C */
        FTM1_MOD = (uint32_t)((FTM1_MOD & (uint32_t)~(uint32_t)(
                    FTM_MOD_MOD(0xFED3)
                   )) | (uint32_t)(
                    FTM_MOD_MOD(0x012C)
                   ));
        /* FTM1_CNTIN: INIT=0 */
        FTM1_CNTIN &= (uint32_t)~(uint32_t)(FTM_CNTIN_INIT(0xFFFF));
        /* FTM1_DEADTIME: DTPS=0,DTVAL=0x14 */
        FTM1_DEADTIME = (uint32_t)((FTM1_DEADTIME & (uint32_t)~(uint32_t)(
                         FTM_DEADTIME_DTPS(0x03) |
                         FTM_DEADTIME_DTVAL(0x2B)
                        )) | (uint32_t)(
                         FTM_DEADTIME_DTVAL(0x14)
                        ));
        /* FTM1_CNT: COUNT=0 */
        FTM1_CNT &= (uint32_t)~(uint32_t)(FTM_CNT_COUNT(0xFFFF));
        /* FTM1_MODE: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,FAULTIE=0,FAULTM=0,PWMSYNC=0,INIT=0,FTMEN=1 */
        FTM1_MODE = (uint32_t)((FTM1_MODE & (uint32_t)~(uint32_t)(
                     FTM_MODE_FAULTIE_MASK |
                     FTM_MODE_FAULTM(0x03) |
                     FTM_MODE_PWMSYNC_MASK |
                     FTM_MODE_INIT_MASK |
                     0xFFFFFF00U
                    )) | (uint32_t)(
                     FTM_MODE_FTMEN_MASK
                    ));
        /* FTM1_SYNCONF: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,SYNCMODE=0,??=0,SWOC=0,INVC=0,??=0,CNTINC=0,??=0,HWTRIGMODE=0 */
        FTM1_SYNCONF &= (uint32_t)~(uint32_t)(
                         FTM_SYNCONF_SYNCMODE_MASK |
                         FTM_SYNCONF_SWOC_MASK |
                         FTM_SYNCONF_INVC_MASK |
                         FTM_SYNCONF_CNTINC_MASK |
                         FTM_SYNCONF_HWTRIGMODE_MASK |
                         0xFFE0E04AU
                        );
        /* FTM1_SC: TOF=0,TOIE=0,CPWMS=0,CLKS=1,PS=0 */
        FTM1_SC = (uint32_t)((FTM1_SC & (uint32_t)~(uint32_t)(
                   FTM_SC_TOF_MASK |
                   FTM_SC_TOIE_MASK |
                   FTM_SC_CPWMS_MASK |
                   FTM_SC_CLKS(0x02) |
                   FTM_SC_PS(0x07)
                  )) | (uint32_t)(
                   FTM_SC_CLKS(0x01)
                  ));
        /* FTM1_FMS: FAULTF=0,WPEN=0,FAULTF3=0,FAULTF2=0,FAULTF1=0,FAULTF0=0 */
        FTM1_FMS &= (uint32_t)~(uint32_t)(
                     FTM_FMS_FAULTF_MASK |
                     FTM_FMS_WPEN_MASK |
                     FTM_FMS_FAULTF3_MASK |
                     FTM_FMS_FAULTF2_MASK |
                     FTM_FMS_FAULTF1_MASK |
                     FTM_FMS_FAULTF0_MASK
                    );
        /* FTM1_QDCTRL: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,PHAFLTREN=0,PHBFLTREN=0,PHAPOL=0,PHBPOL=0,QUADMODE=0,QUADIR=0,TOFDIR=0,QUADEN=0 */
        FTM1_QDCTRL = 0x00U;
        /* FTM1_SWOCTRL: CH1OC=0,CH0OC=0 */
        FTM1_SWOCTRL &= (uint32_t)~(uint32_t)(
                         FTM_SWOCTRL_CH1OC_MASK |
                         FTM_SWOCTRL_CH0OC_MASK
                        );
        /* FTM1_CONF: GTBEOUT=0,GTBEEN=0,BDMMODE=3,NUMTOF=0 */
        FTM1_CONF = (uint32_t)((FTM1_CONF & (uint32_t)~(uint32_t)(
                     FTM_CONF_GTBEOUT_MASK |
                     FTM_CONF_GTBEEN_MASK |
                     FTM_CONF_NUMTOF(0x1F)
                    )) | (uint32_t)(
                     FTM_CONF_BDMMODE(0x03)
                    ));
        /* FTM1_PWMLOAD: LDOK=0,CH1SEL=0,CH0SEL=0 */
        FTM1_PWMLOAD &= (uint32_t)~(uint32_t)(
                         FTM_PWMLOAD_LDOK_MASK |
                         FTM_PWMLOAD_CH1SEL_MASK |
                         FTM_PWMLOAD_CH0SEL_MASK
                        );
   
     /* TM */
     /* Set GPIOs for PWM outputs */
     PORTA_BASE_PTR->PCR[ 8 ] = PORT_PCR_MUX( 3 ) | PORT_PCR_SRE_MASK | PORT_PCR_DSE_MASK;
     PORTA_BASE_PTR->PCR[ 9 ] = PORT_PCR_MUX( 3 ) | PORT_PCR_SRE_MASK | PORT_PCR_DSE_MASK;
}

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Май 22, 2014 3:31 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Freescale Kinetis K серия...
Цецо написа:
Просто в движение, да споделя...

1. Това отдолу е кода за една тривиална задача - инициализация на таймер за PWM с два комплиментарни изхода и малко деттайм. Ужас и безумие :) Естествено генериран с PE (че и работи), на мен сигурно ще ми трябва седмица кълване в чаршафа да разбера кой бит съм пропуснал да сетна.
2. Компилация на MQX + пренаписан борд леър за моя хардуер (последното отне седмица пулене)... Без USB, FFS и TCP... 100 килобайта. С включени на максимум оптимизации 50 килобайта.

Иначе като цяло MQX е доста развита система откъм кърнел. Като драйвери обаче... засега впечатленията ми са двусмислени. На високо ниво върви доста готов код. Например серийно I/O - POSIX, върху UART, файн тръгва за 15 минути... обаче само пулинг или интеръпт. DMA... ама друг път. SPI - пулинг или интеръпт. DMA... има, ама не е ясно колко работи. Което не е учутващо предвид "странната" имплементация на самия SPI :) Следва GPIO .... през POSIX интерфейс. Е нема такава дивотия. От последния релиз вече имате вместо POSIX, lightweight драйвери за GPIO... ама като им отвориш кода и установяваш че тия имат много странна представа за lightweight... според мен са си бая тежки.

Като цяло тромавичка е. Малко ме е страх да и измеря превключването на контекста за колко го прави... ама ще е нещо което няма да ми хареса особенно. Иначе добре се връзва се дебъгера и еклипса (j-link), дава бая информация за стекове, нишки и ала бала.

Звучи сякаш е писано от зомбирани индийци по време на пости ... нали знаеш, че са любима дестинация за оутсорсване ;)

_________________
Мразя да мразя ...


Чет Май 22, 2014 4:31 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Freescale Kinetis K серия...
Цецо написа:
Иначе добре се връзва се дебъгера и еклипса (j-link), дава бая информация за стекове, нишки и ала бала.


А давали имената на нишките?
Че моите ги показва по номера и номерата се сменят постоянно... и много ме дразни, ама не знам има ли оправия изобщо...


Чет Май 22, 2014 6:47 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 21, 2005 9:35 pm
Мнения: 152
Местоположение: Варна
Мнение Re: Freescale Kinetis K серия...
palavrov написа:
Просто в движение, да споделя...
Звучи сякаш е писано от зомбирани индийци по време на пости ... нали знаеш, че са любима дестинация за оутсорсване ;)

Най-вероятно са мексиканци в случая :) Фрийскейл имат някакъв център в Мексико...

_________________
LDAA


Пет Май 23, 2014 9:18 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: Freescale Kinetis K серия...
Абе не е от цветнокожи :) Като цяло ОС-а е писан грамотно, личи си. Обаче е тромав или поне на мен така ми изглежда. Нещо средно е между простичките RTOS-и от типа на RTX и FreeRTOS и да кажем линукс. Другото е, че явно е писан изначало за някакви тежки железа и върху куртекса седи малко "странно". Например една структура за мутекс е по спомен поне 100 байта. Ама заложена бая функционалност вътре... дето едва ли ще ми потрябва...

Абе каквото такова. Хванал съм се, ще го изиграя и това хоро. Засега съм ОК, справям се.

А кода от процесор експерта е такова чудо, щото това си е автоматичен тул, всеки бит се манипулира индивидуално. Самия таймер модул е нечовешки сложен по мойте разбирания. То като за първи път виждам контролер с толкова комплексна периферия. Което не е лошо, доста възможности има, ама 2000 страници референс мануал за контролер от тоя клас си е бая стресиращо изживяване.

@Миро, пише ги имената на тредовете. Ама незнам, дали е това, което ти искаш. Ето две картинки от дебъгване:

Прикачени файлове:
Clipboard03.jpg
Clipboard03.jpg [ 118.07 KiB | Прегледано 4118 пъти ]

Прикачени файлове:
Clipboard02.jpg
Clipboard02.jpg [ 107.41 KiB | Прегледано 4118 пъти ]


Като цяло дебъга в CW си върви доста прилично с j-link. Има доста глезотии специално по ОС-а, които аз така и не успях да подкарам в мойте сурови сглобки на еклипса. Конкетва се много стабилно, обаче е осезаемо по-тромав от мойте сглобки, ама предполагам, че е заради трансфера през семихостинга на данните за ОС-а. Това в което засега срещам дърво е SWO-то, още не съм успял да го подкарам, по дефоулт MQX под CW търкаля printf или на UART или на semihosting. Нагласих ядрото да мята данни, гледам че излизат на SWO пина, обаче на конзолата няма нищо. Имам подозрения че CW е заклещил канала в J-link. Сигурно мога да го излъжа, ама засега не ми е зор, имам свободен UАRT и търкалям него.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Май 23, 2014 9:39 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Freescale Kinetis K серия...
Цецо написа:
@Миро, пише ги имената на тредовете. Ама незнам, дали е това, което ти искаш.


е те имат явно някакви плъгини, иначе говорех за втория джам, ама там и при теб не ги пише... Явно ще трябва да търся нещо по-добро от zylin-а, щото по принцип GDB си има правилна информация, просто не се показва. А като станат много тасковете изглежда гадно:


Прикачени файлове:
00.png
00.png [ 222.81 KiB | Прегледано 4116 пъти ]
Пет Май 23, 2014 10:09 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: Freescale Kinetis K серия...
Незнам дали има някаква връзка със Zylin ама аз минах в свободната сглобка на това:
http://sourceforge.net/projects/gnuarmeclipse/

И се родих. Но си качвам само парчето за дебъг, без мениджъра на проекти и ала-бала. Работи ми в пъти по стабилно дебъгването от Zylin, там така и не успях да го настроя като хората с J-link, или отначало го изпускам и тръгва без да искам, или забие чат - пат...

Докато с тоя на гну-арм си работи много стабилно и спретнато, SWO - то си го прихваща към конзолата, има си бутонче ресет, регистри, променливи всичко се визуализра коректно. Но относно ОС awarnes-а не знам как се държи и той, мисля, че не е по-различно от Zylin, пустош...

Тоя zylin май няма ъпдейт от години, писан е от някой да си свърши работата и колкото-толкова.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Май 23, 2014 10:31 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: Freescale Kinetis K серия...
Ако не е глухата акула, ще е свирка без топче.... Не съм ли карък, а?

https://community.freescale.com/message ... ead#407491

Преди ме беше яд.... вече ми е смешно... явно изкукуригвам.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Май 30, 2014 1:14 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: Freescale Kinetis K серия...
Късметлия си :D .


Пет Май 30, 2014 1:54 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение Re: Freescale Kinetis K серия...
Голям жак.


Пет Май 30, 2014 3:06 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение Re: Freescale Kinetis K серия...
Както се казва честито на печелившите и успех на останалите в следващото теглене :)


Пет Май 30, 2014 3:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: Freescale Kinetis K серия...
Да бяха 6-ци от тото, щях да съм събрал военниия бюджет на САЩ :)

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Май 30, 2014 3:31 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Freescale Kinetis K серия...
Цецо написа:
Ако не е глухата акула, ще е свирка без топче.... Не съм ли карък, а?


Ти сам си реши да ставаш опитно зайче ;-)

Споко, все някак софтуерът ще се справи и без ДМА. Предполагам вече си имаш платки и е късно да връщаш резбата, така че пари няма, действай!


Пет Май 30, 2014 8:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение Re: Freescale Kinetis K серия...
ново 20

оказа се, че само UART0 има FIFO. другите нямат.
регистъра за сетване на дълбочината на FIFO-то има битове за сетване на до 128 байта, но реално има само до 8 (байта).
описанието на контролния регистър явно е универсално и го copy-paste в менуалите, а в началото (около стотна страница) казват какво реално има в чипа.

това важи за чипове:
MK20DN32VFM5, MK20DX32VFM5, MK20DN64VFM5,
MK20DX64VFM5, MK20DN128VFM5, MK20DX128VFM5

за чип от серията MK20F (като на цецо):
Цитат:
7. UART0 and UART1 contains 8-entry transmit and 8-entry receive FIFOs
8. All other UARTs contain a 1-entry transmit and receive FIFOs


Последна промяна ДедоБоре на Чет Юни 05, 2014 9:07 pm, променена общо 1 път



Чет Юни 05, 2014 4:12 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 45 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни