300多行代碼實現的一個多任務OS

嵌入式ARM 2022-09-07 12:10

本期主角:cola_os

cola_os是一個300多行代碼實現的多任務管理的OS,在很多MCU開發中,功能很簡單,實時性要求不強,任務多了管理不當又很亂。

如果使用RTOS顯得太浪費,這時候可以嘗試使用使用cola_os這類基于軟件定時器實現的時間片輪詢框架倉庫鏈接見文末“閱讀原文”)。

license:MulanPSL-1.0(木蘭寬松許可證, 第1版)。

cola_os是一份簡潔明了的代碼,包含很多有用的編程思想,值得通讀。下面我們一起來學習一下:

cola_os的分析及使用

下面是關于cola_os的簡單介紹,讓我們一起來完整地梳理一遍。

cola_os目前的內容如下:

1、cola_os

cola_os就是cola_os的任務管理模塊。任務使用鏈表進行管理,其數據結構如:

typedef?void?(*cbFunc)(uint32_t?event);

typedef?struct?task_s
{

????uint8_t?????timerNum;????//定時編號
????uint32_t????period;??????//定時周期
????bool????????oneShot;?????//true只執行一次
????bool????????start;???????//開始啟動
????uint32_t????timerTick;???//定時計數
????bool????????run;?????????//任務運行標志?
????bool????????taskFlag;????//任務標志是主任務還是定時任務
????uint32_t????event;???????//驅動事件??
????cbFunc??????func;????????//回調函數
????struct?task_s?*next;
}task_t;

每創建一個任務嗎,就是往任務鏈表中插入一個任務節點。

其創建任務的方法有兩種:

  • 創建主循環任務
  • 創建定時任務

兩種方式創建,都是會在while(1)循環中調度執行任務函數。

我們可以看看cola_task_loop任務遍歷函數,這個函數最終是要放在主函數while(1)中調用的。其內容如下:

void?cola_task_loop(void)
{
????uint32_t?events;
????task_t?*cur??=?task_list;
????OS_CPU_SR?cpu_sr;
????
????while(?cur?!=?NULL?)
????{
????????if(cur->run)
????????{
????????????if(NULL?!=cur->func)
????????????{
????????????????events?=?cur->event;
????????????????if(events)
????????????????{
????????????????????enter_critical();
????????????????????cur->event?=?0;
????????????????????exit_critical();
????????????????}
????????????????cur->func(events);????????????????
????????????}
????????????if(TASK_TIMER?==?cur->taskFlag)
????????????{
????????????????enter_critical();
????????????????cur->run?=?false;
????????????????exit_critical();
????????????}
????????????if((cur->oneShot)&&(TASK_TIMER?==?cur->taskFlag))
????????????{
???????????????cur->start?=?false;?
????????????}
????????}
????????cur?=?cur->next;
????}
}

兩種方式創建的任務都會在cur->func(events);被調用。不同的就是:遍歷執行到定時任務時,需要清掉定時相關標志。

其中,events作為任務函數的參數傳入。從cola_task_loop可以看到,事件并未使用到,events無論真還是假,在執行任務函數前,都被清零了。events的功能應該是作者預留的。

創建任務很簡單,比如創建一個定時任務:

static?task_t?timer_500ms;

//每500ms執行一次
static?void?timer_500ms_cb(uint32_t?event)
{
????printf("task0?running...\n");
}

cola_timer_create(&timer_500ms,?timer_500ms_cb);
cola_timer_start(&timer_500ms,?TIMER_ALWAYS,?500);

cola_os是基于軟件定時器來進行任務調度管理的,需要一個硬件定時器提供時基。比如使用系統滴答定時器,配置為1ms中斷一次。

在1ms中斷中不斷輪詢判斷定時計數是否到達定時時間:

void?SysTick_Handler(void)
{
??cola_timer_ticker();
}

void?cola_timer_ticker(void)
{
????task_t?*cur??=?task_list;
????OS_CPU_SR?cpu_sr;
????while(?cur?!=?NULL?)
????{
????????if((TASK_TIMER?==?cur->taskFlag)&&?cur->start)
????????{
????????????if(++cur->timerTick?>=?cur->period)
????????????{
????????????????cur->timerTick?=?0;
????????????????if(cur->func?!=?NULL)
????????????????{
????????????????????enter_critical();???????????????????
????????????????????cur->run?=?true;
????????????????????exit_critical();
????????????????}
????????????}
????????}
????????cur?=?cur->next;
????}
}

如果到了則將標志cur->run置位,在while大循環中的cola_task_loop函數中如果檢測到該標志就執行該任務函數。

2、cola_device

cola_device是硬件抽象層,使用鏈表來管理各個設備。其借鑒了RT-Thread及Linux相關驅動框架思想。大致內容如下:

數據結構如:

typedef?struct?cola_device??cola_device_t;

struct?cola_device_ops
{

????int??(*init)???(cola_device_t?*dev);
????int??(*open)???(cola_device_t?*dev,?int?oflag);
????int??(*close)??(cola_device_t?*dev);
????int??(*read)???(cola_device_t?*dev,?int?pos,?void?*buffer,?int?size);
????int??(*write)??(cola_device_t?*dev,?int?pos,?const?void?*buffer,?int?size);
????int??(*control)(cola_device_t?*dev,?int?cmd,?void?*args);

};

struct?cola_device
{

????const?char?*?name;
????struct?cola_device_ops?*dops;
????struct?cola_device?*next;
};

硬件抽象層的接口如:

/*
????驅動注冊
*/

int?cola_device_register(cola_device_t?*dev);
/*
????驅動查找
*/

cola_device_t?*cola_device_find(const?char?*name);
/*
????驅動讀
*/

int?cola_device_read(cola_device_t?*dev,??int?pos,?void?*buffer,?int?size);
/*
????驅動寫
*/

int?cola_device_write(cola_device_t?*dev,?int?pos,?const?void?*buffer,?int?size);
/*
????驅動控制
*/

int?cola_device_ctrl(cola_device_t?*dev,??int?cmd,?void?*arg);

首先,在驅動層注冊好設備,把操作設備的函數指針及設備名稱插入到設備鏈表中:

static?cola_device_t?led_dev;

static?void?led_gpio_init(void)
{
????GPIO_InitTypeDef?GPIO_InitStructure;
????RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC,?ENABLE);
????GPIO_InitStructure.GPIO_Pin?=?PIN_GREENLED;????????????????????????????
????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_OUT;?????????????????????
????GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;??????????????????
????GPIO_InitStructure.GPIO_OType?=?GPIO_OType_PP;?????????????????????
????GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_NOPULL;??????????????????
????GPIO_Init(PORT_GREEN_LED,?&GPIO_InitStructure);
????LED_GREEN_OFF;
}

static?int?led_ctrl(cola_device_t?*dev,?int?cmd,?void?*args)
{
????if(LED_TOGGLE?==?cmd)
????{
????????LED_GREEN_TOGGLE;
????}
????else?
????{
????????
????}
????return?1;
}


static?struct?cola_device_ops?ops?=
{

????.control?=?led_ctrl,
};

static?void?led_register(void)
{
????led_gpio_init();
????led_dev.dops?=?&ops;
????led_dev.name?=?"led";
????cola_device_register(&led_dev);
}

cola_device_register函數如:

int?cola_device_register(cola_device_t?*dev)
{
????if((NULL?==?dev)?||?(cola_device_is_exists(dev)))
????{
????????return?0;
????}

????if((NULL?==?dev->name)?||??(NULL?==?dev->dops))
????{
????????return?0;
????}
????return?device_list_inster(dev);
}

驅動注冊好設備之后,應用層就可以根據設備名稱來查找設備是否被注冊,如果已經注冊則可以調用設備操作接口操控設備。比如創建一個定時任務定時反轉led:

void?app_init(void)
{
????app_led_dev?=?cola_device_find("led");
????assert(app_led_dev);
????cola_timer_create(&timer_500ms,timer_500ms_cb);
????cola_timer_start(&timer_500ms,TIMER_ALWAYS,500);
}

static?void?timer_500ms_cb(uint32_t?event)
{
????cola_device_ctrl(app_led_dev,LED_TOGGLE,0);
}

3、cola_init

cola_init是一個自動初始化模塊,模仿Linux的initcall機制。RT-Thread也有實現這個功能:

一般的,我們的初始化在主函數中調用,如:

有了自動初始化模塊,可以不在主函數中調用,例如:

void?SystemClock_Config(void)
{
}
pure_initcall(SystemClock_Config);

這樣也可以調用SystemClock_Config。pure_initcall如:

#define??__used??__attribute__((__used__))

typedef?void?(*initcall_t)(void);

#define?__define_initcall(fn,?id)?\
????static?const?initcall_t?__initcall_##fn##id?__used?\
????__attribute__((__section__("initcall"?#id?"init")))?=?fn;?


#define?pure_initcall(fn)???????__define_initcall(fn,?0)?//可用作系統時鐘初始化??
#define?fs_initcall(fn)?????????__define_initcall(fn,?1)?//tick和調試接口初始化
#define?device_initcall(fn)?????__define_initcall(fn,?2)?//驅動初始化
#define?late_initcall(fn)???????__define_initcall(fn,?3)?//其他初始化

在cola_init中,首先是調用不同順序級別的__define_initcall宏來把函數指針fn放入到自定義的指定的段中。各個需要自動初始化的函數放到指定的段中,形成一張初始化函數表。

__ attribute __ (( __ section __)) 關鍵字就是用來指定數據存放段。

do_init_call函數在我們程序起始時調用,比如在bsp_init中調用:

void?bsp_init(void)
{
????do_init_call();
}

do_init_call里做的事情就是遍歷初始化函數表里的函數:

void?do_init_call(void)
{
????extern?initcall_t?initcall0init$$Base[];
????extern?initcall_t?initcall0init$$Limit[];
????extern?initcall_t?initcall1init$$Base[];
????extern?initcall_t?initcall1init$$Limit[];
????extern?initcall_t?initcall2init$$Base[];
????extern?initcall_t?initcall2init$$Limit[];
????extern?initcall_t?initcall3init$$Base[];
????extern?initcall_t?initcall3init$$Limit[];
????
????initcall_t?*fn;
????
????for?(fn?=?initcall0init$$Base;
????????????fn?????????????fn++)
????{
????????if(fn)
????????????(*fn)();
????}
????
????for?(fn?=?initcall1init$$Base;
????????????fn?????????????fn++)
????{
????????if(fn)
????????????(*fn)();
????}
????
????for?(fn?=?initcall2init$$Base;
????????????fn?????????????fn++)
????{
????????if(fn)
????????????(*fn)();
????}
????
????for?(fn?=?initcall3init$$Base;
????????????fn?????????????fn++)
????{
????????if(fn)
????????????(*fn)();
????}
}

這里有 initcall0init $$ Baseinitcall0init Limit這幾個initcall_t類型的函數指針數組的聲明。它們事先是調用__define_initcall把函數指針fn放入到自定義的指定的段.initcall0init、.initcall1init、.initcall2init、.initcall3init。

initcall0init$$Baseinitcall0init$$Limit按照我的理解就是各個初始化函數表的開始及結束地址。從而實現遍歷:

????for?(fn?=?initcall0init$$Base;
????????????fn?????????????fn++)
????{
????????if(fn)
????????????(*fn)();
????}

例如RT-Thread里的實現也是類似的:

????volatile?const?init_fn_t?*fn_ptr;

????for?(fn_ptr?=?&__rt_init_rti_board_start;?fn_ptr?????{
????????(*fn_ptr)();
????}

關于init自動初始化機制大致就分析這些。

cola_os包含有cola_os任務管理、cola_device硬件抽象層及cola_init自動初始化三大塊,這三塊內容其實可以單獨抽出來學習、使用。

4、cola_os的使用

下面我們基于小熊派IOT開發板來簡單實踐實踐。

我們創建兩個定時任務:

  • task0任務:定時500ms打印一次。
  • task1任務:定時1000ms打印一次。

main.c:

/*?Private?variables?---------------------------------------------------------*/
static?task_t?timer_500ms;
static?task_t?timer_1000ms;
/*?USER?CODE?END?PV?*/

/*?Private?function?prototypes?-----------------------------------------------*/
void?SystemClock_Config(void);

/*?USER?CODE?BEGIN?PFP?*/
/*?Private?function?prototypes?-----------------------------------------------*/

/*?USER?CODE?END?PFP?*/

/*?USER?CODE?BEGIN?0?*/

//每500ms執行一次
static?void?timer_500ms_cb(uint32_t?event)
{
????printf("task0?running...\n");
}

//每1000ms執行一次
static?void?timer_1000ms_cb(uint32_t?event)
{
????printf("task1?running...\n");
}

int?main(void)
{
??/*?USER?CODE?BEGIN?1?*/
?
??/*?USER?CODE?END?1?*/

??/*?MCU?Configuration----------------------------------------------------------*/

??/*?Reset?of?all?peripherals,?Initializes?the?Flash?interface?and?the?Systick.?*/
??HAL_Init();

??/*?USER?CODE?BEGIN?Init?*/

??/*?USER?CODE?END?Init?*/

??/*?Configure?the?system?clock?*/
//??SystemClock_Config();

??/*?USER?CODE?BEGIN?SysInit?*/

??/*?USER?CODE?END?SysInit?*/

??/*?Initialize?all?configured?peripherals?*/
??MX_GPIO_Init();
??MX_DMA_Init();
??MX_USART1_UART_Init();
??/*?USER?CODE?BEGIN?2?*/
??printf("微信公眾號:嵌入式大雜燴\r\n");
??printf("cola_os?test!\r\n");
??
??cola_timer_create(&timer_500ms,timer_500ms_cb);
??cola_timer_start(&timer_500ms,TIMER_ALWAYS,500);
??cola_timer_create(&timer_1000ms,timer_1000ms_cb);
??cola_timer_start(&timer_1000ms,TIMER_ALWAYS,1000);

??/*?USER?CODE?END?2?*/

??/*?Infinite?loop?*/
??/*?USER?CODE?BEGIN?WHILE?*/
??while?(1)
??{

??/*?USER?CODE?END?WHILE?*/

??/*?USER?CODE?BEGIN?3?*/
????cola_task_loop();
??}
??/*?USER?CODE?END?3?*/

}

/**
??*?@brief?System?Clock?Configuration
??*?@retval?None
??*/

void?SystemClock_Config(void)
{

??RCC_OscInitTypeDef?RCC_OscInitStruct;
??RCC_ClkInitTypeDef?RCC_ClkInitStruct;
??RCC_PeriphCLKInitTypeDef?PeriphClkInit;

????/**Initializes?the?CPU,?AHB?and?APB?busses?clocks?
????*/

??RCC_OscInitStruct.OscillatorType?=?RCC_OSCILLATORTYPE_MSI;
??RCC_OscInitStruct.MSIState?=?RCC_MSI_ON;
??RCC_OscInitStruct.MSICalibrationValue?=?0;
??RCC_OscInitStruct.MSIClockRange?=?RCC_MSIRANGE_6;
??RCC_OscInitStruct.PLL.PLLState?=?RCC_PLL_ON;
??RCC_OscInitStruct.PLL.PLLSource?=?RCC_PLLSOURCE_MSI;
??RCC_OscInitStruct.PLL.PLLM?=?1;
??RCC_OscInitStruct.PLL.PLLN?=?40;
??RCC_OscInitStruct.PLL.PLLP?=?RCC_PLLP_DIV7;
??RCC_OscInitStruct.PLL.PLLQ?=?RCC_PLLQ_DIV2;
??RCC_OscInitStruct.PLL.PLLR?=?RCC_PLLR_DIV2;
??if?(HAL_RCC_OscConfig(&RCC_OscInitStruct)?!=?HAL_OK)
??{
????_Error_Handler(__FILE__,?__LINE__);
??}

????/**Initializes?the?CPU,?AHB?and?APB?busses?clocks?
????*/

??RCC_ClkInitStruct.ClockType?=?RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
??????????????????????????????|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
??RCC_ClkInitStruct.SYSCLKSource?=?RCC_SYSCLKSOURCE_PLLCLK;
??RCC_ClkInitStruct.AHBCLKDivider?=?RCC_SYSCLK_DIV1;
??RCC_ClkInitStruct.APB1CLKDivider?=?RCC_HCLK_DIV1;
??RCC_ClkInitStruct.APB2CLKDivider?=?RCC_HCLK_DIV1;

??if?(HAL_RCC_ClockConfig(&RCC_ClkInitStruct,?FLASH_LATENCY_4)?!=?HAL_OK)
??{
????_Error_Handler(__FILE__,?__LINE__);
??}

??PeriphClkInit.PeriphClockSelection?=?RCC_PERIPHCLK_USART1;
??PeriphClkInit.Usart1ClockSelection?=?RCC_USART1CLKSOURCE_PCLK2;
??if?(HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit)?!=?HAL_OK)
??{
????_Error_Handler(__FILE__,?__LINE__);
??}

????/**Configure?the?main?internal?regulator?output?voltage?
????*/

??if?(HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1)?!=?HAL_OK)
??{
????_Error_Handler(__FILE__,?__LINE__);
??}

????/**Configure?the?Systick?interrupt?time?
????*/

??HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);

????/**Configure?the?Systick?
????*/

??HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);

??/*?SysTick_IRQn?interrupt?configuration?*/
??HAL_NVIC_SetPriority(SysTick_IRQn,?0,?0);
}
pure_initcall(SystemClock_Config);

