亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rdi100.h

?? ARM公司關于調試接口RDI的最新頭文件
?? H
?? 第 1 頁 / 共 2 頁
字號:
 *      Input:  address     address of watchpoint
 *      Input:  type        one of RDIPoint_ types
 *
 *   RDIPoint_EQ          equal to address
 *   RDIPoint_GT          greater than address
 *   RDIPoint_GE          greater than or equal to address
 *   RDIPoint_LT          less than address
 *   RDIPoint_LE          less than or equal to address
 *   RDIPoint_IN          in the range from address to bound, inclusive
 *   RDIPoint_OUT         not in the range from address to bound, inclusive
 *   RDIPoint_MASK        halt execution if (pc & bound) = address
 *
 *      Input:  datatype    one of RDIWatch_ data types
 *      Input:  bound       upper address range
 *      InOut:  none
 *      Output: *handle     A handle to identify the watchpoint
 *
 *  Returns:
 *      OK:     RDIError_NoError
 *      OK:     RDIError_NoMorePoints - successful,
 *                                      but no more points available
 *      Error:  RDIError_CantSetPoint
 */
typedef int RDI100_SetWatchProc(
    ARMword address, unsigned type, unsigned datatype, ARMword bound,
    RDI_PointHandle *handle);


/*
 * Function:    RDI_ClearWatchProc
 *  Purpose:    Clear a watchpoint in the debuggee.
 *
 *  Params:
 *      Input:  handle      identifies watchpoint
 *      InOut:  none
 *      Output: none
 *
 *  Returns:
 *      OK:     RDIError_NoError
 *      Error:  RDIError_NoSuchPoint
 */
typedef int RDI100_ClearWatchProc(RDI_PointHandle handle);


/*
 * Function:    RDI_ExecuteProc
 *  Purpose:    Starts execution of the debuggee from the current state.
 *              The debuggee continues until a natural exit occurs.
 *              The reason for exit is returned.
 *
 *  Params:
 *
 *      Output: *point  if (return == RDIError_BreakpointReached)
 *                          handle of breakpoint
 *                      if (return == RDIError_WatchpointAccessed)
 *                          handle of watchpoint
 *                      else RDINoHandle
 *                      In the current Demon debuggee the handles are not set.
 *                      Here the debugger is required to fetch the pc to
 *                      determine the point.
 *                      (Demon condition is (pointReached && RDINoHandle))
 *
 *  Returns:
 *      OK:         RDIError_NoError
 *      OK:         RDIError_BreakpointReached    Breakpoint reached
 *      OK:         RDIError_WatchpointAccessed   Watch point accessed
 *      OK:         RDIError_UserInterrupt        User stop via RDISignal_Stop
 *
 *      Vector Catches (see RDIVector_Catch Info call)
 *      OK:         RDIError_BranchThrough0       Branch through zero
 *      OK:         RDIError_UndefinedInstruction Undefined instruction
 *      OK:         RDIError_SoftwareInterrupt    Software interrupt
 *      OK:         RDIError_PrefetchAbort        Prefetch abort
 *      OK:         RDIError_DataAbort            Data abort
 *      OK:         RDIError_AddressException     Address exception
 *      OK:         RDIError_IRQ                  Interrupt (IRQ)
 *      OK:         RDIError_FIQ                  Fast Interrupt (FRQ)
 *      OK:         RDIError_Error                Error (see RDIErrorP)
 *
 */
typedef int RDI100_ExecuteProc(RDI_PointHandle *handle);


