📄 angel_reasons.h
字号:
* 'nbytes' is the size in bytes of the register(s).
* 'access' is as above in ADP_Info_DescribeCoPro.
*/
#define ADP_Info_AngelBufferSize ADPSUBREASON(CI_HADP,10)
/* ADP_Info_AngelBufferSize
* ------------------------
* Summary: Returns the Angel buffer sizes.
*
* Arguments:
* Send: ()
* Return: (word status, word defaultsize, word maxsize)
*
* 'status' returns RDIError_NoError to indicate success or non-zero to
* indicate some kind of error.
* 'defaultsize' is the default Angel ADP buffer size in bytes. This is
* at least 256 bytes.
* 'maxsize' is the largest Angel ADP buffer size in bytes. This will be
* greater than or equal to defaultsize. The target will accept ADP messages
* of up to this length for download, etc.
*
* Was DownLoadSize in RDP/RDI world. This is the amount that the target
* should transmit in a single operation. This should now be the Angel
* buffer size. This information is also given in the ADP_Booted message.
*
* NOTE: The value returned should be the DATASIZE and *NOT* BUFFERDEFSIZE.
* This is needed to ensure that the transport protocol information
* can be wrapped around the data.
*/
#define ADP_Info_ChangeableSHSWI ADPSUBREASON(CI_HADP,11)
/* ADP_Info_ChangeableSHSWI
* ------------------------
* Summary: This message is used to check whether it is possible to change
* which SWI's are used for semihosting.
*
* Arguments:
* Send: ()
* Return: (word status)
*
* 'status' returns RDIError_NoError if semi-hosting info calls are available,
* non-zero otherwise.
*/
#define ADP_Info_CanTargetExecute ADPSUBREASON(CI_HADP,12)
/* ADP_Info_CanTargetExecute
* -------------------------
* Summary: This message is used to see if the target is currently in
* an executable state. Typically this is called after the debugger
* initialises. If a non-error statis is returned then the user is
* allowed to 'go' immediately.
*
* Arguments:
* Send: ()
* Return: (word status)
*
* 'status' returns RDIError_NoError if target is ready to execute.
* other values indicate why it cannot execute.
*/
#define ADP_Info_AgentEndianess ADPSUBREASON(CI_HADP,13)
/* ADP_Info_AgentEndianess
* -------------------------
* Summary: This message is used to determine the endianess of the
* debug agent
* Arguments:
* Send: ()
* Return: (word status)
*
* status should be RDIError_LittleEndian or RDIError_BigEndian
* any other value indicates the target does not support this
* request, so the debugger will have to make a best guess, which
* probably means only allow little endian loadagenting.
*/
#define ADP_Info_CanAckHeartbeat ADPSUBREASON(CI_HADP,14)
/* ADP_Info_CanAckHeartbeat
* --------------
* Summary: This message checks whether heartbeat messages are
* acknowledged.
*
* Arguments:
* Send: ()
* Return: (word status)
*
* 'status' returns RDIError_NoError to indicate heartbeats are
* acknowledged, non-zero otherwise. (NOTE: some targets may not
* support the call).
*/
#define ADP_Control ADPREASON(CI_HADP,2)
/* This message allows for the state of the debug agent to be
* manipulated by the host.
*/
/* The following are sub reason codes to ADP control, the first parameter
* is the sub reason code which defines the format of subsequent parameters.
*
* word sub reason code
*/
#define ADP_Ctrl_NOP ADPSUBREASON(CI_HADP,0)
/* ADP_Ctrl_NOP
* ------------
* Summary: This message is used to check that ADP_Ctrl messages are
* supported.
*
* Arguments:
* Send: ()
* Return: (word status)
*
* 'status' is RDIError_NoError to indicate ADP_Ctrl messages are
* supported, non-zero otherwise.
*/
#define ADP_Ctrl_VectorCatch ADPSUBREASON(CI_HADP,1)
/* ADP_Ctrl_VectorCatch
* --------------------
* Summary: Specifies which hardware exceptions should be reported to the
* debugger.
*
* Arguments:
* Send: (word bitmap)
* Return: (word status)
*
* 'bitmap' is a bit-mask of exceptions to be reported, described in more
* detail below. A set bit indicates that the exception should be
* reported to the debugger, a clear bit indicates that the corresponding
* exception vector should be taken.
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
*/
/* 'bitmap':- */
/* Reset(branch through zero). */
#define ADP_Ctrl_VectorCatch_BranchThroughZero (1 << 0)
/* Undefined Instruction. */
#define ADP_Ctrl_VectorCatch_UndefinedInstr (1 << 1)
/* Software Interrupt. */
#define ADP_Ctrl_VectorCatch_SWI (1 << 2)
/* Prefetch Abort. */
#define ADP_Ctrl_VectorCatch_PrefetchAbort (1 << 3)
/* Data Abort. */
#define ADP_Ctrl_VectorCatch_DataAbort (1 << 4)
/* Address Exception. */
#define ADP_Ctrl_VectorCatch_AddressException (1 << 5)
/* Interrupt Request. */
#define ADP_Ctrl_VectorCatch_IRQ (1 << 6)
/* Fast Interrupt Request. */
#define ADP_Ctrl_VectorCatch_FIQ (1 << 7)
/* Error. */
#define ADP_Ctrl_VectorCatch_Error (1 << 8)
#define ADP_Ctrl_PointStatus_Watch ADPSUBREASON(CI_HADP,2)
/* ADP_Ctrl_PointStatus_Watch
* --------------------------
* Summary: Returns the hardware resource number and the type of that
* resource when given a watchpoint handle. Should only be called if
* the value returned by ADP_Info_Points had ADP_Info_Points_Status set.
*
* Arguments:
* Send: (word handle)
* Return: (word status, word hwresource, word type)
*
* 'handle' is a handle to a watchpoint.
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
* 'hwresource' is the hardware resource number. !!!!!
* 'type' is the type of the resource.
*/
#define ADP_Ctrl_PointStatus_Break ADPSUBREASON(CI_HADP,3)
/* ADP_Ctrl_PointStatus_Break
* --------------------------
* Summary: Returns the hardware resource number and the type of that
* resource when given a breakpoint handle. Should only be called if
* the value returned by ADP_Info_Points had ADP_Info_Points_Status set.
*
* Arguments:
* Send: (word handle)
* Return: (word status, word hwresource, word type)
*
* 'handle' is a handle to a breakpoint.
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
* 'hwresource' is the hardware resource number.
* 'type' is the type of the resource.
*/
#define ADP_Ctrl_SemiHosting_SetState ADPSUBREASON(CI_HADP,4)
/* ADP_Ctrl_SemiHosting_SetState
* -----------------------------
* Summary: Sets whether or not semi-hosting is enabled.
*
* Arguments:
* Send: (word semihostingstate)
* Return: (word status)
*
* 'semihostingstate' sets semi-hosting to enabled if zero, otherwise
* it disables semi-hosting.
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
*
* NOTE: This should only be called if ADP_Info_SemiHosting didn't return
* an error.
*/
#define ADP_Ctrl_SemiHosting_GetState ADPSUBREASON(CI_HADP,5)
/* ADP_Ctrl_SemiHosting_GetState
* -----------------------------
* Summary: Reads whether or not semi-hosting is enabled.
*
* Arguments:
* Send: ()
* Return: (word status, word semihostingstate)
*
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
* 'semihostingstate' is zero if semi-hosting is enabled, non-zero otherwise.
*
* NOTE: This should only be called if ADP_Info_SemiHosting didn't return
* an error.
*/
#define ADP_Ctrl_SemiHosting_SetVector ADPSUBREASON(CI_HADP,6)
/* ADP_Ctrl_SemiHosting_SetVector
* ------------------------------
* Summary: Sets the semi-hosting vector.
*
* Arguments:
* Send: (word semihostingvector)
* Return: (word status)
*
* 'semihostingvector' holds the value the vector is to be set to.
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
*
* NOTE: This should only be called if ADP_Info_SemiHosting didn't return
* an error.
*/
#define ADP_Ctrl_SemiHosting_GetVector ADPSUBREASON(CI_HADP,7)
/* ADP_Ctrl_SemiHosting_GetVector
* ------------------------------
* Summary: Gets the value of the semi-hosting vector.
*
* Arguments:
* Send: ()
* Return: (word status, word semihostingvector)
*
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
* 'semihostingvector' holds the value of the vector.
*
* NOTE: This should only be called if ADP_Info_SemiHosting didn't return
* an error.
*/
#define ADP_Ctrl_Log ADPSUBREASON(CI_HADP,8)
/* ADP_Ctrl_Log
* ------------
* Summary: Returns the logging state.
*
* Arguments:
* Send: ()
* Return: (word status, word logsetting)
*
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
* 'logsetting' is a bitmap specifying the level of logging desired,
* described in more detail below. The bits can be ORed together
*/
/* 'logsetting':- */
/* No logging. */
#define ADP_Ctrl_Log_NoLogging (0)
/* RDI level logging. */
#define ADP_Ctrl_Log_RDI (1 << 0)
/* ADP byte level logging. */
#define ADP_Ctrl_Log_ADP (1 << 1)
#define ADP_Ctrl_SetLog ADPSUBREASON(CI_HADP,9)
/* ADP_Ctrl_SetLog
* ---------------
* Summary: Sets the logging state.
*
* Arguments:
* Send: (word logsetting)
* Return: (word status)
*
* 'logsetting' is the same as in ADP_Ctrl_Log above.
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
*/
#define ADP_Ctrl_SemiHosting_SetARMSWI ADPSUBREASON(CI_HADP,10)
/* ADP_Ctrl_SemiHosting_SetARMSWI
* ------------------------------
* Summary: Sets the number of the ARM SWI used for semihosting
*
* Arguments:
* Send: (word ARM_SWI_number)
* Return: (word status)
*
* The debug agent will interpret ARM SWI's with the SWI number specified
* as semihosting SWI's.
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
*
* NOTE: This should only be called if ADP_Info_ChangeableSHSWI didn't return
* an error.
*/
#define ADP_Ctrl_SemiHosting_GetARMSWI ADPSUBREASON(CI_HADP,11)
/* ADP_Ctrl_SemiHosting_GetARMSWI
* ------------------------------
* Summary: Reads the number of the ARM SWI used for semihosting
*
* Arguments:
* Send: ()
* Return: (word status, word ARM_SWI_number)
*
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
* ARM_SWI_number is the SWI number which is used for semihosting.
*
* NOTE: This should only be called if ADP_Info_SemiHosting didn't return
* an error.
*/
#define ADP_Ctrl_SemiHosting_SetThumbSWI ADPSUBREASON(CI_HADP,12)
/* ADP_Ctrl_SemiHosting_SetThumbSWI
* --------------------------------
* Summary: Sets the number of the Thumb SWI used for semihosting
*
* Arguments:
* Send: (word Thumb_SWI_number)
* Return: (word status)
*
* The debug agent will interpret Thumb SWI's with the SWI number specified
* as semihosting SWI's.
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
*
* NOTE: This should only be called if ADP_Info_ChangeableSHSWI didn't return
* an error.
*/
#define ADP_Ctrl_SemiHosting_GetThumbSWI ADPSUBREASON(CI_HADP,13)
/* ADP_Ctrl_SemiHosting_GetThumbSWI
* --------------------------------
* Summary: Reads the number of the Thumb SWI used for semihosting
*
* Arguments:
* Send: ()
* Return: (word status, word ARM_Thumb_number)
*
* 'status' is RDIError_NoError to indicate success, non-zero otherwise.
* Thumb_SWI_number is the SWI number which is used for semihosting.
*
* NOTE: This should only be called if ADP_Info_SemiHosting didn't return
* an error.
*/
#define ADP_Ctrl_Download_Supported ADPSUBREASON(CI_HADP,14)
/* ADP_Ctrl_Download_Supported
* ---------------------------
* Summary: Can configuration be downloaded?
*
* Arguments:
* Send: ()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -