題一: linux中斷的響應(yīng)執(zhí)行流程? 思考過后,再到下方尋找答案 題二: 自旋鎖和信號(hào)量在互斥使用時(shí)需要注意哪些?在中斷服務(wù)程序里面的互斥是使用自旋鎖還是信號(hào)量? 思考過后,再到下方尋找答案 題三: 設(shè)備驅(qū)動(dòng)模型三個(gè)重要成員是?platfoem總線的匹配規(guī)則是? 思考過后,再到下方尋找答案 題一答案: 處理器收到來自中斷控制器的中斷處理請(qǐng)求,保存中斷上下文,跳轉(zhuǎn)到中斷對(duì)應(yīng)的處理處,(快速完成中斷中斷上半部,中斷上半部返回后執(zhí)行中斷下半部。如果做了上下半部處理的話),中斷處理函數(shù)返回時(shí)恢復(fù)現(xiàn)場。 題二答案: 使用自旋鎖的進(jìn)程不能睡眠,使用信號(hào)量的進(jìn)程可以睡眠。中斷服務(wù)例程中的互斥使用的是自旋鎖,原因是在中斷處理例程中,硬中斷是關(guān)閉的,這樣會(huì)丟失可能到來的中斷。 題三答案: 總線,設(shè)備,驅(qū)動(dòng)。匹配規(guī)則就是當(dāng)有一個(gè)新的設(shè)備掛起時(shí),總線被喚醒,match函數(shù)被調(diào)用,用device名字去跟本總線下的所有驅(qū)動(dòng)名字去比較。相反就是用驅(qū)動(dòng)的名字去device鏈表中和所有device的名字比較。如果匹配上,才會(huì)調(diào)用驅(qū)動(dòng)中的probe函數(shù),否則不調(diào)用. 免費(fèi)試聽C語言、電子、PCB、STM32、Linux、FPGA、Python等。 想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費(fèi)聽課了。宋工Q35--24-65--90-88 Tel/WX:173--17--95--19--08 |