/*
 * Function:    RDI_StepProc
 *  Purpose:    Steps the debuggee from the current state.
 *              The debuggee continues until a natural exit occurs
 *              or the processor completes its next instruction.
 *
 *  Params:
 *      Input:  ninstr  number of instructions to step
 *
 *      Output: *point  if (return == RDIError_BreakpointReached)
 *                          handle of breakpoint
 *                      if (return == RDIError_WatchpointAccessed)
 *                          handle of watchpoint
 *                      else RDINoHandle
 *                      In the current Demon debuggee the handles are not set.
 *                      Here the debugger is required to fetch the pc to
 *                      determine the point.
 *                      (Demon condition is (pointReached && RDINoHandle))
 *
 *  Returns:
 *      OK:         RDIError_NoError
 *      OK:         RDIError_BreakpointReached    Breakpoint reached
 *      OK:         RDIError_WatchpointAccessed   Watch point accessed
 *      OK:         RDIError_UserInterrupt        User stop via RDISignal_Stop
 *
 *      Vector Catches (see RDIVector_Catch Info call)
 *      OK:         RDIError_BranchThrough0       Branch through zero
 *      OK:         RDIError_UndefinedInstruction Undefined instruction
 *      OK:         RDIError_SoftwareInterrupt    Software interrupt
 *      OK:         RDIError_PrefetchAbort        Prefetch abort
 *      OK:         RDIError_DataAbort            Data abort
 *      OK:         RDIError_AddressException     Address exception
 *      OK:         RDIError_IRQ                  Interrupt (IRQ)
 *      OK:         RDIError_FIQ                  Fast Interrupt (FRQ)
 *      OK:         RDIError_Error                Error (see RDIErrorP)
 *
 */
typedef int RDI100_StepProc(unsigned ninstr, RDI_PointHandle *handle);


/*
 * Function:    RDI_InfoProc
 *  Purpose:    Used to transfer miscellaneous information between the
 *              Debuger and the Debuggee. The parameters meanings change for
 *              each information type.
 *              Each type is defined in RDI_Info subcodes.
 *
 *  Params:
 *      Input:  type        Information type code
 *
 *      Use of arg parameters varies dependent on type code.
 *      See each individual definition below.
 *      InOut:  arg1        parameter 1
 *      InOut:  arg2        parameter 2
 *
 *  Returns:
 *      OK:     RDIError_NoError
 *      OK:     codes dependent on type
 *      Error:  codes dependent on type
 *      Error:  RDIError_UnimplementedMessage (unimplemented functions)
 */
typedef int RDI100_InfoProc(unsigned type, ARMword *arg1, ARMword *arg2);


/*
 * Function:    RDI_PointinqProc
 *  Purpose:    Breakpoint or watchpoint inquiry.
 *              Used to check before setbreak or setwatch is used.
 *              Returns what will happen if a corresponding call is made
 *              to setbreak or setwatch.
 *
 *  Params:
 *      Input:  type        see setbreak or setwatch for definition
 *      Input:  datatype    0       breakpoint
 *                          != 0    see setwatch for definition
 *      InOut:  *address
 *          In:             address of point
 *          Out:            set to actual value that will be used
 *      InOut:  *bound
 *          In:             upper address range
 *          Out:            set to actual value that will be used
 *      Output: none
 *
 *  Returns:
 *      OK:     RDIError_NoError
 *      Error:  RDIError_NoMorePoints (if cannot set)
 */
typedef int RDI100_PointInquiryProc(
    ARMword *address, unsigned type, unsigned datatype, ARMword *bound);


/*
 * Function:    RDI_AddConfigProc
 *  Purpose:    Declares the size of a config block about to be loaded.
 *              Only use if RDIInfo_DownLoad returns no error.
 *
 *  Params:
 *      Input:  nbytes  size of configuration block to follow
 *
 *  Returns:
 *      OK:     RDIError_NoError
 *      Error:  RDIError_UnimplementedMessage (unimplemented functions)
 */
typedef int RDI100_AddConfigProc(unsigned32 nbytes);


/*
 * Function:    RDI_LoadConfigDataProc
 *  Purpose:    Loads the config block.
 *              The block specifies target-dependent information to the
 *              debuggee. (e.g. ICEman)
 *              Only use if RDIInfo_DownLoad returns no error.
 *
 *  Params:
 *      Input:  nBytes  size of block (as declared in addconfig)
 *
 *              data    source of block
 *
 *  Returns:
 *      OK:     RDIError_NoError
 *      Error:  RDIError_UnimplementedMessage (unimplemented functions)
 */
typedef int RDI100_LoadConfigDataProc(unsigned32 nbytes, char const *data);


