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
通過 add_device 函數(shù),您可以添加和使用器件。通過 add_device 注冊器件后,高級 I/O 例程便可用于該器件上的 I/O。
您可以使用不同的協(xié)議來與任何所需器件進行通信,并使用 add_device 來安裝該協(xié)議;不過,不應修改主機函數(shù)。默認流 stdin、stdout 和 stderr 可以按照Example7-1 中所示使用 freopen() 來重新映射至用戶定義的器件而非主機上的文件。如果以這種方式重新打開這些默認流,緩沖模式將更改為 _IOFBF(全緩沖)。若要恢復默認的緩沖行為,請在每個重新打開的文件中使用適當?shù)闹担▽τ?stdin 和 stdout,為 _IOLBF;對于 stderr,則為 _IONBF)來調(diào)用 setvbuf。
默認流 stdin、stdout 和 stderr 可以按照Example7-1 中所示使用 freopen() 來映射至用戶定義的器件而非主機上的文件。每個函數(shù)都必須根據(jù)需要設置和維護自身的數(shù)據(jù)結構。一些函數(shù)定義不執(zhí)行任何操作并只應返回值。
使用唯一的函數(shù)名稱
函數(shù)名稱 open、read、write、close、lseek、rename 和 unlink 供低級例程使用。對于由您編寫的器件級別函數(shù),請使用其他名稱。
使用低級函數(shù) add_device() 將器件添加至 device_table。器件表是一個靜態(tài)定義并支持 n 個器件的數(shù)組,其中 n 由 stdio.h/cstdio 中的宏命令 _NDEVICE 定義。
器件表的第一個條目預定義為運行調(diào)試器的主機器件。低級例程 add_device() 會在器件表中查找第一個空位置,然后使用傳遞的參數(shù)對器件字段進行初始化。如需完整說明,請參閱 add_device 函數(shù)。