近日,英創(chuàng)公司在測(cè)試WINCE雙核文件系統(tǒng)時(shí),發(fā)現(xiàn)一例系統(tǒng)死機(jī)故障。通過觀察測(cè)試,該故障發(fā)生在以下環(huán)境中:
WINCE資源管理器處于打開狀態(tài),且當(dāng)前瀏覽目錄正好是正在高速讀寫的文件所在目錄。
高速讀寫的文件打開方式為共享讀寫方式。
hFile = CreateFile(wsFileName, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, 0, OPEN_ALWAYS, 0, 0);
//hFile = CreateFile(wsFileName, GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_ALWAYS, 0, 0);
打開方式為FILE_SHARE_READ|FILE_SHARE_WRITE共享讀寫方式,建議非必要可以將參數(shù)設(shè)為0。
讀寫頻率很高,目前只有雙核CPU系統(tǒng)測(cè)試出故障。
由于必須同時(shí)滿足以上3個(gè)條件,該故障才可能發(fā)生,所以可以很好的規(guī)避該故障。通常情況下,WINCE資源管理器是不會(huì)打開的,所以一般只有工程師在調(diào)試階段才可能觸發(fā)。
該故障產(chǎn)生的原因可能是,當(dāng)文件為共享方式打開時(shí),當(dāng)文件進(jìn)行讀寫大小發(fā)生改變后,WINCE資源管理器會(huì)刷新界面,當(dāng)讀寫頻率過高時(shí),過于頻繁的界面刷新導(dǎo)致WINCE后臺(tái)崩潰。
該故障出現(xiàn)在類似ESM7000的雙核系統(tǒng)中,在ESM335X單核系統(tǒng)中雖然也會(huì)出現(xiàn)卡頓,但沒有測(cè)試出系統(tǒng)死機(jī)重啟的情況??赡芘cWINCE系統(tǒng)版本停止更新時(shí)還沒有雙核CPU有關(guān)。所以請(qǐng)使用ESM7000的工程師注意規(guī)避該故障。
客戶可以聯(lián)系英創(chuàng)工程師,獲得相關(guān)測(cè)試程序。
成都英創(chuàng)信息技術(shù)有限公司 028-8618 0660