/*
 * Function:    RDI_SelectConfigProc
 *  Purpose:    Selects which of the loaded config blocks should be used
 *              and then reinitialises the Debuggee to use the selected
 *              config data.
 *              Only use if RDIInfo_DownLoad returns no error.
 *
 *  Params:
 *      Input:  aspect      RDI_ConfigCPU or RDI_ConfigSystem
 *
 *              name        name of the configuration to be selected
 *
 *              matchtype   specifies exactly how the version number
 *                          must be matched
 *                              RDI_MatchAny
 *                              RDI_MatchExactly
 *                              RDI_MatchNoEarlier
 *
 *              versionreq  the version number requested
 *
 *      Output: *versionp   the version actually selected
 *
 *  Returns:
 *      OK:     RDIError_NoError
 *      Error:  RDIError_UnimplementedMessage (unimplemented functions)
 */
typedef int RDI100_SelectConfigProc(
    RDI_ConfigAspect aspect, char const *name,
    RDI_ConfigMatchType matchtype, unsigned versionreq, unsigned *versionp);

/*
 * Function:    RDI_LoadAgentProc
 *  Purpose:    Loads a replacement EmbeddedICE ROM image, and starts it
 *              (in RAM).
 *              Only if RDIInfo_Target returns a value with
 *              RDITarget_CanReloadAgent set.
 *
 *  Params:
 *      Input:  dest        address in the Debuggee's memory where the new
 *                          version will be put
 *      Input:  size        size of the new version
 *      Input:  getb        a function that can be called (with getbarg as
 *                          the first argument) and the number of bytes to
 *                          down load as the second argument.
 *      InOut:  none
 *      Output: none
 *
 *  Returns:
 *      OK:     RDIError_NoError
 *      Error:  RDIError_UnimplementedMessage (unimplemented functions)
 */

/* should be defined for RDI150 also */

typedef int RDI100_LoadAgentProc(
    ARMword dest, unsigned32 size, RDI_GetBufferProc *getb,
    RDI_GetBufferArg *getbarg);


/*
 * Function:    RDI_TargetIsDeadProc
 *  Purpose:    Used to inform local device drivers that a remote
 *              (typically hardware) debuggee is unresponsive.
 *
 *  Params: 
 *
 *  Returns:
 *      OK:     RDIError_NoError
 *      Error:  RDIError_UnimplementedMessage
 */
typedef int RDI100_TargetIsDeadProc(void);


/*
 * Function:    RDI_ErrMessProc
 *  Purpose:    Gets an error message corresponding to the error number.
 *
 *  Params:
 *      Input:  buflen      length of the buffer
 *      Input:  errnum      the error number
 *      InOut:  none
 *      Output: buf         destination for the message
 *
 *  Returns:    errmessproc returns the number of bytes written,
                rather than an RDIError
 */
typedef int RDI100_ErrMessProc(char *buf, int buflen, int errnum);

/*
 * Function:    RDI_CpuNamesProc and RDI_DriverNamesProc
 *  Purpose:    Get a list of names.
 *              The returned structure contains the number of names
 *              and a list of pointers to the sz names.
 *              The index to the chosen name is used in:
 *                  Dbg_ConfigBlock.procesor    (RDI 1)
 *                  Dbg_ConfigBlock.drivertype
 *                  RDI_ModuleDesc.procesor     (RDI 2)
 *              This is used to select a harware driver for the target
 *              or a processor from a processor family.
 *              E.g. If the processor family was PROCESSOR_ARM
 *              the list would show the members of that family
 *              (ARM6, ARM7 etc.)
 *  Params:
 *
 *  Returns:
 *      OK:     RDI_NameList
 *      Error:  none
 */
typedef RDI_NameList const *RDI100_NameListProc(void);