SysTick_Handler:

void?SysTick_Handler(void)
{
??/*?USER?CODE?BEGIN?SysTick_IRQn?0?*/

??/*?USER?CODE?END?SysTick_IRQn?0?*/
??cola_timer_ticker();
??HAL_IncTick();
??HAL_SYSTICK_IRQHandler();
??/*?USER?CODE?BEGIN?SysTick_IRQn?1?*/

??/*?USER?CODE?END?SysTick_IRQn?1?*/
}

編譯、下載、運行:

從運行結果可以看到,task1的定時周期是task0的兩倍,符合預期。

好了,以上就是本次的分享,文章如有錯誤,歡迎指出,謝謝!


END

作者:ZhengNL
來源:嵌入式大雜燴

版權歸原作者所有,如有侵權,請聯系刪除。

推薦閱讀
最新泛955不加班的公司名單
10個超贊的C語言開源項目,強烈推薦!
手把手教你VSCode搭建STM32開發環境

→點關注,不迷路←
嵌入式ARM 關注這個時代最火的嵌入式ARM,你想知道的都在這里。
評論
  • 在物聯網從“萬物互聯”邁向“萬物智聯”的進程中,LTE Cat.1憑借其在速率、成本與網絡覆蓋之間的完美平衡,正成為中低速物聯網市場的絕對主力。隨著2G/3G網絡的逐步退網以及新國標對終端設備智能化、定位功能的強制要求,Cat.1模組迎來了爆發式的增長窗口。在這一關鍵節點,基于華為海思Hi2131芯片設計的LTE Cat.1模組,憑借其在能效、射頻、架構及物理規格上的底層創新,成功打破了“高性能必高功耗”的傳統魔咒,為行業提供了極具競爭力的連接最優解。核心技術優勢:重塑Cat.1能效與連接標桿海
    用戶1778981989717 2026-08-05 21:04 88瀏覽
  • 在前六期中,我們已經分別討論了 CRA 的適用范圍、整體影響、漏洞通報義務、風險評估與技術文檔證據鏈、第三方組件與 SBOM 供應鏈治理,以及產品上市后的支持期、安全更新、用戶說明和終止支持管理。到這里,企業已經能夠回答幾個核心問題:產品是否落入 CRA 適用范圍,產品由哪些組件構成,企業如何證明自己在設計、開發和上市前采取了必要的安全措施,以及產品上市后如何持續維護和安全下線。但對于真正準備落地 CRA 合規的企業來說,還有一個更現實的問題:CRA 的法規條文相對原則化,企業應當如何把“網絡安
    虹科云科技 2026-08-03 16:51 7888瀏覽
  • 導語在現代高速數字電路設計中,信號的完整性已不僅是理想波形推演,而是一場與物理非理想特性正面博弈的工程實踐。濾波器芯片作為凈化傳輸鏈路的關鍵屏障,其核心挑戰在于:能否有效識別并濾除那些隱匿在電平跳變過程中的亞納秒級瞬態脈沖干擾,這類干擾持續極短,卻足以在高速鏈路中引發誤觸發。然而,傳統函數發生器受限于采樣率與邊沿速率,根本無法忠實復現如此狹窄且陡峭的異常波形。針對此困境,德思特TS-AWG7000系列任意波形發生器以17 GS/s采樣率與50 ps原生邊沿速度,為瞬態脈沖提供精細刻畫,配合SPG
    德思特測試測量 2026-08-05 14:06 5瀏覽
  • 今年好幾個客戶都問過我同一件事。藍牙音頻產品到底用 WT2605 這種單芯片,還是老老實實 MCU 外掛藍牙模組。兩種方案我都落地過,說點實在的,WT2605 剛出來那陣我也犯嘀咕,怕是營銷噱頭,真拿來做完一版樣機才服氣。一、選型先看三個維度外圍數量。這是最直觀的。傳統做法是 MCU 加藍牙模組,再加音頻編解碼、功放、晶振和一堆阻容,板子上密密麻麻十幾二十顆料。WT2605 把藍牙、解碼、功放全收進一顆,外圍就剩少量被動件。開發周期。傳統方案得自己接藍牙協議棧,配網、A2DP 解碼、音頻通路一一
    唯創知音語音芯片 2026-07-31 16:35 435瀏覽
  • 在EMC測試過程中,傳導發射(Conducted Emission,CE)超標是工程師最常遇到的問題之一。更令人頭疼的是,同樣的超標曲線背后,可能對應著完全不同的干擾機理:有的是差模噪聲沿電源回路傳播,有的是共模電流通過寄生路徑耦合,還有些問題甚至并非來自電源本身,而是負載、電纜布局或接地結構引起的連鎖反應。 · 150kHz~1MHz 超標:多為差模噪聲為主,干擾沿火線-零線回路傳輸。 · 1MHz~30MHz 超標:通常共模噪聲占主導,干擾通過火線/零線對地回路傳播。 如果條件允許,用電流探
    譽磁電磁兼容EMC 2026-07-31 18:45 420瀏覽
  • 文:杜杰編輯:侯煜當地時間7月28日,美國特朗普政府落地最新科技封鎖政策,美國聯邦通信委員會(FCC)正式更新《受管制清單》,新增兩大類設備——境外生產的先進機器人設備、境外生產的聯網電力逆變器。FCC在官方情況說明書中明確,該類境外制造產品,“會對美國國家安全或美國民眾的人身安全構成無法承受的風險”。本次新規設置明確豁免機制:經美國國防部(DoW)、電力逆變器品類經美國國土安全部(DHS)審核并授予“有條件批準”,認定對應設備品類不存在重大安全風險,即可獲得準入豁免。同時政策嚴格執行新老劃斷原
    華爾街科技眼 2026-08-03 21:28 119瀏覽
  • ?摘要:低價大流量卡正全面退市,政策收緊已成定局。面對傳統號卡的不確定性,隨身WiFi憑借穩定連接、多設備共享、獨立設備和靈活套餐等優勢,成為務實可靠的備選方案。1、流量卡黃金時代要結束了通信行業正迎來一場前所未有的“地震式”調整——曾讓無數用戶追捧的低價大流量卡,正在全速退出各大平臺。這早已不是一次普通的競合,而是一場趨勢性的行業洗牌。回望過去,19元200G的神卡,那時真是“睡著都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像隨便刷、隨便看,流量自由觸手可及。可如今,回頭再看,那種
    愛上電路設計 2026-08-03 10:21 128719瀏覽
  •     長期專注WiFi領域,也算是行業老兵了!同行閑聊中,時不時能提起我和我們!從疫情起,國產替代風生水起,起起落落,大浪淘沙,生存下來的都是強者!    WiFi模塊應用廣泛,對于高端市場和特定市場,要求WIFI模塊需要過CE/FCC之類的認證,也就是說沒有認證的模塊,不具備導入產品設計.接下來就和大家聊聊認證模塊選型參考!    WIFi模塊硬件方面主要考慮以下九點特性:    1
    納拓科技 2026-07-31 17:56 194瀏覽
  • 在芯片總成本中占比不到 1%,卻可能因一處品質偏差導致整片晶圓報廢——半導體切割/研磨膠帶,正隨著先進封裝的爆發,成為封測產線選型中最謹慎對待的耗材之一。但鮮有人注意到,決定這層膠帶性能上限的,是上游一層更薄的基膜。這個長期由日本企業主導的隱形環節,正在出現國產突圍的信號。一、需求之變:先進封裝與“韜定律”重塑膠帶市場AI 算力芯片、HBM 高帶寬存儲、Chiplet 芯粒等先進封裝產品持續放量,國內封測產線擴產節奏不減。作為晶圓減薄與切割工序的必需耗材,晶圓膠帶的需求同步擴容。據 QYRese
    芯膜前沿 2026-07-31 16:35 328瀏覽
  • 摘要在防爆電氣設計中,只參照芯數選型而忽略額定載流量,長期滿負荷運行會出現插頭發熱、接觸面氧化、IP67 密封受熱老化等問題。結合常用 3 針 3 孔、4 芯、5PIN、8PIN 圓形防爆連接器,制作分級電流參數對照表,區分冷壓免焊接、焊接兩種接線結構的安全載流數值,設置合理電流冗余系數,搭配使用環境修正參數,規范防爆接近開關連接器、防爆法蘭插座的選型計算方式。關鍵詞圓形防爆連接器,載流參數表,防爆法蘭插座,防爆端子接頭,IP67 防爆防水接插件1 產品概述圓形防爆連接器觸點載流能力由插針直徑、
    kyfbest科迎法電氣 2026-08-03 09:18 128526瀏覽
  • 智能寵物用品這幾年快速普及,自動清理幾乎成了智能貓砂盆的標配。貓咪用完離場,設備自動翻轉清理,養寵家庭省去了每天彎腰清理的麻煩。但自動清理的第一步,是先準確判斷貓到底在不在盆里。這個看似簡單的問題,在小空間里并不容易做好。近場檢測的痛點:距離太遠反而誤事貓砂盆內部空間有限。如果傳感器的檢測距離設得偏大,盆外路過的貓、人甚至物品都會被誤判為貓在盆內,結果該清理時不清理、不該清理時亂清理,體驗直接崩壞。這類產品的核心訴求其實就一句話:近距離、小范圍、精準識別,不能有半點誤判。常規感應方案常因檢測距離
    唯創知音語音芯片 2026-07-31 16:51 270瀏覽
  • 摘要防爆自控系統同時布設本安信號、工業總線、動力供電三類線路,僅依靠標識標牌管控插接極易出現人為錯插問題,高壓動力回路竄入本安弱電回路會突破安全柵限能標準,產生點火風險。依托 A、D、K 標準化機械防呆編碼體系,搭配護套顏色區分管理,適配 3 針 3 孔免焊接冷壓增安型防爆航插、5PIN 總線防爆航空插頭、8 芯焊接防爆法蘭插座的選型使用,從物理結構層面杜絕防爆接近開關連接器、防爆傳感器航插接頭混用插接問題,補齊防爆系統被動安全防護體系。關鍵詞圓形防爆連接器,防呆編碼防爆航插,防爆航空插頭,防爆
    kyfbest科迎法電氣 2026-07-31 18:29 332瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 萌宝追妻:神级奶爸短剧全集| 傻哥蹦迪| 雷小翼个人简介| 韩国在线观看| 他和她的谎电视剧| 星空在线观看全集免费高清| 马克龙访华三天签了这些大单| 白峰电影在线播放免费版| 情陷夜中环2剧情| 高清《职场妻子的出轨》中语字| 洗冤录第一部国语全集| 张云熙电影在线观看| 巜色诱女教师在线观看| 色即是空2视频| 看不见的朋友| 上海一家人主题曲| 混战两姐妹| 第22条婚规片尾曲| 济南战役电影| 兔子先生第一季免费视频播放全集| 无名高地剧情介绍| 琅琊榜风起长林| 变形金刚2国语版免费观看| 美国伦理蜜桃4| 高清《新龙门客栈》| 金银花露的哪个车最多| 湿润的继拇HD中文泡泡| 《冰火魔厨》动漫| 我们永不言弃免费观看| 男生女生一起相愁愁愁电视剧在线观30集| 人生路在线观看完整版| 超神学院第7集| 善良的嫂子2字巴巴鱼汤饭| 插曲的痛完整版在线观看免费高清电影| 密爱 优酷| 完颜之月| 魔力宝贝监狱免费观看在线| 法国空乘免费高清观看| 新来的邻居| 办公室里的滋润| 冻结地球电视剧| 女教师在线中文字幕看免费完整版| 美丽樱桃| 肉蒲团电影下载| 真相电视剧在线观看完整版免费| 张警官三部曲观看免费版全集视频| 舞出我人生电影| 高清《天国与地狱》电影| 重生巨龙猎艳御女林| 刚结婚陪部长出差电影| 柯南15剧场版| 韩剧《财阀儿媳》| 1986娃娃脸中文版| 青青草在 线免费观看| 尸鬼 动漫| 麻豆《维修艳遇》在线| 康熙来了停播| 干脆杀了他算了电影| 电视剧骄阳伴我免费观看全集| 私人航空在线观看完整版电影| 快嘴李翠莲高清| 鹿鼎记2粤语| 盛唐风流电影免费在线观看| 失忆的劳拉电影| 浪漫刺客免费全集完整版| 老婆6免费观看完整版电视剧| 水上游击队全集| 线切割教程| 河源市| 我的世界十大恐怖事件| 鉴证实录1| 我唾弃你的坟墓 在线| 西出玉门几点更新| 人间四月天电视剧| 《姨母的诱惑》| 上门赘婿:老婆有钱全集免费| 猛鬼舔人2| 《女大学生的沙龙室》| 亦舞之城免费观看全集完整版 | 好姑娘中文在线观看| 柯南纯黑的噩梦| 英雄黄海冰| 末班车后胶囊旅馆| 三年免费高清第一集在线看| 城中之城电视剧全集免费| 杯水情歌吉他谱| 电影寡妇村| 拐个皇子回现代| 韩剧我的女孩国语在线观看| 性的暴行北越未删减版| 归棹电视剧| 兴风作浪3电影| 王多鱼打扑克| 孤注电影完整版免费观看| https://mfa.mfav100.vip:8721/| 爱情开关| 夫妻二人世界免费观看第四季| 女泳永教练的欲望| 沸腾的群山电视剧在线观看| 电视剧少年嘉庆| 非诚勿扰2012414| 人猿泰山成人| 《姊妹牙医》完整版免费观看高清中| 风骚小保姆| 烽火佳人| 《美丽妻子替夫还债》剧免费观看韩 | 电影上司的老婆双字ID| 一起来看流星雨35| 不惑之旅| 公之浮手中字9| 第一伞兵队电视剧| 电视剧独狼在线观看| 超感迷宫在线观看电视剧| 海贼王499| 八戒8电影在线播放免费观看 | 美国修车艳遇电影在线观看| 白日梦我电视剧在线观看免费版 | 厨神全40集电视剧免费观看| 郝板栗七部曲免费观看 | xl司令第一季无马赛| 快说我和你老公谁厉害| 承欢记免费观看完整版电视剧高清| 蛇姬恋免费观看完整版| 故宫三维动画| 高清《环太平洋1》免费观看完整版| 白峰601电影免费播放2023年上映时间表| 华尔街1电影| 长津湖在线观看免费| 黑鹰坠落国语| 在公车被农民工猛烈进| xl司令第一季无马赛克全集在线观看完整版 | 美国电影《要爸爸播种2》的导演是谁 | 败家仔国语版| 白鹿原电影简介| 天地人间| 黑暗荣耀2无删减韩剧在线播放| 超女麦乐迪在线观看视频| 梦回鹿鼎记完整版| 《屋顶工》拉拉在线观看| 光棍儿2| 新来的社长是风间由美| 《高压监狱2》法国版正版| 教室别恋下载| 一代枭雄| 千金赤子板栗在线观看免费高清| 蛛丝马迹| 一起愁愁第40集免费看| 莫比乌斯电影完整版免费观看| 公孚手| 拆局专家粤语| 陪部长一起出差电影| 美辰之屋6| 欢乐颂2| 神奇女侠在线观看| 樱桃红电视剧免费全集在线播放| 荣誉守则在线观看| 夫妻免费看大片真人电视剧| 韩国办公室秘书| 人约离婚后国语高清| 《风月宝鉴》完整版在线看| 倔强的花子与驱魔师| 东北风云| 姑娘我爱你舞蹈| 《新员工入职秘书2》免费 | 假面骑士龙骑美版| 终极一班4全部20集| 潮剧全剧下载| 麦乐迪女超人在线观看完整免费高清原声满天星 | 《大战凯丽》免费看| 瓢虫贝贝| 沈阳时尚地下| 日本电影《姐妹牙医》在线播放| 龙须沟免费| 《好东西》剧情介绍| 《最高の爱人诏三上》在线观看| 隐龙老爸风华绝代短剧免费观看| 高清夺命网红2| 色天使TV| 乱世佳人电视剧免费观看全集| 孙悟空大战盘丝洞猪八戒| 千金赤子板栗| 奥特曼大全动画片| 《爸爸种子2》在线| 十七大内容| 叶卡捷琳娜大帝第一季| 和部长一起泡温泉的电视剧| 快播电影u影一族| 1980禁忌1980禁忌1芭芭拉全集 | 光荣时代| 坎贝奇无憾免费无删减在线观看| 81号档案| 《她被搬运工侵犯》完整版| 暴走财神1| 楚才晋用是什么意思| 丽卡驯服2普通话版| 邻居也疯狂电视剧| 萧山恒隆电影大世界| 你是我的荣耀电视剧免费观看| 田耕纪电视剧全集免费观看| 2019商务旅行戴帽子的视频| 整鱼两吃| 爱情与战争2| Sybil冷艳甜心的奢华夜宴超清播放_2014欧㊣美-ddd888影院 | 欧美灭火宝贝在线观看完整版| 美容特殊治疗6| 诱惑:湿身代言| 2013女超人| 宝贝我想你了我的都大了404| 武林志电影| 美妙旋律第二季28| 我的女邻居免费完整版电视剧| 免费观看三年大片完整版电影| 欢天喜地七仙女38集| 当婚姻走到尽头| 以家人之名电视剧全集免费| 绝密电视剧在线观看全集免费播放| 4大学生| 东北黑道风云20年2| 漂亮的瘦子 5| 东京奥运会回放| 女房东的秘密 韩国电影在线观看| 绝密押运18| 危情瘾难耐| 临夏县| 张学友什么歌好听| 罗曼蒂克地下室骑马画面| 男人不难嫁片尾曲| 小蜜桃5,| 机动奥特曼 第三季| 孝子电视剧| 高清炽热吸引未删减| 《澳门风云3》电影| 荣誉法则满天星版| 拉进门就开始强吻| 《饥饿的女儿》| 维斯塔小镇家长会2免费观看| 貌似高手| 电影坏鸟| 河南四平调小包公| 陈雅伦曹查理《我为卿痴狂》在哪里| 大约是爱txt下载| 《需要爸爸播种美国》演员中文名| 杉杉来吃电视剧全集| 麦乐迪超人系列nice| 北京辉子哥| 蓝精灵国语版| 撞入他的热恋电视剧免费观看| 阿诗玛在线观看| 电视剧大秦赋| 鬼泣动漫| 莱芜一夜情| 小呆augus| 莫非尔丽| 韩国电影坏小子| 琉璃全集| 疫情期间我和母亲完整版一| 国风按摩系列| 青柠剧情电影免费观看全集| 年轻的女保险销售员2| 燕东平的微笑| 日本电影西游父亲播种子| 金金丁字广场舞私人订制 | 金银悔1一5集免费观看在线 | 星克莱尔| 果盘先生是什么意思| 箭在弦上电视剧全集优酷| 典狱缉凶满天星| 人生之路电视剧免费观看| 木下檀檩子MV免费观看| 血战金沙滩| 酒店激战2免费观看国语版| 《妻子7》在线观看全集| 唐人街探案1900在线观看| 怡红院官网| 波奇亚电影在线观看| 《黑白配》电影| 最新二人转| 漂亮妈妈6 中字 开头 歌曲| 银魂262| 欧式少女18集视频大全 | 雨宫真贵| 年青的嫂子| 美国儿子要妈妈播种电视剧的电影在线观看 | 禁忌4美国禁忌3完整版中文| 浴火奔腾浴火红免费观看电视连续剧| 警察故事3国语完整版免费观看| 玉女心经3电影免费观看完整版| 韩国三级《交换温柔》| 爱唯侦探dvd| 我是你的男人| 小凤新婚电影手机在线免费观看| 喜爱夜蒲3尺度吸乳| 意大利《夫人和园丁》| 神龙斗士第二部| 妈妈的职业2| 两天一夜20110529| 东京塔之越南女兵俘虏营免费完整在| 陆小凤之大金鹏王| 和讨厌的部长一起出差旅游电影| 声名狼藉:私生子| 电影平果| 韩国23岁女子杀害陌生女子| 黄造时曹查理隔世情电影| 老版霍元甲电视剧| 返老还童 在线| 吞噬星空第二季1集| 骚哥哥网| 王嘉尔 papillon| 大侦探第八季免费播放| 电影《补课》免费观看中文版| 饥饿游戏2高清下载| 周生如故 在线观看| 高清《娜塔莎》电影在线观看| 假期剩5天作业剩7本女孩大哭| 利箭行动电视剧全集百度影音| 木下檀檩子电影免费观看高清版,完整| 赶尸艳谭2恐怖电影免费播放| 强伦轩办公室女教师HD| 恶魔的请柬| 修师傅艳遇电影| 第11个前锋下载| 日本混血女大学生按| 我在东北玩泥巴| 我唾弃你的坟墓3:复仇在我| 守龙者国语版免费观看| 妻子的诱惑 国语| 法国私人航空电影| 我推的孩子第一季| 《Overflower》动漫第一季在线观看 | 巜交换上司的秘书3中字| 人猿泰山1995完整版高清| 战狼6| 跛豪原型人物| HD版《激战丛林》完整版| 俄罗斯免费伦理电影需要爸爸的种子| 国产做aj的视频大全电视剧| 流量女王热搜:常驻选手全集免费| 爱情公寓二在线观看免费完整版高清 | 成全免费观看高清电影大侦探| 密战下载| 后厨也是江湖| 小人物在线观看| 铁道游击队| 法国电影《私人助理》叫什么名字| 成何体统动漫第二季| 死神来了8在线观看完| 《回响》电视剧| 麦乐迪女超人在线无删减电影免费观看| 当头炮的走法| 《驯服小峓子》2在线观看| 卿本佳人 迅雷下载| 《需要爸爸播种美国》演员名字| 土地公土地婆全集| 女超人法国电影完整版 | 无间道电影| 蓝田建言42条| 婷妹要努力| 伍六七全集免费观看| 需要爸爸播种籽2电影完整版| 新金瓶梅电影全集| 高清《法国空乘2019》播放| 出轨的女人 影音| 大话三国全集| 欢天喜地七仙女38集| 《和部长一起去出差旅》免费观看完 | 每年卖不完的月饼都去哪了| 朴妮唛28部种子| 荣誉法则(成人版)免费在线观看| 新妈妈再爱我一次电影| 想你21| 大奥电视剧| 九重紫电视剧在线播放视频观看| 隋唐英雄111| 温柔女教师在线观看电视剧大全| 增城地图| 需要爸爸来播种免费观看| rrr80| 《花子vs倔强驱魔师》在线观看 | 杨敏版1-5集在线观看电视剧| 高清《护心》免费看| 斗罗大陆121| 快17电影网| 三年成全免费完整版电视剧| 诡水怪谈电影免费版在线播放| 激战丛林HD无删减版在线播放| 太阳照常升起电影| jizz俄罗斯| 我要成名| 水润女人在线观看电视剧免费播放| 末路电视剧| 爸爸我要播种电影免费观看| 无名女尸在线观看完整恐怖免费| 阿瓦人民唱新歌| 朋友的母亲4| 土豆美容护肤小窍门| 黑执事mp4下载| 吴京电影长津湖抢先版 | 白峰电影在线播放免费版最新章节 | 音乐老师水饺| 董卿的点评| 爱我几何在线观看| 我在未来等你在线观看免费完整版 | 高清《环太平洋1》免费观看完整版| 《好好的时光》| 再见那一天| 庄子哪个学派| 亚洲电影性生活| 恶之花免费观看| overflow樱花| 滚滚红尘电影| 年轻的保险销售员8| 恨锁金瓶在线观看3| 特殊精华油5HD| 野花在线观看免费观看高清中文| 私人航空免费观看完整版在线播放| 宝马车主被砍| 林正英高清国语电影| 杨思敏1996版电视剧| 《通往你的地图》| 热血高校免费观看完整版| 青青草在 线免费观看| 《激战酒店》1-5集在线播放| 来者何人| 岳母味道| 一天1000条小金龙不够卖 | 哈里波特7| 《女同学的滋味2在线观看》剧情1080P最新全集观看 -全集偶像剧 -黑蚂蚁影院 | XXXX 68美国| 淘宝公布2023年度丑东西| 喜欢菊花的大小姐在线观看| 香港连续剧大全免费观看| 尸体派对2| 新金瓶梅 高清下载| 北京秋日晚霞好浪漫| 丈夫的部长在线观看免费版黄色电视剧全| 高清《诱人的护士》韩国| 女超人-麦乐迪版| 一起来看流星雨35| 激情从来| 灌篮高手第二部| 黑白配高清完整版免费观看中文版 | 斯巴达女勇士HR版在神马| 天堂之吻电影版在线看| 高清以猫饲爱| 野性的呼唤完整版免费看| 热带夜晚| 音乐老师的饺子水饺在线观看| 新倾国倾城在线| 金银瓶1-5hd日语| 心动的信号第七季免费播放 | 星河影片| 奇葩说第四季在线观看免费| 金钱帝国粤语高清| 绿茶妹2 微电影| 极道鲜师电影| 双龙会国语| 房奴试爱电视剧全集完整版| 女忍者忍法帖2| 《地铁蓝衣女》完整剧名叫什么来着| 无神之地| 观看韩国伦理电影丈夫下属| 我的后半生免费观看完整版电视剧| 倔强驱魔师1-4集免费动漫在线观看樱| 龙猫电影完整免费普通话在线观看| site:www.yalan365.com| 乱世安娜| 中字HD丈夫的下属的背景资料| 《棋魂》免费观看全集电视剧| 毒刺入喉电影完整版在线看免费| 高清《幸福一家人》电视剧| 铁甲钢拳在线观看| 意大利电影《情迷2》的剧情简介| 丛林雇佣兵| 《禁忌5》HD中字保罗| 大神同学想被吃掉未增删有翻译| 公公浮的手| 双飞娘俩国语版全集免费观看| 极品教师第二季免费观看| 我开局就无敌了免费| 总裁有疾闪婚来袭短剧免费观看| 印尼一女子被5米长蟒蛇吞吃| 关中枪声电视剧| 香格里拉 电视剧| 绿水青山带笑颜电视剧| 电视剧六姊妹免费观看| 房奴试爱电视剧第一集开头| 高清百鬼夜行抄未删减| 坎贝奇的电影在线观看 1080P| 保你平安| 大宾的寝室免费在线观看| 沧元图第二季第4集| 工藤拉拉大片在线观看| 国术无双| 三级片替夫还债的家庖妇女| 息县县委书记金平去向| 血洗红花亭无删减完整| 一切都值得 张杰| 我可能不会爱你 全集| 加勒比女海盗2观看高清完整| 大哥的女人电影电视剧在线观看| 美式禁忌保罗1982| 《年轻的妈妈》| 麻仓优下马作品| 酒店1—20集全集免费高清| 蜜桃成熟3d 高清版| 美女与野兽暴操老妈46| 《咒术回战 第三季》| 玛丽和马克思| 恐龙时代:你不知道的故事未删减| 小丑2019在线观看| 《维修工人的艳遇》1| 人质电影完整版| 我是你的眼 电视剧| 谋杀第二季| 第五空间电视剧下载| 新福尔摩斯 第二季| 奇门遁甲2免费观看高清完整版| 雪中悍刀行40集免费观看| 高清有罪之身| 密挑传楳| 人工降雨引发暴雨| 把儿媳妇变成花痴了第二季全集 | 超能少年| 剧名《玉女春宵》免费观看| 凱登克罗斯合集满| 皇家反千组国语| 巜商务旅行戴绿色帽的演员表和角色 | 电视剧娘心| 台剧《浪漫女家教》在线观看| 《寒武纪》| 高压监狱2免费观看完整版在线播放| 东宫电视剧全集免费观看完整版| 《驯服2》丽卡和谁在一起了| 幸福满院电视剧| 和讨厌的部长出差旅bd| 流光之下电视剧在线观看| 影音先锋色探花| 超级警察3在线国语完整版| 壮志凌云女版满天星法版免费2011美国| 海绵宝宝第十一季| 萨迪1980满天星在线看| 哈尔滨爆炸事故初查系人为| 釜山行2半岛在线高清免费观看| 6680在线观看免费播放电视剧| 滨崎步演唱会高清| 86板杨敏思版本1-5电视剧免费观看| 单车电影在线观看| 我体内有亿只鬼| 荷尔蒙6在线观看免费版 | 坎贝奇《无憾》电影| 韩剧小妇人国语版全集| 触手产卵魔法少女| 渔夫荒野史电影在线观看| 校长称邯郸男孩的死亡是个意外| 金太狼的幸福生活高清| 以爱为契电视剧免费观看| 沧元图第二季第4集| 美国禁忌症结局3| 新版马永贞电视剧| 天赋异禀 美剧| 老同学36普通话 | 第十放映室解说词| 火蓝刀锋有多少集| 沧元图动漫60集免费观看高清 | 电影《偷吃》在线观看免费高清| 女超人麦乐迪在线完整版免费观看| 特种兵之利刃出鞘全集| 小镇姑娘免费高清观看全集| 我要爸爸的种子第一季免费观看 | 南京撞人| 高清相反的你和我未删减| 辽宁卫视在线直播观看| 广东十虎全集| 皓龙长空短剧全集免费观看完整版| 电影潘金莲完整版在线播放| 一拳超人最强之男觉醒| 日剧《谜样的爱子》| 春光乍泄国语| 男女一起愁愁愁免费观看全集高清| 高清《千金》在线完整观看日剧| 冰封侠 重生之门| 爱我多深百度影音| 屠夫状元| 禁忌1| 泡剧网最新电视剧大全免费| 英语老师在线观看| 高清《几度夕阳红》 | 罗曼史 快播| 牙医姐妹赤子板栗电影完整版播放 | 白峰美羽教师| 猪猪侠超级棒棒糖| 美国版武则天惊艳版| 凤凰传奇演唱会2013高清| 达拉斯蜂蜜1982美国原版| 《家政老师2》完整版在线观看| 侠探杰克高清| 人民的名义 dvd| 天字号监狱电影免费观看全集| 《需要爸爸播种美国》导演是谁 | 《黑寡妇》丹尼尔斯电影免费观看 | 壹号皇庭3国语版| 义姐| 国模小黎吧| 花千骨免费观看电视剧全集| 《天海翼和部长一起去出差旅》| 风中的女王| 十万个冷笑话6| 架设单机传奇| 魔道祖师全集免费观看高清| 需要爸爸播种子手机在线播放| 丧尸军团在线观看免费| 加菲猫2国语版电影| 庆余年免费观看网站| 第一滴血3高清| 《双乳丰满的女学生》国产电影 | 天使心肠| 韩国同学会| 《偿还2》完整版| 致命弯道2在线观看| 女泳永教练的欲望| 师傅全集| 契约到期:总裁不缠短剧全集| 女超人 满天星版麦乐迪马克斯在线观看 | 电影《叫我姐姐》| 丰满年轻岳每3| 公的浮中字9| 江山为重| 就想赖着你吻戏| 我为卿 狂百度影音| 《扫黑风暴》免费观看完整版电视剧| 公肉奉公HD中字| 开心鬼3| 罗马帝国艳情史 下载| 搞笑漫画日和中文| 夫妻俩一起按摩精油推拿电影| 欢聚一堂串词| 《卖房子的女销售》A片| 伪装者未删减| 宽松世代又如何| 双人调情按摩电影| 高斯奥特曼国语版| 宫锁连城63集| 站着再来一次48集分集剧情介绍| 大地资源高清在线观看国语版狂飙| 猫愿三角恋31| 隐身帽在线观看完整| 高清《无赦之罪》免费观看全集高清| 姐姐立正向前走| 俄罗斯美女大战黑吊| 搞笑一家人国语配音| 女版战狼10普通话版免费播放下载 | 特殊酒店2| 鬼楼契约 第一季| 仙逆128集完全版播放| 《醉后的玫瑰》电影在线观看 | 且试天下电视剧完整版| 微笑的闪士| 阿图什市| 三生三世十里桃花电视| 方子传 韩国完整版| 美国电影想要爸爸播种子| 仙逆在线| 雪中悍刀行第三部免费观看| 公之孚之中字8| 我的后半生一共多少集| 乡村小老板:致富带全村全集免费| 美国电影需要爸爸播种中文版 | 拉拉安斋电影完整版| 绿皮书免费| 《恩佐》| 铿锵锵锵锵锵在线观看完整版| 超级奶爸:带娃赚钱两不误全集免费 | 新方世玉电影| 北京人电影| 欧式少女第16集全集更新时间| 哥布林洞窟在线观看免费带翻译| 与爱同居泰剧免费泰剧在线观看| 人猿泰山1995年真人版| 新版潘金莲电影完整视频播放| 电影热裤| 天注定高清在线观看| 凯登版《护送》在线观看| 人间中毒在线看无删| 玫瑰的故事首播5集| 《我的游泳教练》免费观看下拉式| 伊织凉子| 高清《新龙门客栈》| 战狼女版6在线观看| 余炜南昌| 封神榜朝歌风云| 日本电影女大学生去按摩 | 韩剧《致命梦魇》免费播放| 福星高照猪八戒插曲| 情劫在线观看| 隐身女侠的电影免费观看| 《维修工人的艳遇》中字| 甲铁城的卡巴内瑞第一季在线观看| 《尸城》| 麦乐迪女超人BT| 古墓丽影特别版| 菲律宾电影:赤裸大胆 | 暗宅之迷| 战狼6免费观看在线播放下载高清 《卖房子的女销售》完整版 | 叶罗丽精灵梦第6季全集| 醉酒被义子电影| 那小子不可爱电视剧在线观看| 酒店1-75集免费观看| 我叫金三顺中文版| 高清《何以笙箫默》电视剧免费 | 直击五一返程路况| 韩国电影朋友家的麦子| 呼唤生活俄剧| 电视剧八旗子弟| 麦乐迪在线观看播放| 天道结局| 爱是一场在劫难逃短剧免费观看 | 你总有爱我的一天| 电影《补课》免费观看中文版| 酒店1—60集全集免费高清| spec结| 假面骑士01全集免费观看完整版| 浮之手| 王楚钦和张本智和决赛视频| 新婚夜全集免费观看电视剧| 射阳县| 电视剧非凡医者免费观看全集高清| 克隆丈夫| 林珍娜满天星三部曲| 珠帘玉幕电视剧在线免费观看| 好想好想谈恋爱电视剧| 美丽妻子替丈夫还债电影完整版免费| 直击证人| 铁甲钢拳在线观看| 女超人Melody在线观看| 宦海奇官粤语版| 沙漠战争| 珠海航展2016时间表| 保姆的特别待遇2电影| 难哄白敬亭电视剧在线免费观看| 高清《巴黎小姐》电影在线观看| 罗克星克莱尔《护士日记》 | 错点鸳鸯电视剧50集免费播放| 女子兼职假扮女友过年见家长| 八戒八戒影视在线观看大全| 神咲诗织快播| 魔法保姆| 色戒未测减除版| 后厨也是江湖| 抗日奇侠全集播放| id002热门经典电影免费观看| 煎烤机食谱| 迪丽娜尔女儿| 出包女王第四季樱花动漫在线播放 | 张国荣为什么那么红| 禁忌女孩第三季什么时候出| 《斯巴达2帝国女版》在线| 唐朝好男人电视剧全集| 爱我几何神马影院| 洛丽塔1997| 断刀 朝鲜战场大逆转| 《公的浮之手中字》免费在线观看 | 肖申克的救赎bt种子| 国家保藏| 三生三世枕上书在线观看全集| 男人和女人一愁愁愁电视剧在线观| 小泽玛利亚电影种子| 时寒冰说经济大棋局我们怎么办| 爱我几何电影在线观看| 樱兰高校男公关部1| 黄奕演过电视剧| 法利赛人 韩国| 《亲密现实2》凯老师演技| 邪恶帝国的兴起| 十九岁粤语在线播放| 《村妓》国语版演员表介绍| 上海少妇黑人3P完整版BD| 潘石屹是谁| 抗美援朝保家卫国纪录片第三集| 韩剧《无法抗拒的你》全集| 少林搭棚大师国语| 一路向前| 米丽娅姆莱昂内1993在线观看 | 刀郎 爱是你我| 爱我几何原版无删减| 青青草原影视| 邻居的秘密| tobo4| 蜜桃成熟期时33d电影| 花木兰袁咏仪下载| 三基培训网| 《落魄贵族流璃川》动漫免费观看| 塔兹米死了吗| 怒放之青春再见| 站着再来一次第26集免费播放| 恶作剧之吻韩版网络版| 《桑叶》韩版中国| 启示录2| 满天星版超女麦乐迪高清| 周星驰北大演讲| 完美世界160集| 瓜达卢佩的玫瑰在线观看免费版,中文 | 学生的妈妈| 韩国论理维修工人的艳遇| 领袖电视剧| 银河奥特曼免费观看全集| 战狼6高清完整免费观看国语| 在姨妈家的客厅| 中华大丈夫电视剧| 武工队传奇2| 俄罗斯版《女儿国》2| 金手指电影国语在线观看免费高清| 秘密的爱| 田姐辣妹电视剧全集免费播放| 一起愁愁30全集免费播放| 蜜桃成熟33d高清| 功夫小蝇| 儿子爱上日本妈妈是哪部电影 | 《牙医姊妹》无删减版观看在线观看 | 木下凛凛子电影完整版| 新湘西剿匪记| 《他过分野》短剧全集完整免费| 阜宁县| 两个好媳妇中文在线观看| 赵氏孤儿 电影简介| 真情无限之继母电视剧| jiZz日本| 你微信时很美| 魔女2在线播放免费观看完整版| 空房子 韩国| 夫妇互换之木下凛凛子| 一场风花雪月的事电视剧| 精灵梦叶罗丽第四季| 全世界最好的你在线观看| XL先生第一季全集免费观看 | 交换上司的秘书电影在线观看| 《黑白决》免费观看| 小欢喜电视剧完整版| 饲养1小时42分原版在哪看| 惊变电影高清完整视频| 苍井空电影网| 丰满的女学生在线观看| 如果我爱你全集| 代号十三钗在线观看| 我的好妈妈4韩国免费观看| 日爱网| 《比基尼勇士》动漫| 周迅画皮1电影免费高清在线观看| 金瓶梅电视剧免费观看全集完整版| 《玄女心经1》免费观看| 重生1986| 环翠峪门票|