AGDI Drivers
AGDI is an Application Program Interface (API) third-party developers can use to create hardware debugger drivers that interface directly with the Keil µVision Debugger. The purpose of AGDI is to provide a way to interface the Keil Debugger user-interface to a third-party's hardware debugging interface.
AGDI drivers are DLLs that are created using Microsoft Visual C++ and template files provided by Keil.
For further information please download Appnote 173 for ARM-based target systems or Appnote 145 for 8051 and C166 based systems.
AGDI drivers can interface to:
Emulators.
JTAG Debug Interfaces.
OCDS (on-chip debugging system) Interfaces.
Target Monitors.
Any other target debugging hardware.
#define _EXPO_ __declspec(dllexport)
extern _EXPO_ U32 AG_Init (U16 nCode, void *vp);extern _EXPO_ U32 AG_MemAtt (U16 nCode, UL32 nAttr, GADR *pA);extern _EXPO_ U32 AG_BpInfo (U16 nCode, void *vp);extern _EXPO_ AG_BP *AG_BreakFunc (U16 nCode, U16 n1, GADR *pA, AG_BP *pB);extern _EXPO_ U32 AG_HistFunc (U32 nCode, I32 indx, I32 dir, void *vp);extern _EXPO_ U32 AG_GoStep (U16 nCode, U32 nSteps, GADR *pA);extern _EXPO_ U32 AG_Serial (U16 nCode, U32 nSerNo, U32 nMany, void *vp);extern _EXPO_ U32 AG_MemAcc (U16 nCode, UC8 *pB, GADR *pA, UL32 nMany);extern _EXPO_ U32 AG_RegAcc (U16 nCode, U32 nReg, GVAL *pV);extern _EXPO_ U32 AG_AllReg (U16 nCode, void *pR);
AGDI Interface Functions
All functions that start with AG_ need to be defined in the target driver DLL. If a function executes correctly, the value 0 is returned to µVision, otherwise an error code should be returned. Note that the following exported functions must be defined, either fully functional or just as dummies:
FunctionDescription
AG_Init()