typedef struct RDI100_ProcVec
{
    char rditypename[12];

    RDI100_OpenProc           *open;
    RDI100_CloseProc          *close;
    RDI100_ReadProc           *read;
    RDI100_WriteProc          *write;
    RDI100_CPUReadProc        *CPUread;
    RDI100_CPUWriteProc       *CPUwrite;
    RDI100_CPReadProc         *CPread;
    RDI100_CPWriteProc        *CPwrite;
    RDI100_SetBreakProc       *setbreak;
    RDI100_ClearBreakProc     *clearbreak;
    RDI100_SetWatchProc       *setwatch;
    RDI100_ClearWatchProc     *clearwatch;
    RDI100_ExecuteProc        *execute;
    RDI100_StepProc           *step;
    RDI100_InfoProc           *info;

    /* RDI 1.02 */
    RDI100_PointInquiryProc   *pointinquiry;

    /* These three useable only if RDIInfo_DownLoad returns no error */
    RDI100_AddConfigProc      *addconfig;
    RDI100_LoadConfigDataProc *loadconfigdata;
    RDI100_SelectConfigProc   *selectconfig;

    RDI100_NameListProc       *drivernames;
    RDI100_NameListProc       *cpunames;

    RDI100_ErrMessProc        *errmess;

    /* Only if RDIInfo_Target returns a value with RDITarget_LoadAgent set */
    RDI100_LoadAgentProc      *loadagent;
    RDI100_TargetIsDeadProc   *targetisdead;
} RDI100_ProcVec;


