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
向器件表添加器件
#include <file.h>
int add_device(char * name,
unsigned flags ,
int (* dopen)(const char *path, unsigned flags, int llv_fd),
int (* dclose )( int dev_fd),
int (* dread)(intdev_fd, char *buf, unsigned count),
int (* dwrite )(int dev_fd, const char *buf, unsigned count),
off_t (* dlseek )(int dev_fd, off_t ioffset, int origin),
int (* dunlink )(const char *path),
int (* drename )(const char *old_name, const char *new_name));
lowlev.c(在編譯器安裝程序的 lib/src 子目錄中)
add_device 函數(shù)將器件記錄添加至器件表,以便在 C 語言中將該器件用于 I/O。器件表中的第一個條目預(yù)定義為運(yùn)行調(diào)試器的主機(jī)器件。add_device() 函數(shù)會在器件表中查找第一個空位置,然后對表示器件的結(jié)構(gòu)字段進(jìn)行初始化。
若要在新添加的器件上打開一個流,請使用 fopen( ) 并以 devicename :filename 格式的字符串作為第一個參數(shù)。
_SSA 表示器件一次僅支持一個開放流
_MSA 表示器件支持多個開放流
通過在 file.h 中進(jìn)行定義,可以添加更多的標(biāo)志。
該函數(shù)將返回以下值之一:
| 0 | 成功時 |
| -1 | 失敗時 |
Example7-2 將執(zhí)行以下操作: