ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
下一個級別是器件級別驅(qū)動程序。它們直接映射到低級 I/O 函數(shù)。默認器件驅(qū)動程序是主機器件驅(qū)動程序,它使用調(diào)試器來執(zhí)行文件操作。主機器件驅(qū)動程序會自動用于默認的 C 流 stdin、stdout 和 stderr。
主機器件驅(qū)動程序與在主機系統(tǒng)上運行的調(diào)試器共享一個特殊的協(xié)議,因此主機可以執(zhí)行程序所請求的 C I/O。程序要執(zhí)行的 C I/O 操作指令會在 .cio 部分內(nèi)名為 _CIOBUF_ 的特殊緩沖區(qū)中進行編碼。調(diào)試器會在特殊斷點 (C$$IO$$) 暫停程序,讀取目標內(nèi)存空間并進行解碼,然后執(zhí)行所請求的操作。結(jié)果會編碼到 _CIOBUF_,程序會恢復(fù)運行,然后目標會對結(jié)果進行解碼。
主機器件上實現(xiàn)了用于執(zhí)行編碼的七個函數(shù),分別是 HOSTopen、HOSTclose、HOSTread、HOSTwrite、HOSTlseek、HOSTunlink 和 HOSTrename。每個函數(shù)均從具有相似名稱的低級 I/O 函數(shù)調(diào)用。
器件驅(qū)動程序包含七個必需的函數(shù)。并非所有函數(shù)都需要對所有器件具有意義,但全部七個函數(shù)都必須進行定義。在這里,所有七個函數(shù)的名稱都以 DEV 開頭,但您可以選擇使用 HOST 之外的任何名稱。