MCPcopy Create free account
hub / github.com/ARMmbed/DAPLink / DAP_ProcessCommand

Function DAP_ProcessCommand

source/daplink/cmsis-dap/DAP.c:1664–1791  ·  view source on GitHub ↗

Process DAP command request and prepare response request: pointer to request data response: pointer to response data return: number of bytes in response (lower 16 bits) number of bytes in request (upper 16 bits)

Source from the content-addressed store, hash-verified

1662// return: number of bytes in response (lower 16 bits)
1663// number of bytes in request (upper 16 bits)
1664uint32_t DAP_ProcessCommand(const uint8_t *request, uint8_t *response) {
1665 uint32_t num;
1666
1667 if ((*request >= ID_DAP_Vendor0) && (*request <= ID_DAP_Vendor31)) {
1668 return DAP_ProcessVendorCommand(request, response);
1669 }
1670
1671 if ((*request >= ID_DAP_VendorExFirst) && (*request <= ID_DAP_VendorExLast)) {
1672 return DAP_ProcessVendorCommandEx(request, response);
1673 }
1674
1675 *response++ = *request;
1676
1677 switch (*request++) {
1678 case ID_DAP_Info:
1679 num = DAP_Info(*request, response+1);
1680 *response = (uint8_t)num;
1681 return ((2U << 16) + 2U + num);
1682
1683 case ID_DAP_HostStatus:
1684 num = DAP_HostStatus(request, response);
1685 break;
1686
1687 case ID_DAP_Connect:
1688 num = DAP_Connect(request, response);
1689 break;
1690 case ID_DAP_Disconnect:
1691 num = DAP_Disconnect(response);
1692 break;
1693
1694 case ID_DAP_Delay:
1695 num = DAP_Delay(request, response);
1696 break;
1697
1698 case ID_DAP_ResetTarget:
1699 num = DAP_ResetTarget(response);
1700 break;
1701
1702 case ID_DAP_SWJ_Pins:
1703 num = DAP_SWJ_Pins(request, response);
1704 break;
1705 case ID_DAP_SWJ_Clock:
1706 num = DAP_SWJ_Clock(request, response);
1707 break;
1708 case ID_DAP_SWJ_Sequence:
1709 num = DAP_SWJ_Sequence(request, response);
1710 break;
1711
1712 case ID_DAP_SWD_Configure:
1713 num = DAP_SWD_Configure(request, response);
1714 break;
1715 case ID_DAP_SWD_Sequence:
1716 num = DAP_SWD_Sequence(request, response);
1717 break;
1718
1719 case ID_DAP_JTAG_Sequence:
1720 num = DAP_JTAG_Sequence(request, response);
1721 break;

Callers 1

DAP_ExecuteCommandFunction · 0.85

Calls 15

DAP_InfoFunction · 0.85
DAP_HostStatusFunction · 0.85
DAP_ConnectFunction · 0.85
DAP_DisconnectFunction · 0.85
DAP_DelayFunction · 0.85
DAP_ResetTargetFunction · 0.85
DAP_SWJ_PinsFunction · 0.85
DAP_SWJ_ClockFunction · 0.85
DAP_SWJ_SequenceFunction · 0.85
DAP_SWD_ConfigureFunction · 0.85
DAP_SWD_SequenceFunction · 0.85

Tested by

no test coverage detected