#endif /* rdi100_h */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97se亚洲国产综合在线| 国产精品国产三级国产普通话蜜臀 | 狠狠色狠狠色综合| 制服丝袜一区二区三区| 亚洲一本大道在线| 欧美性一二三区| 亚洲老妇xxxxxx| 色诱亚洲精品久久久久久| 中文字幕欧美日韩一区| 国产超碰在线一区| 国产欧美一区二区精品忘忧草| 国内精品久久久久影院色| 精品少妇一区二区三区免费观看| 日韩电影免费在线看| 欧美日韩aaaaaa| 三级在线观看一区二区| 91麻豆精品国产91久久久更新时间| 亚洲国产精品久久久男人的天堂| 欧美亚洲国产一区二区三区va| 一区二区三区日韩在线观看| 欧美午夜电影一区| 亚洲成年人网站在线观看| 欧美日韩国产一级| 日韩精彩视频在线观看| 日韩视频在线一区二区| 精彩视频一区二区三区| 久久众筹精品私拍模特| 国产二区国产一区在线观看| 国产三级精品视频| 成人激情免费视频| 亚洲免费观看高清| 欧美丝袜第三区| 日韩av不卡一区二区| 欧美大片顶级少妇| 国产精品一卡二卡| 亚洲色图欧美偷拍| 欧美日韩亚洲综合在线 | 久久久久久久综合狠狠综合| 国产成人在线网站| 专区另类欧美日韩| 欧美三级一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 精品国产乱码久久| 成人国产精品视频| 夜色激情一区二区| 日韩一区二区三区三四区视频在线观看 | 久久精品国产免费| 国产亚洲欧美在线| 色综合久久综合| 亚洲午夜精品17c| 精品日韩在线一区| 白白色 亚洲乱淫| 亚洲国产一二三| 精品欧美乱码久久久久久| 国产91精品免费| 亚洲尤物视频在线| 精品国产a毛片| 99re视频精品| 蜜臀精品久久久久久蜜臀 | 亚洲mv大片欧洲mv大片精品| 日韩精品一区二区三区中文不卡 | 老司机精品视频导航| 中文字幕精品在线不卡| 欧美日韩一级黄| 国产高清在线观看免费不卡| 亚洲国产欧美在线| 久久久美女艺术照精彩视频福利播放| 91免费看片在线观看| 美国三级日本三级久久99| 中文字幕一区二区三区在线播放| 欧美日韩大陆一区二区| 丁香婷婷深情五月亚洲| 水蜜桃久久夜色精品一区的特点| 日本一二三不卡| 777xxx欧美| 成人午夜av电影| 免费精品99久久国产综合精品| 中文字幕一区二区三中文字幕| 日韩精品自拍偷拍| 在线观看亚洲专区| 国产高清久久久久| 男人操女人的视频在线观看欧美| 国产精品天天看| 日韩美女视频在线| 欧美性大战久久久久久久蜜臀| 国产精品综合在线视频| 日本不卡一区二区| 亚洲欧美一区二区三区久本道91| 久久综合久久鬼色中文字| 欧美日产在线观看| 99精品视频中文字幕| 国产一本一道久久香蕉| 日韩中文字幕区一区有砖一区| 国产精品每日更新在线播放网址| 欧美电影免费观看完整版| 欧美色图激情小说| 99久久婷婷国产综合精品| 国产一区二区三区免费播放| 日韩电影在线观看网站| 亚洲精品视频免费观看| 中文字幕第一页久久| 精品人在线二区三区| 欧美日韩二区三区| 91国产视频在线观看| 97国产精品videossex| 高清免费成人av| 韩国精品主播一区二区在线观看| 日韩激情一二三区| 午夜精品福利一区二区三区av| 中文字幕在线观看一区| 亚洲国产成人自拍| 久久午夜国产精品| 精品国产一区二区精华| 日韩亚洲欧美高清| 在线电影一区二区三区| 欧美在线|欧美| 日本高清成人免费播放| 99精品视频在线免费观看| 成人免费高清在线| 国产91对白在线观看九色| 国内不卡的二区三区中文字幕| 免费成人美女在线观看.| 日韩专区一卡二卡| 青青青爽久久午夜综合久久午夜| 亚洲18女电影在线观看| 午夜在线成人av| 亚洲成人福利片| 午夜欧美一区二区三区在线播放| 亚洲电影在线免费观看| 亚洲国产综合在线| 亚洲成人av在线电影| 亚洲一区二区三区视频在线播放| 亚洲裸体在线观看| 一区二区三区四区五区视频在线观看 | 欧美性视频一区二区三区| 99久久精品费精品国产一区二区| 本田岬高潮一区二区三区| 成人av影视在线观看| 99久久99久久精品免费看蜜桃| 91免费版在线看| 欧美亚洲一区二区在线观看| 欧美日韩精品一区二区天天拍小说| 欧美日本在线播放| 欧美一区二区视频在线观看| 欧美一级久久久久久久大片| 欧美电影免费观看高清完整版 | 久久综合九色欧美综合狠狠| 久久精品在线免费观看| 国产精品水嫩水嫩| 亚洲女同女同女同女同女同69| 一区二区三区在线观看网站| 性做久久久久久免费观看| 日韩电影在线观看一区| 国内久久精品视频| 成人免费视频app| 色欲综合视频天天天| 欧美日韩不卡视频| 久久综合五月天婷婷伊人| 国产欧美视频一区二区| 亚洲欧洲中文日韩久久av乱码| 亚洲国产日产av| 久久国产精品99久久人人澡| 国产v综合v亚洲欧| 一本一道综合狠狠老| 欧美精品在线观看播放| 亚洲精品一区二区精华| 国产精品久久久久久一区二区三区| 亚洲精品视频在线观看免费| 日本视频一区二区三区| 国产大陆a不卡| 色琪琪一区二区三区亚洲区| 制服.丝袜.亚洲.中文.综合| 久久久777精品电影网影网 | 激情小说亚洲一区| 成人黄色电影在线| 欧美亚洲国产一区二区三区va| 欧美www视频| 中文字幕中文字幕在线一区| 亚洲午夜日本在线观看| 黑人巨大精品欧美黑白配亚洲| 99久久精品国产网站| 91精品国产91久久久久久最新毛片| 国产亚洲欧美一区在线观看| 亚洲国产成人91porn| 国产一区二三区好的| 91美女片黄在线观看91美女| 日韩一区二区三区电影 | 国产精品乱码一区二区三区软件| 亚洲一区二区欧美| 国产精品一区二区视频| 色噜噜久久综合| 2023国产精品| 亚洲一本大道在线| 丁香婷婷综合五月| 欧美一区二区在线不卡| 国产精品不卡一区二区三区| 蜜臀91精品一区二区三区 | 欧美日韩一级黄| 国产精品久久久久aaaa樱花 | av电影在线观看不卡|